0% found this document useful (0 votes)
52 views

Programming Lecture 01

The document outlines the fundamentals of computer programming, covering topics such as problem solving, programming languages, and the roles of compilers and interpreters. It explains the differences between low-level, middle-level, and high-level languages, as well as the importance of debugging and the concept of bugs in programming. Additionally, it emphasizes the significance of programming in enhancing analytical and problem-solving skills.

Uploaded by

mr.problemsldr
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views

Programming Lecture 01

The document outlines the fundamentals of computer programming, covering topics such as problem solving, programming languages, and the roles of compilers and interpreters. It explains the differences between low-level, middle-level, and high-level languages, as well as the importance of debugging and the concept of bugs in programming. Additionally, it emphasizes the significance of programming in enhancing analytical and problem-solving skills.

Uploaded by

mr.problemsldr
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

Lecture – 01 & 02

Computer Programming
Second Semester
Contents
• Introduction to problem solving,

• a brief review of Von-Neumann architecture,

• Introduction to programming,

• role of compiler and linker,

• introduction to algorithms,

• basic data types and variables,

• input/output constructs, arithmetic,

• comparison and logical operators,

2
Contents
• conditional statements and execution flow for conditional statements,

• repetitive statements and execution flow for repetitive statements,

• lists and their memory organization,

• multi- dimensional lists, introduction to modular programming,

• function definition and calling,

• stack rolling and unrolling,

• string and string operations,

• pointers/references,

• static and dynamic memory allocation,

• File I/O operations


2
Computer Programming

4
Computer Programming

• It is the process of giving instructions (commands) to the computer to do a


meaningful task.

• It is an act of teaching the computer on how to do a task.

• The art and science of creating instructions for a computer to follow.

• Creating a sequence of instructions to enable the computer to do something.

5
Why Programming?

6
Why Programming?
• Computer is just a dumb machine made up of different electronic
components. It is like a box which cannot do anything by itself.

• It is the user who tells the computer “what it has to do?”

• If we need our computer to perform some task, we first have to teach the
computer in detail “how it will accomplish that task?”

• Once the computer is taught about a particular task, it will completely obey
it but cannot do anything that it is not taught to.
7
Why Programming?
• Like the humans, we can teach the computer through communicating with it
using a particular language.

• The language that computer understands is machine language, also called


as binary language. Machine language is the language of 0s and 1s.

• We give detailed instructions to the computer to solve a particular task.


Programming is the term that refers to teaching, instructing or giving
commands to the computer.
8
Why Programming?
• Programming is more about problem solving skills than writing the code
itself.

• Programming teaches you how to understand, analyze and solve the


problems. It enhances your analytical reasoning abilities and helps you cope
with daily real life problems as well.

• Hence learning to program is important because it develops analytical and


problem solving abilities.

9
Programmer
• The person who gives the instructions (commands) to the computer is
known as the programmer.

• A person who designs and writes computer programs.

10
Instruction

DO THIS!

11
Instruction
• Instruction is any command given to the computer.
• For example:
1) Add two variables A and B
2) Display result
3) Read file

• Each of these is the individual instruction to the computer.

12
Program

NOW DO THIS!
NOW DO THIS!
NOW DO THIS!
NOW DO THIS!
NOW DO THIS!

13
Program
• Program is a set (collection) of instruction to do a meaningful task.

• A sequence of instructions that are interpreted and executed by a computer.


It can be made of a single or hundred of instructions.

• For example: In order to teach the computer on how to calculate average of


three numbers? We need to give multiple instructions to the computer to do
the task.

14
Program
Instruction 1: Get first number from the user and store it in A variable

Instruction 2: Get second number from the user and store it in B variable

Instruction 3: Get third number from the user and store it in C variable

Instruction 4: Add A, B, C and store the result in SUM variable

Instruction 5: Divide SUM by 3 and store result in AVG variable

Instruction 6: Display AVG variable

• Instructions 1-6 are used to solve a single task. This collection of instruction
is known as a program.
15
Programming Language

16
Programming Language

• A programming language is an artificial language designed to


communicate instructions to a computer.

• A programming language is a notation for writing programs.

• A vocabulary and set of grammatical rules for instructing a computer to


perform specific tasks.

17
Programming Language
• Each language has a unique set of keywords (special words that it
understands) and a special syntax (format) for organizing program
instructions.

• There are many programming languages. For example:

• GW Basic • JAVA • Python


• C • Pascal • C#
• C++ • COBOL

18
Types of Programming Languages
• There are three types of programming languages:

19
Low-Level Language

Machine (Computer) Human (Programmer)

LANGUAGE

A language which is closer to machine (computer)


20
Low-Level Language

• A low level language is one which is closer to the machine (computer).

• It is easier for machines to understand and difficult for humans to


understand.

• It is faster in execution as compared to high and middle level languages.

21
Low-Level Language

• Two of the types of low level languages are:

22
Machine Language
• It is one of the low level language.

• It is the language of 0s and 1s.

• Machine languages are the only languages directly understood by the


computers.

• While easily understood by computers, machine languages are almost


impossible for humans to use because they consist entirely of numbers (0s
and 1s).
23
Machine Language
• It is the native language of the machines (computers).

• Here all the instructions are written as code of binary sequence. For
example:
• In order to do addition, the code is: 10010001
• In order to decrement a number by one, the code is: 11011011
• In order to move data from one place to another, the code is:
10000111

24
Machine Language

• There are hundreds of instructions and each instruction has a binary


code.

• Is it possible to remember all the codes of hundreds of instruction?

• Obviously not! Hence machine language almost impossible to


understand.

25
Machine Language
• Machine language program example:

