+ All Categories
Home > Documents > UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and...

UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and...

Date post: 19-Jan-2016
Category:
Upload: paula-potter
View: 223 times
Download: 3 times
Share this document with a friend
Popular Tags:
46
UniMAP Sem II – 10/11 EKT120: Computer Programming 1 Week 1 – Introduction to Computers and Programming Languages (Part 1)
Transcript
Page 1: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

UniMAP Sem II – 10/11

EKT120: Computer Programming 1

Week 1 – Introduction to Computers and

Programming Languages(Part 1)

Page 2: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

UniMAP Sem II – 10/11EKT120: Computer

Programming 2

General Information

Contributes 4 units: 2 hours – lectures 4 hours – labs

Main Objective: Students can independently write,

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

Page 3: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

UniMAP Sem II – 10/11EKT120: Computer

Programming 3

Course Outcomes Ability to define and describe programming

concepts and principles.

Ability to apply programming techniques and tools such as flowchart and pseudo code to design computer programs.

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

Ability to solve engineering related problems using computer programming techniques.

Page 4: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 4

Overall Evaluation 4 main components:

Theoretical Tests (2) => 20% Lab Assignments (4) => 30% Lab Test => 10% Final Exam => 40%

Assignments are assessed individually The two tests are written tests

UniMAP Sem II – 10/11

Page 5: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 5

References Deitel & Deitel, Sudin, S., Ahmad, R.

Badlishah, and Yacob, Y., “C How to Program”, Pearson-Prentice Hall, 2006.

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

UniMAP Sem II – 10/11

Page 6: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 6

Notes This course is NOT about the

language per se, it is about problem solving, analytical skills and to apply C to solve problems.

Write C program in Linux environment.

Do early reading. Do not hesitate to ask during

lecture sessions.UniMAP Sem II – 10/11

Page 7: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 7

Outline Computer Fundamentals

Computer organization and hardware Computer software

Programming Languages Machine language Assembly language High-level language

Algorithm : pseudo code and flowchart Control Structures Simple C Program

UniMAP Sem II – 10/11

Page 8: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 8

Computer Fundamentals Computer system is divided into

hardware and software. Hardware refers to physical components

of computer which are: Main Memory Central Processing Unit (CPU) Input Device Output Device Secondary Memory Device

UniMAP Sem II – 10/11

Page 9: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

Figure 1.1 The Intel Atom processor chip contains the full circuitry of a central processing unit in an integrated circuit whose small size and low power requirements make it

suitable for use in mobile internet devices. (Intel Corporation Pressroom Photo Archives)

9EKT120: Computer

ProgrammingUniMAP Sem II – 10/11

Page 10: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

Figure 1.2

(a) Notebook Computer (HP Pavilion dv5©, Courtesy of Hewlett-Packard).  

(b) Palmtop Computer (iPhone 3G©, Courtesy of Apple, Inc.)

(c) Desktop Computer (iMac©, Courtesy of Apple, Inc.)

EKT120: Computer ProgrammingUniMAP Sem II – 10/11

Page 11: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

Figure 1.3 Components of a Computer

EKT120: Computer ProgrammingUniMAP Sem II – 10/11

Page 12: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 12

Computer Hardware

Input Device Output Device

Secondary Memory

Control Unit

Arithmetic and Logic Unit

Register

CPU

Main Memory

UniMAP Sem II – 10/11

Page 13: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 13

Central Processing Unit (CPU) CPU is the computer’s administrator

and is responsible for supervising the operation of the other sections

Consists of two functional units; control unit and arithmetic-logic unit (ALU)

Control unit supervises all activities of the computer system

ALU performs basic arithmetic operations and comparison operations

UniMAP Sem II – 10/11

Page 14: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 14

Main Memory

keeps information from the input unit also keeps processed information until

it can be placed on output devices all programs must be loaded into main

memory before they can be executed and all data must be brought into main memory before it can be manipulated.

UniMAP Sem II – 10/11

Page 15: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 15

Main Memory Main memory can be further

classified into two types: Random Access Memory (RAM)

information in RAM will be lost when the computer is turned-off.

Read Only Memory (ROM) It has been set during manufacturing

process. ROM usually contains instructions and information considered to be fundamental to the computer.

UniMAP Sem II – 10/11

Page 16: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

Figure 1.4 1000 Memory Cells in Main Memory

EKT120: Computer ProgrammingUniMAP Sem II – 10/11

Page 17: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 17

Secondary Memory

Main memory is only used during processing following certain instructions

Permanent information is NOT stored in main memory but is stored in secondary memory E.g. program file, data file, etc E.g. hard disk, diskette, CD

UniMAP Sem II – 10/11

Page 18: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

Figure 1.5 Secondary Storage Media

EKT120: Computer ProgrammingUniMAP Sem II – 10/11

Page 19: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 19

Input/Output Devices

Input devices - feed data and programs into computers E.g. keyboard, mouse, touch screen,

scanners Output devices - display results

produced by computer E.g. monitor, printer, speaker

UniMAP Sem II – 10/11

Page 20: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 20

Software

As a complement to hardware, computer system needs software to solve problems.

Software are classified into : System software Application software

UniMAP Sem II – 10/11

Page 21: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 21

Software System software : manages the

computer and its peripheral devices (hardware) E.g. Operating system (OS) Text editor Pre-processor Language translator Linker Loader

UniMAP Sem II – 10/11

Page 22: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 22

Software Application software : performs specific

tasks There are two types:

Program to solve specific problems Program written by user to solve specified

