Department of Computer Science and Engineering, BUET
COURSE OUTLINE
Course Code: CSE 109
Course Title: Computer Programming
Level/Term: 1/I Section: B/C Academic Session: 2016-17
Course Website: http://cse.buet.ac.bd/moodle/course/view.php?id=242
Course Teacher(s):
Name: Office/Room: E-mail and Telephone: (optional)
Md. Aashikur Rahman Azim CSE 415
[email protected] (Lecturer)
[email protected] (Lecturer)
[email protected]Course Outline:
Introduction to digital computers. Programming languages, algorithms and flow charts. Structured Programming using
C: Variables and constants, operators, expressions, control statements, functions, arrays, pointers, structure unions, user
defined data types, input-output and files. Object-oriented Programming (OOP) using C++: introduction, classes and
objects; polymorphism; function and operator overloading; inheritance.
Learning Outcomes/Objectives:
After undergoing this course, students should be able to:
i. Formulate logic to solve problems
ii. Transform the logical constructs to C/C++ code
iii. Understand C/C++ code
Assessment
Class Tests/Assignments/ Projects: 20%
Attendance: 10 %
Term final: 70%
Text and Reference books:
a. Teach yourself C, Herbert Shildt (3rd Edition)
b. Programming With C, Schaums Outline Series
c. Teach yourself C++, Herbert Shildt (3rd Edition)
Form for Course Outline of Dept. of Computer Science and Engineering, BUET Page 1
Department of Computer Science and Engineering, BUET
Weekly schedule:
Week Topics
Week 1 Subtopics: Overview of computers and programming; Number Systems; 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 2 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 3 Subtopics: Repetition and Loop Statements: for loop; while loop; do-while loop; branching and
looping; loop nesting; Arrays: 1 dimensional
Keywords: for, while, do while, continue
Operators: increment and decrement (++, --), array index ([ ])
Week 4 Subtopics: Functions; parameter passing conventions, scope rules and storage classes
Keywords: void, return
Week 5 Subtopics: Multidimensional array; string manipulation with and without library functions.
Keywords: null terminator
Week 6 Subtopics: Pointers: Concept, pointer arithmetic, multi-dimensional pointers, function pointers
Keywords: NULL
Operators: pointer de-referencing (*), address operator (&)
Week 7 Subtopics: Dynamic Memory Allocation.
Keywords: malloc, free
Operators: sizeof
Week 8 Subtopics: Recursions and library functions.
Week 9 Subtopics: Bitwise operators, macros and enumerations
Keywords: define, unsigned, enum
Operators: bitwise unary (~, <<, >>), binary (&, |, ^) , pre-directives (#)
Week 10 Subtopics: structures, command line arguments, file access: Text vs. binary mode. Different
library functions for File I/O.
Keywords: struct, FILE, fopen, fclose, fseek
Week 11 Subtopics: Introduction to OOP, classes and objects, console I/O, reference
Keywords: class, private, public, constructor, destructor, cin, cout, new, delete
Operators: reference operator (&)
Week 12 Subtopics: Polymorphism, function and operator overloading, static functions
Keywords: operator
Week 13 Subtopics: Inheritance: Concepts
Keywords: protected
Week 14 Subtopics: Inheritance (Continued): function overriding, abstract class
Keywords: protected
Form for Course Outline of Dept. of Computer Science and Engineering, BUET Page 2
Department of Computer Science and Engineering, BUET
Class Test schedule:
CT No. Date Start Time Place Syllabus
1 TODO (Sunday) 9:00 AM Room 903 & 905 Weeks 01 – 03
(EEE)
2 TODO (Sunday) 9:00 AM Room 903 & 905 Weeks 04 – 06
(EEE)
3 TODO (Sunday) 9:00 AM Room 903 & 905 Weeks 07 – 09
(EEE)
4 TODO (Sunday) 9:00 AM Room 903 & 905 Weeks 10 – 12
(EEE)
Prepared by :
Name: Md. Aashikur Rahman Azim Name: Mohammed Kaysar Abdullah
Signature: Signature:
Date: 25/02/2017 Date: 25/02/2017
Form for Course Outline of Dept. of Computer Science and Engineering, BUET Page 3