10010010
11001010
01001010
11110101
00000101
00101000
11101010
10101010

26
Assembly Language
• Assembly language is same as machine language but uses English like
words to represent individual operations.

• For example: Instead of binary codes it uses : ADD, MOV, SUB, INC

• Assembly language is also a low-level language.

• It is easier than the machine language but still it is very difficult to control
a larger program using assembly.
27
Assembly Language

• As assembly language contains English like words, which will not be


understood by the computer (because it only understands 0s and 1s)

• A translator first converts the assembly language program into machine


language program.

• Translator used with assembly language is called Assembler.

28
Assembly Language
• Assembly language program example:

MVI A, 05h
MVI B, 9Ah
ADD B
INC A
STA 8200h
HLT

29
High-Level Language

Machine (Computer) Human (Programmer)

LANGUAGE

A language which is closer to human (programmer)


30
High-Level Language

• A high level language is one which is closer to the human


(programmer).

• It is easier for humans to understand and difficult for machines


to understand.

• It is slower in execution as compared to low level languages.


31
High-Level Language

• Like assembly language, it also uses English like words for the
operations.

• For example: for, if, else, break, continue, while, include,


using, import

• It is more easier than assembly language.


32
High-Level Language

• Some of the high level programming languages are:


• GW Basic • COBOL • J#
• C++ • Python • Ruby
• JAVA • C# • PHP
• Pascal • Visual Basic

33
High-Level Language
• High level language program example:
int main()
{
int a = 5;
int b = 6;

if(a > b)
cout<<“First number is greater.”;
else
cout<<“Second number is greater.”;
}
34
Middle-Level Language

Machine (Computer) Human (Programmer)

LANGUAGE

A language which is some how closer to machine as well as human


35
Middle-Level Language

• A middle level language is one which is closer to machine


(computer) as well as to human (programmer).

• A language that has the features of both low level and high
level languages.

• More formally, a high level language that allows you to write


low level programs in it is called as middle level language.
36
Middle-Level Language

• Some of the middle level programming languages are:


• C
• IBM PL/S (Programming Language/Systems)
• BCPL (Basic Combined Programming Language)
• BLISS (Bill's Language for Implementing System Software)

37
Source Code and Object Code
Source Code Object Code
• The set of instructions written in any • The set of instructions written in
language other than machine language is machine language is called as object
called as source code. code. It is also known as machine code.

• It is not directly understood by the • It is the only code which is directly


machine (computer). understood by the machine (computer).

38
Source Code and Object Code
Source Code Object Code
• It is in the form of text. • It is in the form of binary numbers.

• It is human readable. • It is machine (computer) readable.

• It is generated by human (programmer). • It is generated by the language translator.

• It is input to the language translator. • It is the output of the language translator.

39
Language Translators

40
Language Translators

• Language translator is a program that converts the source code


in to the object code.

CONVERT
Source Code Translator Object Code

Language Translator

41
Why Language Translators?
• Computer only understands object code (machine code).

• It does not understand any source code.

• There must be a program that converts source code in to the object code
so that the computer can understand it.

• The language translator is one which does this job.

• The programmer writes the source code and then translator converts it
in machine readable format (object code).

42
Types of Language Translators
• There are three types of language translator:

43
Assembler

• Assembler is the language translator that converts assembly


language code in to the object code (machine code).

CONVERT
Assembly
Assembler Object Code
Source Code

44
Compiler

• Compiler is the language translator that converts high level


language code in to the object code (machine code).

• It converts the whole code at a time.


CONVERT
High-Level
Compiler Object Code
Source Code

45
Compiler

Program Read whole Program

Line 1 : Instruction 1 Line 1 : Instruction 1


Line 2 : Instruction 2 Line 2 : Instruction 2 Convert whole
Line 3 : Instruction 3 Line 3 : Instruction 3 program in to object Execute
Line 4 : Instruction 4 Line 4 : Instruction 4 code
Line 5 : Instruction 5 Line 5 : Instruction 5

1 2 3 4

46
Interpreter

• Interpreter is the language translator that converts high level


language code in to the object code (machine code).

• It converts the code line by line.


CONVERT
High-Level
Interpreter Object Code
Source Code

47
Interpreter

Program

Line 1 : Instruction 1 Read Line 1 Convert in to object code Execute 2

Line 2 : Instruction 2 Read Line 2 Convert in to object code Execute 3

Line 3 : Instruction 3 Read Line 3 Convert in to object code Execute 4


Line 4 : Instruction 4 Read Line 4 Convert in to object code Execute 5
Line 5 : Instruction 5 Read Line 5 Convert in to object code Execute 6

48
Difference between Compiler and Interpreter
Compiler Interpreter
• It converts whole code at a time. • It converts the code line by line.

• It is faster. • It is slower.

• Requires more memory. • Requires less memory.

• Errors are displayed after entire program • Errors are displayed for every instruction
is checked. interpreted (if any).

• Example: C, C++, JAVA. • Example: GW BASIC, Ruby, Python

49
Bug

50
Bug

• An error or defect occurred inside a computer program or


hardware that causes it to produce an incorrect or unexpected
result, or to behave in unintended ways is called as a bug.

• Most of the bugs arise from mistakes and errors made by


programmer in source code.

51
Bug
• The term bug was used by Grace Hopper in 1946.
• Hopper used to work on Mark II computer, there some error
occurred in the system. The cause of the error was a moth
(bug) trapped in a relay creating short circuit.

• That caused the term bug to be coined.

52
Debugging

53
Debugging
• It is the process of finding and fixing the bugs (errors) in the
program.

• It is the process of removing errors.


• The programmer manually does this by examining the source
code.

54

You might also like