Presentation is loading. Please wait.

Presentation is loading. Please wait.

Week 1 – Introduction to Computers and Programming Languages (Part 1)

Similar presentations


Presentation on theme: "Week 1 – Introduction to Computers and Programming Languages (Part 1)"— Presentation transcript:

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

2 EKT120: Computer Programming
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. UniMAP Sem II – 09/10 EKT120: Computer Programming

3 EKT120: Computer Programming
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. UniMAP Sem II – 09/10 EKT120: Computer Programming

4 EKT120: Computer Programming
Overall Evaluation 4 main components: Theoretical Tests (2) => 50%‏ Lab Assignments (5) / Lab Test => 30% Lab Project => 20%‏ Assignments are assessed individually The two tests are written tests Lab Project : Group of 3 students (max) UniMAP Sem II – 09/10 EKT120: Computer Programming

5 EKT120: Computer Programming
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 : UniMAP Sem II – 09/10 EKT120: Computer Programming

6 EKT120: Computer Programming
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. How to download lecture notes and lab exercises from portal!!! UniMAP Sem II – 09/10 EKT120: Computer Programming

7 EKT120: Computer Programming
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 – 09/10 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 – 09/10 EKT120: Computer Programming

9 EKT120: Computer Programming
Figure 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) UniMAP Sem II – 09/10 EKT120: Computer Programming

10 EKT120: Computer Programming
Figure (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.) UniMAP Sem II – 09/10 EKT120: Computer Programming

11 Figure 1.3 Components of a Computer
UniMAP Sem II – 09/10 EKT120: Computer Programming

12 Computer Hardware CPU Control Unit Input Device
Arithmetic and Logic Unit Output Device Register Main Memory Secondary Memory UniMAP Sem II – 09/10 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 – 09/10 EKT120: Computer Programming

14 EKT120: Computer Programming
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 – 09/10 EKT120: Computer Programming

15 EKT120: Computer Programming
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 – 09/10 EKT120: Computer Programming

16 Figure 1.4 1000 Memory Cells in Main Memory
UniMAP Sem II – 09/10 EKT120: Computer Programming

17 EKT120: Computer Programming
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 – 09/10 EKT120: Computer Programming

18 Figure 1.5 Secondary Storage Media
UniMAP Sem II – 09/10 EKT120: Computer Programming

19 EKT120: Computer Programming
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 – 09/10 EKT120: Computer Programming

20 EKT120: Computer Programming
Software As a complement to hardware, computer system needs software to solve problems. Software are classified into : System software Application software UniMAP Sem II – 09/10 EKT120: Computer Programming

21 EKT120: Computer Programming
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 – 09/10 EKT120: Computer Programming

22 EKT120: Computer Programming
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 – 09/10 EKT120: Computer Programming

23 Programming Languages
Programming language is divided into three categories: Machine Language Assembly Language High-Level Language UniMAP Sem II – 09/10 EKT120: Computer Programming

24 EKT120: Computer Programming
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. UniMAP Sem II – 09/10 EKT120: Computer Programming

25 Figure 1.6 Relationship Between a Byte and a Bit
UniMAP Sem II – 09/10 EKT120: Computer Programming

26 EKT120: Computer Programming
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 hour STOR wages UniMAP Sem II – 09/10 EKT120: Computer Programming

27 EKT120: Computer Programming
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 – 09/10 EKT120: Computer Programming

28 EKT120: Computer Programming
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 – 09/10 EKT120: Computer Programming

29 EKT120: Computer Programming
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 – 09/10 EKT120: Computer Programming

30 EKT120: Computer Programming
Algorithms Flowchart: visual-form of an algorithm E.g. Begin Data Process 1 Decision Process 2 End UniMAP Sem II – 09/10 EKT120: Computer Programming

31 Algorithm-Basic symbols in a flowchart
Flow direction Start/End Process Connector Input/Output Decision UniMAP Sem II – 09/10 EKT120: Computer Programming

32 Flowchart-(example)‏
Start read num1, num2 sum=num1+num2 print sum End UniMAP Sem II – 09/10 EKT120: Computer Programming

33 EKT120: Computer Programming
TRY THIS!!! Write a pseudo code, flowchart and program that calculates and prints the SUM of two integers A and B. UniMAP Sem II – 09/10 EKT120: Computer Programming

34 EKT120: Computer Programming
Flowchart Begin Input A,B Calculate A + B Print SUM End Pseudo code Begin Input A and B Calculate A + B Print result of SUM End UniMAP Sem II – 09/10 EKT120: Computer Programming

35 EKT120: Computer Programming
Control Structure All programs could be written in terms of three control structures: Sequence structure Selection structure Repetition structure UniMAP Sem II – 09/10 EKT120: Computer Programming

36 EKT120: Computer Programming
Sequence Structure Is a series of steps executed sequentially by default Pseudo code Flowchart Read num1, num2 Calculate total=num1+num2 Print total Read num1, num2 total = num1+num2 print total UniMAP Sem II – 09/10 EKT120: Computer Programming

37 EKT120: Computer Programming
Selection Structure Used to choose among alternative courses of action C has three types: if, if..else, and switch UniMAP Sem II – 09/10 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 – 09/10 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 If student’s grade is greater than or equal to 60 Print “Pass” else Print “Fail” true false print “Fail” print “Pass” grade >= 60 UniMAP Sem II – 09/10 EKT120: Computer Programming

40 EKT120: Computer Programming
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 – 09/10 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 * product true false While product is less than or equal 1000 calculate product=2 * product UniMAP Sem II – 09/10 EKT120: Computer Programming

42 Basics of a Typical C Program Development Environment
UniMAP Sem II – 09/10 EKT120: Computer Programming

43 EKT120: Computer Programming
Figure 1.7 Entering, Translating, and Running a High-Level Language Program UniMAP Sem II – 09/10 EKT120: Computer Programming

44 Figure 1.8 Flow of Information During Program Execution
UniMAP Sem II – 09/10 EKT120: Computer Programming

45 Simple C Program: Program to add two numbers
#include <stdio.h> int main(void)‏ { int A, B, SUM; printf (“input first integer \n”); scanf (“%d”, &A)‏ printf (“input second integer \n”); scanf (“%d”, &B)‏ SUM = A + B; printf (“Sum is %d\n”, SUM); return 0; } OUTPUT Input first integer 39 Input second integer 27 Sum is 66 Things to do: 1. Download lecture notes from portal 2. Download lab exercises for Week 1 from portal UniMAP Sem II – 09/10 EKT120: Computer Programming

46 EKT120: Computer Programming
End Week 1 – Session 1 Q & A! UniMAP Sem II – 09/10 EKT120: Computer Programming


Download ppt "Week 1 – Introduction to Computers and Programming Languages (Part 1)"

Similar presentations


Ads by Google