CDF Computer Programming (1)
CDF Computer Programming (1)
Course Outline
• Introduction to problem solving
• 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,
• 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, arrays, pointers/references, static and dynamic memory allocation, File I/O operations.
• Recursion and Searching Algorithms
• Sorting Algorithms
• Graphs and Graph Algorithms
• Trees and Binary Search Trees
• Exception Handling and Debugging
• Programming language: C/C++/ Java/ Python.
Quizzes ✓ ✓
Assignments ✓ ✓
Mid-Term Exam ✓ ✓
02 Lecture Notes
Basic data types and variables, Input/output constructs Book 1, 3.1-3.3
03 Arithmetic, comparison and logical operators Lecture Notes
Book 1, 3.4-3.5
04 Quiz-1 Lecture Notes
Conditional statements and execution flow for conditional statements Book 1, 5.1-5.6
05 Lecture Notes
Conditional statements and execution flow for conditional statements Book 1, 5.1-5.6
06 Assignment-1 Lecture Notes
Repetitive statements and execution flow for repetitive statements
Book 1, 6.1-6.5
07 Repetitive statements and execution flow for repetitive statements Lecture Notes
Book 1, 7.2-7.4
08 Switch-Case statements Lecture Notes
Book 1, 7.1
09 Mid-Term Exam
10 Introduction to modular programming Lecture Notes
Book 1, 8.1-8.4
11 Functions: function definitions, function prototypes, calling functions Lecture Notes
Book 1, 8.1-8.4
12 Lecture Notes
Call by value and call by reference
Book 1, 8.1-8.4
13 Arrays, pointers/references, Quiz-2 Lecture Notes
Book 1, 11.1-11.8
14 Arrays, pointers/references, Lecture Notes
Book 1, 11.1-11.8
15 Assignment-2 Lecture Notes
Static and dynamic memory allocation, File I/O operations
Book 1, 4.1-4.7
16 Introduction to Python Programming Lecture notes
17 Practice examples and discussions Lecture notes
18 Final-Term Exam
Text/Reference Books
1. Programming and problem solving with C++ by Nell Dale, Chip Weems
2. Starting out with Python, 4th Edition, Tony Gaddis.
3. Starting out with Programming Logic & Design, 4th Edition, Tony Gaddis,
4. The C Programming Language, 2nd Edition by Brian W. Kernighan, Dennis M. Ritchie
5. Object Oriented Programming in C++ by Robert Lafore
6. Introduction to Computation and Programming Using Python: With Application to Understanding Data, 2nd Edition by
Guttag, John
7. Practice of Computing Using Python, 3rd Edition by William Punch & Richard Enbody
8. C How to Program, 7th Edition by Paul Deitel& Harvey Deitel
9. Problem Solving and Program Design in C++, 7th Edition by Jeri R. Hanly& Elliot Koffman
Administrative Instructions
▪ According to institute policy, 75% attendance is mandatory to appear in the final examination.
▪ In any case, there will be no retake of (scheduled/surprise) quizzes.
▪ In any case, there will be no retake of (scheduled/surprise) class assessments.
▪ For queries, kindly follow the office hours to avoid any inconvenience.
▪ Mobile phones and irrelevant electronics gadgets are strictly prohibited to be used during class.
Computer/LMS Usage
▪ Students are required to visit LMS Course portal regularly for latest course information, important
notifications regarding lectures, Quizzes, assignments, reading assignment etc.