Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Introduction to Computer Programming Featuring: C language.

Similar presentations

Presentation on theme: "1 Introduction to Computer Programming Featuring: C language."— Presentation transcript:

1 1 Introduction to Computer Programming Featuring: C language

2 2 What is computer? Computer is a device which can process data, perform computation and logical operations and gives output A computer performs the above using programs and without human intervention

3 3 History and Hardware Babbages analytical engine (1822) Atanasoff-Berry Computer (ABC, 1937) –Human operator manipulated external wiring Electrical Numerical Integrator and Computer (ENIAC, 1946) –Vacuum tubes Mark I (1944) –Mechanical relay switches Electronic Delayed Storage Automatic Computer (EDSAC, 1949) –Incorporated a form of memory

4 4 History and Hardware (continued)

5 5 Computer Hardware & Software Hardware – the physical devices of a computer Software – the programs or intelligence of the computer

6 6 Software Software – a group of programs Program – a specific set of instructions to the computer to perform a task Programmer – a person who writes a program

7 7 Computer Organization Input Unit Output Unit Memory Unit Arithmetic Logic Unit (ALU) Central Processing Unit (CPU) Secondary Storage unit

8 8 Components

9 9 Memory and data Memory unit: Area to store data and instructions Data stored as On or Off pulses

10 10 Data representation Represented by a combination of eight binary digits (1s and 0s) ASCII – American Standard Code for Information Interchange

11 11 ASCII representation From to ; each assigned to a unique character. An integer –is stored in memory in its binary equivalence –read as character using its ASCII character

12 12 ASCII Table

13 13 Evolution of Operating System Operating System –A program that controls the execution of an application program and acts as an interface between the user of a computer and a computer hardware. Evolution of Operating system –Simple Batch System –Multi Programmed Batch System –Time Sharing System –Distributed System –Real-time Operating System (Unix, Windows)


15 15 Programming Languages Computer program: data and instructions used to operate a computer and produce a specific result Programming: writing instructions in a language that the computer can respond to and that other programmers can understand Programming language: set of instructions that can be used to construct a program Source programs/Source code: Programs written in a computer language

16 16 Three General Types of Programming Languages: 1940s – Machine Languages –A natural language of a computer, machine dependent –the only language that can be understood and processed directly by computer 1950s – Symbolic/Assembly languages –use of a series of mnemonics to represent commonly used instructions 1960s – High-Level Languages –E.g. COBOL, FORTRAN, C, Java Note: Machine and assembly languages are low-level languages because they both use instructions that are directly tied to one type of computer

17 17 Machine Language Executable program: program that can operate a computer Executable programs are written with binary numbers, which is a computers internal language (machine language) –An example of a simple machine language program containing two instructions is: Opcode is short for operation code; tells the computer the operation to be performed

18 18 Assembly Language Assembly language: uses the substitution of word-like symbols for the opcodes, and decimal numbers and labels for memory addresses LOAD first ADD second MUL factor STORE answer

19 19 Assembly Language (continued)

20 20 Earlier high-level programming languages COBOL (Common Business Oriented Language) –used primarily for business processing FORTRAN (Formula Translation) –primarily perform mathematical calculations

21 21 Later High-Level Programming Languages PL/I, BASIC, Pascal, Prolog, C, Ada C++, Visual Basic HTML, Java

22 22 Writing, Editing, Compiling and Linking Programs Step1 – Write and edit programs Step2 – Compile programs –Translate source file into machine language –The output produced by the compiler is called an object program (machine language version of the source code) Step3 – Linking Programs - combines additional machine language code with the object program to create a final executable program

23 23 Writing, Editing, Compiling and Linking Programs

24 24 Procedural and Object- Oriented Languages Procedural language: instructions are used to create self-contained units, called procedures –Procedure: accepts data as input and transforms it in some manner to produce a specific result as output Also called function or method Procedures conforming to structure guidelines are known as structured procedures

25 25 Procedural and Object- Oriented Languages (continued) Structured language: high-level procedural language (e.g., C) that enforces structured procedures Object-oriented languages: languages with object orientation such as C++, Java, Visual Basic, and C#

26 26 Procedural and Object- Oriented Languages (continued)

27 27 Structured programming A technique for organizing and coding computer programs in which a hierarchy of modules is usedcoding computer A disciplined approach in writing programs so that it is easier to test, debug and modify. Example: –Pascal, Ada, C

28 28 History of C language Developed in the 1970s at AT&T Bell Laboratories by K. Thompson, D. Ritchie, and B. Kernighan Evolved from a language called B in the seventies at AT&T Bell labs First implemented on the UNIX operating system Written to help non-scientists develop computer programs High-level structured language –Can also access the internal hardware of a computer C permits a programmer to see into a computers memory and directly alter data stored in it Standard maintained by the American National Standards Institute (ANSI) In the 1980s, Bjarne Stroustrup (working at AT&T) developed C++ –C with object-oriented capabilities

29 29 The C language General purpose programming language Modern control flow and data structure Uses economy of expression Convenient and effective Useful for writing compilers and operating systems

30 30 Characteristic of C language Features structured programming –Top-down: System overview -> Subsystem refined in detail –Advantages of top-down programming: Separating the low level work from the higher level objects leads to a modular design. Modular design means development can be self contained. Having "skeleton" code illustrates clearly how low level modules integrate. Code is easier to follow, since it is written methodically and with purpose.

31 31 The Making of A Quality Program 1.Readability understandable, with comments and documentations, using conventions like name of variables and indentations 2.Modularity problems divided into sub-problems and assembled in a logical order 3.Efficiency runs faster and smaller size of program

32 32 4.Robustness Be able to handle all situations in a graceful manner Not to crash in unexpected situations or go to infinite loops 5.Usability correct, meets the end-user requirement The Making of A Quality Program (cont.)

33 33 Q & A

Download ppt "1 Introduction to Computer Programming Featuring: C language."

Similar presentations

Ads by Google