Download presentation
Presentation is loading. Please wait.
1
Introduction to Computer Programming
Featuring: C language
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
History and Hardware Babbage’s 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
History and Hardware (continued)
5
Computer Hardware & Software
Hardware – the physical devices of a computer Software – the programs or “intelligence” of the computer
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
Computer Organization
Input Unit Output Unit Memory Unit Arithmetic Logic Unit (ALU) Central Processing Unit (CPU) Secondary Storage unit
8
Components
9
Memory and data Memory unit: Area to store data and instructions
Data stored as On or Off pulses
10
Data representation Represented by a combination of eight binary digits (1s and 0s) ASCII – American Standard Code for Information Interchange
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
ASCII Table
13
PROGRAMMING LANGUAGES
14
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
15
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
16
Machine Language Executable program: program that can operate a computer Executable programs are written with binary numbers, which is a computer’s 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
17
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
18
Assembly Language (continued)
19
Earlier high-level programming languages
COBOL (Common Business Oriented Language) used primarily for business processing FORTRAN (Formula Translation) primarily perform mathematical calculations
20
Later High-Level Programming Languages
PL/I, BASIC, Pascal, Prolog, C, Ada C++, Visual Basic HTML, Java
21
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
22
Writing, Editing, Compiling and Linking Programs
23
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
24
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#
25
Procedural and Object-Oriented Languages (continued)
26
Structured programming
A technique for organizing and coding computer programs in which a hierarchy of modules is used A disciplined approach in writing programs so that it is easier to test, debug and modify. Example: Pascal, Ada, C
27
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 computer’s 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
28
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
29
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.
30
The Making of A Quality Program
Readability understandable, with comments and documentations, using conventions like name of variables and indentations Modularity problems divided into sub-problems and assembled in a logical order Efficiency runs faster and smaller size of program
31
The Making of A Quality Program (cont.)
Robustness Be able to handle all situations in a graceful manner Not to crash in unexpected situations or go to infinite loops Usability correct, meets the end-user requirement
32
Q & A
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.