Me 171 - 1
Me 171 - 1
COMPUTER PROGRAMMING
LANGUAGE
Lecture 1: Introduction
Course Teacher
Md. Tusher Ahmed
Lecturer
Department of Mechanical Engineering
Bangladesh University of Engineering and Technology
Courtesy: Dr. Sumon Saha
Mr. Partha Kumar Das
COURSE DESCRIPTION
ME171: Computer Programming Language
3 Credits- Total Marks: 300
1 Lectures per week on my part
Schedule: Saturday
Section A Section B Section C
10.00am-11.00am 12.00pm-1.00pm 9.00am-10.00am
3
CLASS ENVIRONMENT
Feel free to share your concerns and ideas to me within the class duration
(inclusively to me only).
Be ready for daily class performance.
Bring necessary papers, pencil, calculator, books, lecture copies etc.
It’s not the teacher who teaches, it’s the students who learns.- A quote best fits
for any software learning course from my own experience as both Student and
Teacher
4
Language: Mode of Communication
• We, the human being, need language to
interact each other.
• It is only the language for the lack of
which we can not communicate to
animals or insects.
• Every electronic devices (starting from a
LED to Core i3 processor) works only on
two basic operation: On (1) and Off (0).
• That means, combination of only two
digits (0 and 1) is sufficient enough to
interact with any electronic devices.
• In case of high performance multi-
tasking device like a computer, this
combination is not so much human
friendly for which it necessitates another
mode of communication: Programming
Language.
5
Programming Languages
6
Computer Languages
• Machine Language
• Uses binary code
• Machine-dependent
• Not portable
• Assembly Language
• Uses mnemonics
• Machine-dependent
• Not usually portable
• Efficient but difficult to understand
• Used for mainly operating system development
• High-Level Language (HLL)
• Uses English-like language
• Machine independent
• Portable (but must be compiled for different platforms)
• Easy to write and understand
• Used for complex scientific and engineering tasks
• Examples: Pascal, C, C++, Java, Fortran, Python . . .
7
Machine Language
8
Assembly Language
9
High-Level Language
• A programming language which use statements
consisting of English-like keywords such as "FOR",
"PRINT" or “IF“, ... etc.
• Each statement corresponds to several machine
language instructions (one-to-many correspondence).
• Much easier to program than in assembly language.
• Data are referenced using descriptive names.
• Operations can be described using familiar symbols.
• A machine language system program, called a
compiler, is needed to compile or transform the code
into machine readable form.
• Example:
Cost = Price + Tax
10
Computer Languages
High-level program class Triangle {
...
float surface()
return b*h/2;
}
11
Programming
Language
Family Tree
12
Programming Languages
13
Typical Programming Languages
• FORTRAN
• FORmula TRANslation.
• Developed at IBM in the mid-1950s.
• Designed for scientific and mathematical applications by
scientists and engineers.
• COBOL
• COmmon Business Oriented Language.
• Developed in 1959.
• Designed to be common to many different computers.
• Typically used for business applications.
14
Typical Programming Languages
• BASIC
• Beginner’s All-purpose Symbolic Instruction Code.
• Developed at Dartmouth College in mid 1960s.
• Developed as a simple language for students to write
programs with which they could interact through
terminals.
• C
• Developed by Bell Laboratories in the early 1970s.
• Provides control and efficiency of assembly language
while having third generation language features.
• Often used for system programs.
• UNIX is written in C.
15
Typical Programming Languages
• C++
• An object-oriented programming language.
• It is C language with additional features.
• Widely used for developing system and application
software.
• Graphical user interfaces can be developed easily with
visual programming tools.
• JAVA
• An object-oriented programming language similar to
C++ that eliminates lots of C++’s problematic features
• Allows a web page developer to create programs for
applications, called applets that can be used through a
browser.
• Objective of JAVA developers is that it be machine,
platform and operating system independent.
16
Special Programming Languages
• Scripting Languages
• JavaScript and VBScript
• Php and ASP
• Perl and Python
• Command Languages
• sh, csh, bash
• Text processing Languages
• LaTex, PostScript
• HTML
• HyperText Markup Language.
• Used on the Internet and the World Wide Web (WWW).
• Web page developer puts brief codes called tags in the
page to indicate how the page should be formatted.
17
Course Outline
18
Course Material
1. Teach Yourself C - Herbert Schildt
2. The C Programming Language –
Brian W. Kernighan, Dennis M. Ritchie
3. Programming in ANSI C –
E Balagurusamy
19
That’s All
Thank You
20