CS103 Computer Programming (3CH) WK2 Focus: Regular AI,
CE &
CS
Pre-Requisite: N/A
Course Introduction
This course introduces the concepts of computing and programming to a freshman, starting from definitions and descriptions of software,
hardware, their types and their history, memory and types of memory, and networks and their types. This is then followed by introducing
the basic concepts of computer programming, algorithms, and software programming within the broader domain of computing. The
course uses C/C++ as the programming language for demonstration and learning but is general enough to be applied to any language.
Course Contents
Introduction to Computer Programming, Algorithms, Logic building, Flowcharts, Overview of computers and programming
languages.
Basics of a C++ program, Data Types, Variables, Input/Output functions, Arithmetic Operators, Operator Precedence and
Expressions, Type Casting, string Type, Variables, Assignment Statements and Input Statements, Increment and Decrement
Operators.
Debugging: Understanding and Fixing Syntax Errors, Program Style and Form.
Relational Operators, Logical Operators, Selection: if and if else, Nested if-else, switch statement, case, break statement, default.
Why is repetition needed? While loops, for loops, do-while loops, Nested loops, break and continue statements, debugging of loops.
Predefined Functions, User-defined Functions, Value Returning Functions, Void Functions, Value Parameters, Reference Variables as
parameters, Pass by Value and Pass by reference parameters, Reference parameter and value-returning functions, Scope of an
identifier, Global variables, named constants and side effects, Static and automatic variables, Function overloading, Default
parameters.
Headers and Function Declaration in Headers, Recursive Definition, Problem Solving using recursion, Recursion or Iteration?
Examples.
Arrays & Strings – Arrays (Accessing array components, Processing one-dimensional arrays, array index out of bound, array
initialization during declaration, partial initialization of arrays during declaration, some restrictions on array processing, arrays as
parameters to functions, constant arrays as formal parameters, base address of an array and array in computer memory, functions
cannot return a value of type array, other ways to declare arrays), Searching an array for a specific item, C-Strings (Character Arrays),
Two and Multi-Dimensional Arrays.
Pointers, Static Arrays, Dynamic Arrays, Two-Dimensional Arrays using Pointers, Advanced Topics & Exception Handling & Stack
Overflow.
Mapping of CLOs and PLOs
Sr. No Course Learning Outcomes +
SA PLOs* WA PLOs Bloom’s Taxonomy level
(Cognitive domain)
Apply fundamental concepts of computer
programming to solve elementary Academic C1 (Knowledge)
CLO 1 problems and define an algorithm. PLO 1
Education
Apply mathematical concepts and
CLO 2 operations to write simple modular PLO 1 Academic
Education C3 (Application)
programs in C++.
Course is evaluated at a level of C3 (Applying)
While reading the CLOs, please add the prefix “Upon successful completion of this course, the student will be able
to”
PLOs are for BS (CE) only
CLO Assessment Mechanism
Assessment tools CLO_1 CLO_2
Quizzes X X
Assignments
Midterm Exam
Final Exam
Overall Grading Policy
Assessment Items Percentage
Quizzes 10%
Project 5%
Assignments 20%
Midterm Exam 35%
Final Exam 30%
Text and Reference Books
Text book: Davender S. Malik, “C++ Programming – From Problem Analysis to Problem Design”, 8th Edition, (2018)
Reference books: Paul Deitel & Harvey Deitel, “C++ - How to Program”, 10th Edition, (2017)
Administrative Instruction
According to institute policy, 80% attendance is mandatory to appear in the final examination.
Assignments must be submitted as per instructions mentioned in the assignments.
In any case, there will be no retake of (scheduled/surprise) quizzes.
For queries, kindly follow the office hours in order to avoid any inconvenience.
Lecture Breakdown
Week 1 Introduction to Computer Programming, Introduction to algorithms, Logic building, Flowchart and
pseudocode, Overview of computers and programming languages.
Week 2 Basic Elements of C++ - Basics of a C++ program, Data Types, Variables,
Input/Output functions.
Week 3 Basic Elements of C++ - Arithmetic Operators, Operator Precedence and Expressions, Type
Casting, string Type, Variables, Assignment Statements and Input Statements, Increment and
Decrement Operators.
Week 4 Basic Elements of C++ - Debugging: Understanding and Fixing Syntax Errors, Program Style and
Form.
Week 5 Control Structures I (Selection) – Relational Operators, Logical Operators, Selection: if and if else,
Nested if-else.
Week 6 Control Structures I (Selection) – switch statement, case, break statement, default.
Control Structures II (Repetition) – Why is repetition needed? While loops, for loops, do-while
loops.
Week 7 Control Structures II (Repetition) – Nested loops, break and continue statements, debugging of
loops.
Week 8 Arrays & Strings – Arrays (Accessing array components, Processing one-dimensional arrays, array
index out of bound, array initialization during declaration, partial initialization of arrays during
declaration, some restrictions on array processing, arrays as parameters to functions, constant arrays
as formal parameters, base address of an array and array in computer memory, functions cannot
return a value of type array, other ways to declare arrays), Searching an array for a specific item, C-
Strings (Character Arrays), Two and Multi-Dimensional Arrays.
Week 9 Pointers, Static Arrays, Dynamic Arrays, Two-Dimensional Arrays using Pointers.
Week 10 User defined Functions – Predefined Functions, User-defined Functions, Value Returning Functions,
Void Functions, Value Parameters, Reference Variables as parameters, Pass by Value and Pass by
reference parameters.
Week 11 User-defined functions – Reference parameter and value-returning functions, Scope of an identifier,
Global variables, named constants and side effects, Static and automatic variables, Function
overloading, Default parameters.
Week 12 Headers and Function Declaration in Headers, Recursion – Recursive Definition, Problem Solving
using recursion.
Week 13 Recursion – Recursion or Iteration? Examples.
Week 14 Advanced Topics, Exception Handling & Stack Overflow.