ekt150 introduction to computer programming introduction to computer and computer programming dr....

37
EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin [email protected]

Upload: amber-matthews

Post on 30-Dec-2015

242 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

EKT150 INTRODUCTION TO COMPUTER PROGRAMMING

Introduction to Computer and Computer Programming

Dr. Nik Adilah [email protected].

my

Page 2: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

• Contributes 3 units:– 2 hours lectures– 2 hours labs

• Main Objective:– Students can independently write, read, compile, debug

and execute computer programs to solve problems, especially engineering related problems.

COURSE INFORMATION

Page 3: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

COURSE OUTCOME

1. Ability to define and describe programming concepts and principles.

2. Ability to apply GNU/Linux for coding, compiling, executing and debugging computer programs.

3. Ability to analyze and solve engineering related problems using computer programming techniques

4. Ability to evaluate programming techniques and tools to design computer programs.

Page 4: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

ASSESSMENT

• 4 main components:– Theoretical Tests 20%– Lab Assignments 20%– Lab Test 10%– Final Exam 50%

• Assignments are assessed individually (in lab assignment) • Theoretical tests are written tests• Attendances are compulsory!

Page 5: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

REFERENCES

• Deitel & Deitel, “C How to Program”, International Edition, Pearson-Prentice Hall, 2010.

• Cheng, H., “C for Engineers and Scientists”, McGraw Hill, 2010.

• Hanly, J.R. and Koffman, E.B., “C Program Design for Engineers”, 2nd Ed., Addison-Wesley, 2001.

ISBN : 0321204174

Page 6: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

NOTES

• This course is NOT about the language per se, it is about analytical skills and to apply programming to solve problems.

• Write C program in Linux environment/GNU compiler applications

• Do early reading• Do not hesitate to ask during lecture sessions

6

Page 7: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

LECTURE OUTLINE

1. Introduction to Computer

2. Introduction to Computer Programming

3. Introduction to C Programming Language

7

Page 8: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

A Brief Look At Computer Computer

is a device that receives input, stores and processes data, and provides output in a useful format.

Computers process data according to sets of instructions called computer programs

Example: laptops, PCs, mainframes, mobile phones, washing-machines, TV sets, cars contain computers

Hardware Physical components of a computer Example: Keyboard, screen, mouse, disks, memory, CD-ROM, and

processing units

Software Programs that run on a computer Example: Operating System such as windows XP -Vista -7, Word

processing packages such as MS Word, registration program

Page 9: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Computer Hardware

Page 10: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Exercise: Distinguishing between input-process and output-storageThe scenario: “At the end of each month, a clerk enters the employee name, number of days present and absent, and the number of overtime done in the system. The system then calculates the normal salary, the amount for overtime and the total salary. The clerk then saves the information in the computer hard disk, and takes a backup on a cd. A report is produced for the clerk to be shown to the manager. “

Task: Identify the following for that particular system

1. Input2. Process(es) 3. Output4. Storage

Page 11: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Exercise: Distinguishing between input-process and output-storageThe scenario: “At the end of each month, a clerk enters the employee name, number of days present and absent, and the number of overtime done in the system. The system then calculates the normal salary, the amount for overtime and the total salary. The clerk then saves the information in the computer hard disk, and takes a backup on a cd. A report is produced for the clerk to be shown to the manager. “

Task: Identify the following for that particular system

1. Input: the employee name, number of days present and absent, the number of overtime

2. Process(es): calculate normal income, calculate amount for overtime, calculate total salary

3. Output: Report4. Storage: Harddisk, CD-ROM

Page 12: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

How Computer Processes Information?

Computers are NOT intelligent Computers do what we tell them to do they don’t do anything by

themselves. We must clearly tell a computer what to do in a step by step

manner using a programming language.

Computers only understand “electronic” High voltage/low voltage – The machine language Machine language is binary (two values: high/low) 1’s and 0’s

Page 13: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Why We Use Computer?

• Computers produce fast, accurate and reliable results.• While computers do the boring, repetitive, ordinary tasks, we can

spend our efforts and time to work on more interesting and creative tasks.

• The use of computers in business and manufacturing decreases the cost of goods and services produced.

• It is more difficult and needs more time to find or grow up a skill-full labour in IT industry, while buying an additional computer and installing the required software on is easier and cheaper.

Page 14: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

INTRODUCTION TO COMPUTER PROGRAMMING

Page 15: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Programming / Program / Programmer

• Programming in general term is planning or implementation of a task or event command. In the computing field, is instructing a computer to perform specific tasks.

• Computer programming can be defined as the process of planning a set of sequence commands to be executed by a computer.

• Program be defined as a set of sequence commands that have been determined to be executed by a computer.

• Computers are just electronic devices that have the power to perform difficult tasks but they do not ‘KNOW’ what to do therefore - programmers tell the computers what to do by writing programs

Page 16: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Types of Programming Languages Machine language

Strings of numbers giving machine specific instructions

Example: +1300042774, +1400593419, +1200274027

Assembly language English-like abbreviations representing

elementary computer operations (translated via assemblers)

Example: LOAD BASEPAY, ADD OVERPAY High level language

Codes similar to everyday English. Use mathematical notations (translated via compilers)

Example Code: grossPay = basePay + overTimePay

Example high level languages: C, C++, Java

Page 17: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Programming Problem

• Problem that can be solve using programming language.• Suppose you want to add 34 and 56, this is easy. But to add 100 numbers is

difficult for us need to use calculator or paper and pencil. Or we can write a program for computer to help us.

• Can these problems solve by computer programming?• Converting units from kilograms to grams.• Counting the number of cars on a highway.• Finding a life partner• Total rain in a week• How long we live• What we want to eat for dinner

