CSE-115: Structured Programming Language: Introductory Lecture
CSE-115: Structured Programming Language: Introductory Lecture
6/1/2013
Programming
Lecture-1
Language
Ashikur rahman
Lecture 1
Introductory Lecture
1
CSE-115
• Course Code: CSE-115
• Course Title: Structured Programming Language
6/1/2013
• Course Teacher: Dr. Ashikur Rahman
Associate Professor, Dept. of CSE, BUET
Lecture-1
• Credit: 3
Ashikur rahman
2
My Brief Profile
• Dr. Ashikur Rahman
Associate Professor, CSE, BUET.
6/1/2013
B.Sc.: BUET, 1998
M.Sc.: BUET, 2001
Lecture-1
Ph.D.: University of Alberta, Canada, 2006
Postdoc: University of Calgary, Canada, 2011
State University of New York, USA, 2012
Ashikur rahman
3
Syllabus
• constant, variable and data types,
• operator and expression, type conversion,
6/1/2013
• decision making, branching and looping,
• arrays and strings,
• user defined functions,
Lecture-1
• structures and union, bit field and bit-wise operations,
• pointer,
Ashikur rahman
• file management in C,
• dynamic memory allocation and linked list
4
Reference Book
• Text:
• Teach Yourself C (3rd Edition) – Herbert Schildt
6/1/2013
• Programming in ANSI C – Balagurusamy
Lecture-1
• Other Reference Book:
• C – How to Program (4th Edition) – Deitel & Deitel
Ashikur rahman
5
Learning Style
• This course is practical oriented.
• Three key techniques to perform better in this course:
6/1/2013
(1) Practice
(2) Practice
Lecture-1
and (3) Practice
Ashikur rahman
• Copying Code:
• Strictly prohibited.
• Will be severely punished if you are caught.
6
6/1/2013
Who is the inventor of C
Lecture-1
Programming Language?
Ashikur rahman
7
Ashikur rahman Lecture-1 6/1/2013
8
Ashikur rahman Lecture-1 6/1/2013
9
Ashikur rahman Lecture-1 6/1/2013
10
C Brief History
• Developed by Dennis Ritchie at AT&T, early 70s, for DEC PDP-
11
• Unix written in, closely associated with, C
6/1/2013
• Family of languages:
• BCPL, Martin Richards
Lecture-1
• B (typeless), Ken Thompson, 1970
• C, Dennis Ritchie, Bell Labs, early 70s
• C++, Bjarne Stroustrup, Bell Labs, 80s
Ashikur rahman
• Java, James Gosling Sun, 1995
• C#, Microsoft, recently
• C++, Java, C# conserve (much) C syntax
11
Why should we learn
programming?
6/1/2013
Lecture-1
Helps us to solve many, many,
many, many, …. interesting, useful
and/or complex problems
Ashikur rahman
12
4-digit number problem:
0 1 2 3
6/1/2013
Lecture-1
How many zero’s?
Ashikur rahman
How many one’s?
How many two’s?
How many three’s?
13
Birthday Problem:
1 3 5 7 2 3 6 7 4 5 6 7
9 11 13 15 10 11 14 15 12 13 14 15
6/1/2013
17 19 21 23 18 19 22 23 20 21 22 23
25 27 29 31 26 27 30 31 28 29 30 31
Lecture-1
Ashikur rahman
8 9 10 11 16 17 18 19
12 13 14 15 20 21 22 23
24 25 26 27 24 25 26 27
28 29 30 31 28 29 30 31
14
3 and 8 are good enough!
14 = 3+3+8
6/1/2013
Lecture-1
15 = 3+3+3+3+3
16 = 8+8
Ashikur rahman
15
How to solve all these
interesting problems?
6/1/2013
Lecture-1
Ashikur rahman
16
But computer can only
understand 0’s and 1’s! 17
• Computer’s language
6/1/2013
• 0’s and 1’s
• Machine language
• Hard to code for human beings
Lecture-1
• What’s the solution then?
• Develop English like-languages
Ashikur rahman
• High-level languages like C
• Let compiler translate at the
background
17
A Simple C Code
#include <stdio.h>
6/1/2013
int main()
Lecture-1
{
printf(“Welcome to CSE 115”);
Ashikur rahman
return 0;
}
18
How to Run
• Save a source code with extension “c” or “cpp”. (Ex: first.c)
• Compile it and link it
6/1/2013
• Output: first.exe
• Run the program.
Lecture-1
• Output of the program:
• Welcome to CSE 115
Ashikur rahman
19