CSE 115: COMPUTING CONCEPTS
FALL 2019
Instructor:
Dr. Ashikur Rahman (AKR)
SAC 945
E-mail: [email protected]
Lectures:
TS 9:40-11:1
11:10 am SAC 208 (Section 17)
TS 11:20-12
2:50 pm SAC 208 (Section 18)
Lab:
TS 1:00-2:3
2:30 pm LIB 606 (Section 17)
TS 2:40-4:10
0 pm LIB 606 (Section 18)
Course Website (Please type it exactly as it is,, capital letters and small letters must match
match):
https://ashikur.buet.ac.bd/CSE115/
Required Text:
rd
Teach yourself C, Herbert Shildt (3 Edition) (Mandatory text).
Programming in Ansi C, Balagurusamy (Mandatory text).
Recommended Text:
Turbo C/C++, Herbert Scheldt.
Course Objective:
After undergoing this course, students should be able to:
i. Proficient at use of industrial-strength
industrial strength software development tools
in the programming process
ii. Apply good programming principles to the design and
implementation of C/C++ programs
iii. Proficient at C/C++ programming
iv. Apply knowledge of data structures
v. Understand algorithmic issues and analyze solutions to real
real-life
interesting problems.
Evaluation:
The final grade of this
this course will be evaluated by the following weighted
combination:
Attendance 10%
Quizzes (best 3 out of 4) 20%
Assignment 10%
Midterm 35%
Final Exam 25%
1
Course outline:
The topics to be covered include introduction and history of C; data types,
constants and variables; operators and expressions; type conversion; decision
making, branching and looping; arrays and strings; library functions and user
defined functions; structures; pointers; and file management.
Weekly schedule:
Week Topics
Week 1 and 2 Subtopics: Overview of computers and programming; history of C; data types,
constants and variables; operators and expressions; type conversion;
Keywords: int, long, char, float, double, signed, unsigned, printf, scanf
Operators: arithmetic (+, -, *, /, %), assignment (=), others (+=, -=, *=, /=, %=)
Week 3 and 4 Subtopics: Decision making: branching and selection structures; if-else and
switch statements, conditional operators;
Keywords: if, if else, if else if else, switch, case, break, default
Operators: logical (!, &&, ||), relational (<, <=, >, >=, ==, !=), others (? :)
Week 5 and 6 Subtopics: Repetition and Loop Statements: for loop; while loop; do-while loop;
branching and looping; loop nesting.
Keywords: for, while, do while, continue
Operators: increment and decrement (++, --)
Week 7 Subtopics: Arrays: 1 dimensional
Operators: array index ([ ])
Week 8 and 9 Subtopics: Top-down design with functions; parameter passing conventions,
scope rules and storage classes, recursions and library functions.
Keywords: void, return
Week 10 Subtopics: string manipulation with and without library functions.
Keywords: null terminator
Week 11 Subtopics: Pointers: Concept, pointer arithmetic, multi-dimensional pointers
Keywords: NULL
Operators: pointer de-referencing (*), address operator (&)
Week 12 Subtopics: Multidimensional array; structures
Keywords: struct
Week 13 Subtopics: File access. Text vs. binary mode. Different library functions for
File I/O
Keywords: FILE, fopen, fclose, fprintf, fscanf, fseek
Week 14 Subtopics: Bitwise operators and macros
Keywords: define, unsigned
Operators: bitwise unary (~, <<, >>), binary (&, |, ^) , pre-directives (#)