Page 18: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Problem Solving using Programming

Page 19: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Steps of Programming1. Requirement Specification: Eliminate ambiguities, Clearly

understand the problem

2. Analyse the problem: Understand the inputs, outputs and processes used for manipulating the data, formulas and constraints

3. Design: Write the algorithm (flowchart or pseudocode) to represent the solution

4. Implement the algorithm: Write a program

5. Testing and Verification: Check the program

6. Documentation

Page 20: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Properties of Well Designed Programs

Well designed programs must :

Correct and accurate

Easy to understand

Easy to maintain

and update

Efficient Reliable Flexible

Page 21: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

INTRODUCTION TO C PROGRAMMING LANGUAGE

Page 22: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Programming Basics

• Computer programs are a detailed set of instructions given to the computer

• Programs are constructed based on an ALGORITHM which is an outline of how your computer program will work

• Algorithms are a problem solving procedure that consist of:

1. What actions you want the computer to perform2. The order of those actions should happen in

22

Page 23: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Creating Algorithms• To solve problem using algorithms, we have to:

–READ and understand the problem–THINK about different solutions to the

problem–DESIGN an approach that will solve the

problem– IMPLEMENT that design–TEST to see if it works

23

If needed

Page 24: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Form of Algorithms

• The constructs used to build algorithms can be described in two different ways:1. Pseudo code2. Flowchart

24

Page 25: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

1. Pseudo Code

• When the algorithm is written out as a well-thought series of steps, it is called PSEUDO CODE• It is written in easy to understand language (i.e.

ENGLISH)• It is written very similar to the way that you would code

it into your 3rd Generation Language (i.e. C Language)

25

Page 27: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

INSTRUCTIONS OF HOW TO EAT A BANANA:

1. Using your hand, get a yellow crescent-shaped fruit called a “banana”

2. Peel the outer skin off the banana

3. Eat the bananai. Put a small section of banana in your mouthii. Bite down on the bananaiii. Chew the banana by opening and closing your mouthiv. Once the banana has been chewed, swallow the bananav. Repeat until banana is finished

4. Throw out the used banana peel27

Example 1: Pseudo Code

Page 28: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

RESULT• Mak Minah arrives in a great

mood ready to work

RESULT• Mak Minah arrives in not too

great a mood since she’s soaking wet

WAKE UP MAK MINAH 1• Get out of bed• Take off pyjamas• Take a shower• Get dressed• Eat breakfast• Drive to school

WAKE UP MAK MINAH 2• Get out of bed• Take off pyjamas• Get dressed• Take a shower• Eat breakfast• Drive to school

28

Example 2: Pseudo Code

The order of actions are very

important!

Page 29: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

2. Flow Chart

• The algorithm can also be written as a FLOW CHART• The flow chart is a graphic organiser (a picture that

helps organize your thoughts) • It uses a collection of basic symbols that are used to

organize your algorithm• These symbols are connected by arrows that show

how the algorithm “flows”

29

Page 30: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Visual Form of Flow Chart• Flowchart: visual-form of an algorithm Example:

30

Process 2Decision

Input Data

Process 1

Begin

Output Result

End

Page 31: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Algorithms: Flow Chart• BASIC SYMBOLS IN FLOW CHART

31

TERMINAL: Start/End of a program

PROCESSING: shows any mathematical operation (e.g. addition, substraction, etc)

INPUT/OUTPUT: – where the user of the program is asked for information (INPUT) or where the program displays a result (OUTPUT)

DECISION: represents any action where the computer is making a decision

Flow direction

Page 32: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Algorithms: Pseudo Code & Flow Chart

Example 1• Write an algorithm that display a message to the screen as

“Hello World!”.

32

• Begin• Print Message• End

Begin

Print “Hello World!”

End

Pseudo Code Flow Chart

Page 33: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Example 2:Write a flowchart that calculates and prints the SUM of two integers A and B.

• Begin• Input A and B• Calculate A + B• Print result of SUM• End

Begin

Input A, B

Calculate A + B

Print SUM

End

Pseudo Code Flow Chart

33

Algorithms: Pseudo Code & Flow Chart

Page 34: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

Exercises

1) Write an algorithm (pseudo code and flow chart) to read input of 3 test marks, calculate the average and display the final marks.

2) Additional to (1), if the final marks is 60 and above, display mark and “Passed”, otherwise display mark and “Failed”.

Page 35: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

• Begin• Input test1, test2 and test3• Calculate average• Print result of average• End

Begin

Input test1,test2 & test3

Calculate average= (test1+test2+test3)/3

Print Average

End

Pseudo Code Flow Chart

35

Answer Exercise (1)

Page 36: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

• Begin• Input test1, test2 and test3• Calculate average• If average >=60

• Display average & “Passed”• Otherwise

• Display average & “Failed”• End

Pseudo Code Flow Chart

36

Answer Exercise (2)

Begin

Input test1,test2 & test3

Calculate average= (test1+test2+test3)/3

Average >= 60

Display average and “Passed”

Display average and “Failed”

End

True False

Page 37: EKT150 INTRODUCTION TO COMPUTER PROGRAMMING Introduction to Computer and Computer Programming Dr. Nik Adilah Hanin adilahhanin@unimap.edu.my

References

1) Yuksel Uckan, “Problem Solving Using C, Structured Programming Techniques”, McGraw-Hill

2) Deitel and Deitel, C: “How to Program”, McGraw-Hill

3) Cheng, H., “C for Engineers and Scientists”, McGraw Hill, 2010

4) Hanly, J.R. and Koffman, E.B., “C Program Design for Engineers”, 2nd Ed., Addison-Wesley, 2001, ISBN : 0321204174