Riphah International Colleges
A Project of Riphah International University
Course Outline
Course Title Programming Fundamentals
Course ID CS1134 Course Type Computing Core
Course
Information Credit hours 4 (3-3) Hours per week (C- 3-3
L)
Program(s) ADP Computing(CS, AI, DS) Preferred Semester 1
Date Version Version 1
This course offers an elementary grasp of the fundamentals of computer programming techniques and problem-
solving techniques. Apart from general computing concepts it focuses on developing a problem-solving approach
in the students and concentrates on formulation of alg(orithms and translating them into structured C++ programs.
It includes the following major topics
Introduction to C++
Course Data types and declaring and using variables
Description Decision Control
Repetitive Structures
Functions, Call by Value, Call by reference, Recursion
Arrays – Single and multi-dimensional arrays
Passing arrays as an argument to the function.
Pointers, structure and file handling
The objective of this course is to enable students to understand;
No. Objective
CO1. To design algorithms to solve simple problem using tools like pseudocode, flow charts, and
Course desk checking
Objectives
CO2. To implement algorithmic logic in programming language
(CO)
CO3. To correct, test and debug computer programs
CO4. To explain how algorithms and computer programs work
CO5. To demonstrate the basic structured programming in a team-oriented environment by
conducting a term project
Class room Lectures, Lab Sessions, Project Presentation
Lecture type
NIL
Prerequisites
Follow up
Object Oriented Programming
Courses
Text Book and Reference Books
Title Edition Authors Publisher Year ISBN
Beginning C++20 From Novice Ivor Horton and 978-1-4842-
Textbook
to Professional 6th Peter Van Apress 2020 5883-5
Weert
C++ How to Program 10th D&D Pearson 0134448235
Object Oriented Programming Robert The Waite’s 0672323087
Referenc in C++ 4th Lafore Group
e Books
C++ programming from 978-0-538-
problem analysis to program 5th DS Malik CENGAGE 79808-2
design
Reference
Will be provided in class.
Material
Page 1 of 6
Course
Microsoft Visual C++, Dev-C++, online Compilers or any other supporting Compilation Tool based on
Software or
Instructors’ guideline
Tool
Grade Distribution:
Evaluation Type Percentage (%) Activities
Assignments & &
10% Min. 4 in the semester
Presentations
Quiz & Project 10% Min. 4 in the semester
Lab 15% Min. 1 (for Lab it is necessary)
Contents from Week 1 to Week 8 will be included
Mid Term 25%
Final Term 40% Contents from Week 8 to Week 17
Total Points 100
Methods of Evaluation Quizzes, Assignments, Mid/Final exam, Lab, Project
Notes Labs are managed and evaluated separately
General Classroom Norms:
Class attendance is mandatory. You may miss up to 25% (8 out of 32 sessions) class sessions but save it for
emergency only.
In case you exceed this level, you will be withdrawn from the course.
As a courtesy to the instructor and other students, be prepared to arrive at class and be in your seat on time.
In addition, please note that each class lasts for 90 minutes (1.5 Hours).
Also keep in mind some general rules as given below:
Cell phones should be powered off or kept on silent mode.
Eatables should be avoided in the class.
Disruptive behaviors are not acceptable in the class.
The Dress Code has to be observed, no warnings will be given, and violators will be asked politely to leave the
class and consequently will be marked absent or referred to the discipline committee for further actions.
Page 2 of 6
Course Contents:
Lecture
Week Lecture Contents Activities
No
Introduction to the course,
problem-solving methodology,
Lect. 1
Design, Analyze and Decompose a problem,
Week 1
Algorithms, Pseudocode, Flow Charts.
History of C++ Language, Translators,
Basic program structure, Directives, Comments,
Lect. 2
Output using “cout”, Escape sequences, setw, endl
Manipulator
Declaration of a variable, memory concepts, integer
Lect. 3 variable, floating point variables, initialization of variables.
Week 2 Taking input from user using cin. Assignment No 1
Arithmetic operators (+, - , * and /),
Lect. 4
Arithmetic Expression
Modulus operator
Precedence of evaluation
Week 3 Lect. 5
increment and decrement operators with prefix and postfix Quiz/Test 1
variations.
Lect. 6 Relational Operators & conditions
Lect. 7 Logical operators & compound conditions
Week 4 Declaring character variables,
Lect. 8 initializing character variables,
taking input from the user
Lect. 9 Switch Statement with programs
Week 5 if statement,
Assignment No 2
Lect. 10 if-else statement.
Else-if statement
Repetitive control structure
Lect. 11 Counter control loops
Week 6 For Loop Quiz/Test 2
Sentinel Control loops
Lect. 12 While loop
Week 7 Lect. 13 Do-While Loop
Lect. 14 Nested ifs and Nested loops
Introduction
Lect. 15
Week 8 Build-in functions
Lect. 16 User defined functions
Lect. 17 &
Week 9 Mid Term Examination
18
Inline function
Lect. 19
Week 10 Function call by value
Function Call by reference
Lect. 20
Introduction to Recursion
Recursive Function Call
Lect. 21
Towers of Hanoi
Week 11 Assignment No 3
Introduction
Lect. 22
Single Dimensional Arrays
Lect. 23 Using arrays as a character string
Week 12 Quiz/Test 3
Lect. 24 String library functions
Multiple Dimensional Arrays
Week 13 Lect. 25
Passing as an argument to the function
Page 3 of 6
Merge Sort
Lect. 26 Linear Search
Binary Search
Addresses and Pointers
Lect. 27 The Address-of Operator
Pointers and Arrays
Week 14 Assignment No 4
Pointers and C-Type Strings
Lect. 28 Memory Management: new and delete
Pointers to Objects
Lect. 29 Stream Classes
Stream Errors
Disk File I/O with Streams
Week 15 Quiz/Test 4
Lect. 30 File Pointers
Error Handling in File I/O
File I/O with Member Functions
Lect. 31 Defining the Structure
Syntax of the Structure Definition
Week 16
Lect. 32 Use of the Structure Definition
Accessing Structure Members
Lect. 33 Revision & Final Presentations
Week 17
Lect. 34 Revision & Final Presentations
Lect. 35 &
Week 18 36 FINAL TERM EXAM
Lab Lecture Contents:
Lecture
Week Topics Lecture Contents Activities
No
Basic introduction of tool (Dev C and Visual
Lect. 1 Introduction Installation and
Studio).
Week 1 to practice of basic
Basic Program Structure and
Lect. 2 Programming programs
Program to print message on the screen
Small exercises to understand operators and their
Lect. 3
use in expressions
Week 2 Operators Home Assignment
Small exercises to understand operators and their
Lect. 4
use in expressions
Variable declaration using data types
Lect. 5 Data types
Week 3 Home Assignment
Lect. 6 Variable Initialization in programs
Use of variables Use of Cin and Cout statement in
Lect. 7
programs
Week 4 Input/ Output Major Assignment
Practice of operators, input/output statements in
Lect. 8
basic mathematical conversion programs
Programs using
Lect. 9 If-else
Decision
Week 5 Nested if-else Quiz 1
Statement
Programs using
Lect. 10
Switch Statement
Decision Using real world examples to show to importance of
Lect. 11
Statement decision making
Week 6 Programs using Home Assignment
Lect. 12 Iterations For loop
While loop
Page 4 of 6
Do-while loop
Programs using
Lect. 13 Iterations Nested for loop
Practice of Iteration structure in programs
Week 7 Major Assignment
Programs using:
Lect. 14 Functions Built-in Functions
User-defined functions
Programs using:
Lect. 15 Functions Quiz 2
Inline function
Week 8
Lect. 16 Revision
Lect. 17
Week 9 Mid Term Examination
& 18
Programs using:
Lect. 19 Arguments Passing by Value Projects
Week 10 Functions Arguments Passing by Constants Announcements
Program using: Home Assignment
Lect. 20
Arguments Passing by reference
Programs using:
Lect. 21 Recursion with function
Week 11 Recursion Home Assignment
Lect. 22 Practice of Programs using functions Recursion
Working Programs using:
Lect. 23
Week 12 with 2D 1-D Array Major Assignment
Lect. 24 Arrays Practice Programs using Arrays
Programs using:
Working
Lect. 25 2-D Arrays
Week 13 with 2D Quiz
Arrays with function
Arrays
Lect. 26 Practice Programs using Arrays
Pointers and Programs using:
Lect. 27
Week 14 File Declaration, Initialization of pointers
Lect. 28 Handling Use of Pointers in Programs
Programs for:
Creation of file
Lect. 29
File Read Data from Files Major Assignment
Week 15
Handling Write in file & Quiz
Practice of Different programs using File Handling
Lect. 30
Techniques
Declaration of structure
Lect. 31 Project Submission
Week 16 Structure Using structures in the Programs
& Presentation
Lect. 32 Revision
Lect. 33
Week 17 LAB PAPER & VIVA VOICE
Lect. 34
Lect. 35
Week 18 FINAL TERM EXAM
& 36
Course Material :
https://drive.google.com/drive/folders/14J7fFGQqtJn2hNEIe77od_jJAFFH7Gc8?usp=drive_l
ink
Page 5 of 6
Semester Long Activities (Project/presentation etc.)
Description:
This project aims to provide basic understanding of programming fundamentals. In this project, you have to build a
project in which you are supposed to use basic programming logics to solve the real-world problem. It is divided into
different phases. Each phase will be evaluated separately. Most of the phases are dependent on the predecessor phase,
each phase has its own weightage, in terms of points.
General Instructions:
For this project you can use C++.
For each phase you must submit both the hard copy and the soft copy to your instructor.
For each phase development there will be demonstration on computer.
Each phase deliverable is due after one week of announcement.
Late submission will result in deduction of 25% for each day.
No deliverable will be accepted after 2 days of due date.
Any student found in guilty of copying/code exchange will be awarded F grade. In this case, both the students
who found guilty in exchange will suffer
Project Plan:
Phase-1: Project Proposal and viva
Task-1.1:
First of all, you have to submit the project proposal. In which you are supposed to describe the basic functionality of your project.
Phase-2: Project complete flow chart
Task-2.1:
In this phase, you have to submit the complete flow chart of your project
.
Phase-3: Project presentation and viva
Task-3.1:
In this phase, you have to submit your implemented project
Page 6 of 6
Page 7 of 6