problem E.g. word processor, desktop publishing

software, spreadsheets, database, graphics, communication, programs perform specific tasks such as accounting, scientific, engineering, education, etc

UniMAP Sem II – 10/11

Page 23: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 23

Programming Languages

Programming language is divided into three categories: Machine Language Assembly Language High-Level Language

UniMAP Sem II – 10/11

Page 24: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 24

Machine Language Language understood by the computer Bunch of 0’s and 1’s Program written in machine language

can be executed without being translated Nevertheless, hard to learn because it is

written in 0’s and 1’s Program is too long to solve simple problem Machine-dependant and not portable E.g.

0101 0001 1100 0100 1011 1000 0101 1000 0101 1001 1100 0111

UniMAP Sem II – 10/11

Page 25: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

Figure 1.6 Relationship Between a Byte and a Bit

EKT120: Computer ProgrammingUniMAP Sem II – 10/11

Page 26: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 26

Assembly Language

Strings of 0’s and 1’s are replaced into instructions which resemble English language to represent computer operation element

Easier to understand and write E.g. LOAD rate

MULT hourSTOR wages

UniMAP Sem II – 10/11

Page 27: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 27

Assembly Language

Nevertheless, needs language translator called Assembler to change Assembly Language to Machine Code for execution purpose

still too long and not portable

UniMAP Sem II – 10/11

Page 28: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 28

High-Level Language Improves weaknesses in Machine

Language and Assembly Language Portable Written in one instruction to carry out

several instructions in machine level E.g. discount_price = price – discount;

Must be changed to machine code before executed, needs compiler : a system software that translates source program to object program

UniMAP Sem II – 10/11

Page 29: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 29

Algorithms The solution to any computing problem

involves executing series of actions in a specific order

Pseudo code : artificial and informal language that helps programmers develop algorithms

E.g. if student’s grade is greater than or equal to 50

Print “Pass” else

Print “Fail”

UniMAP Sem II – 10/11

Page 30: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 30

Algorithms

Flowchart: visual-form of an algorithm

E.g.

Process 2Decision

Data

Process 1

Begin

End

UniMAP Sem II – 10/11

Page 31: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 31

Algorithm-Basic symbols in a flowchart

Start/End

Process

Input/Output

Decision

Flow direction

Connector

UniMAP Sem II – 10/11

Page 32: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 32

Flowchart-(example)

Start

read num1, num2

sum=num1+num2

print sum

End

UniMAP Sem II – 10/11

Page 33: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 33

TRY THIS!!!

Write a pseudo code, flowchart and program that calculates and prints the SUM of two integers A and B.

UniMAP Sem II – 10/11

Page 34: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 34

Pseudo code

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

Flowchart

Begin

Input A,B

CalculateA + B

Print SUM

End

UniMAP Sem II – 10/11

Page 35: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 35

Control Structure

All programs could be written in terms of three control structures: Sequence structure Selection structure Repetition structure

UniMAP Sem II – 10/11

Page 36: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 36

Sequence Structure

Is a series of steps executed sequentially by default

Read num1, num2

Calculate total=num1+num2

Print total

Pseudo code Flowchart

Read num1, num2

total = num1+num2

print total

UniMAP Sem II – 10/11

Page 37: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 37

Selection Structure

Used to choose among alternative courses of action

C has three types: if, if..else, and switch

UniMAP Sem I I– 10/11

Page 38: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 38

The if Selection Structure

“if” structure is a single-entry/single-exit structure

true

false

grade >= 60

print “Pass”

 

If student’s grade is greater than or equal to 60

Print “Pass”

UniMAP Sem II – 10/11

Page 39: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 39

The if..else Selection Structure

Specifies an action to be performed both when the condition is true and when it is false

truefalse

print “Fail” print “Pass”

grade >= 60

If student’s grade is greater than or equal to 60

Print “Pass”else

Print “Fail”

UniMAP Sem II – 10/11

Page 40: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 40

Repetition Structure

Specifies a block of one or more statements that are repeatedly executed until a condition is satisfied

Three types : while, for, do-while

UniMAP Sem II– 10/11

Page 41: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 41

The while Repetition Structure Programmer specifies an action is to be

repeated while some conditions remain true

product <= 1000 product = 2 * producttrue

falseWhile product is less than or equal 1000

calculate product=2 * product

UniMAP Sem II – 10/11

Page 42: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 42

Basics of a Typical C Program Development Environment

UniMAP Sem II – 10/11

Page 43: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

Figure 1.7 Entering, Translating, and Running a High-Level Language Program

EKT120: Computer ProgrammingUniMAP Sem II – 10/11

Page 44: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

Figure 1.8 Flow of Information During Program Execution

EKT120: Computer ProgrammingUniMAP Sem II – 10/11

Page 45: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 45

Simple C Program: Program to add two numbers

#include <stdio.h>int main(void){ int dA, dB, dSum; printf (“input first integer \n”); scanf (“%d”, &dA) printf (“input second integer \n”); scanf (“%d”, &dB) dSum = dA + dB;

printf (“Sum is %d\n”, dSum); return 0;}

OUTPUT

Input first integer

39

Input second integer

27

Sum is 66

UniMAP Sem II – 10/11

Page 46: UniMAP Sem II – 10/11EKT120: Computer Programming1 Week 1 – Introduction to Computers and Programming Languages (Part 1)

EKT120: Computer Programming 46

End Week 1 – Session 1

Q & A!

UniMAP Sem II – 10/11


Recommended