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 (CS) 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 algorithms 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 Apress 978-1-4842-
Textbook
to Professional 6th Peter Van 2020 5883-5
Weert
D&D Pearson 0134448235
C++ How to Program 10th
The Waite’s
Object Oriented Programming
4th Robert Group 0672323087
Referenc in C++
e Books Lafore
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
Attendance 5 75% is mandatory
Quizzes/Tests 10 Min. 4 in the semester
10 Min. 1 (for Lab it is necessary)
Assignments & Project Presentation
Class Participation, Conduct & 5
Behavior
30 Contents from Week 1 to Week 7 will be
Mid Term included
40
Final Term Contents from Week 7 to Week 15
Total Points 100
Same Distribution will be used for Lab Classes as Lab Credit Hours 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:
Week Lecture No Lecture Contents Activities
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
Lect. 5
Week 3 increment and decrement operators with prefix and postfix
variations. Quiz/Test 1
Relational Operators & conditions
Lect. 6
Logical operators & compound conditions
Declaring character variables,
Lect. 7 initializing character variables, taking input from the user
Week 4 Switch Statement
if statement,
Lect. 8 if-else statement.
Else-if statement
Repetitive control structure
Lect. 9 Counter control loops
Week 5
For Loop Assignment No 2
Sentinel Control loops
Lect. 10
While loop
Week 6 Lect. 11 Do-While Loop
Quiz/Test 2
Lect. 12 Nested ifs and Nested loops
Introduction
Week 7 Lect. 13
Build-in functions
Lect. 14 User defined functions
Week 8 Mid Term Examination
Inline function
Lect. 15
Week 9 Function call by value
Function Call by reference
Lect. 16
Introduction to Recursion
Recursive Function Call
Lect. 17
Week 10 Towers of Hanoi
Assignment No 3
Introduction
Lect. 18
Single Dimensional Arrays
Week 11 Lect. 19 Using arrays as a character string
Quiz/Test 3
Lect. 20 String library functions
Multiple Dimensional Arrays
Week 12 Lect. 21
Passing as an argument to the function
Lect. 22 Merge Sort
Page 3 of 6
Linear Search
Binary Search
Addresses and Pointers
Lect. 23 The Address-of Operator
Week 13 Pointers and Arrays
Assignment No 4
Pointers and C-Type Strings
Lect. 24 Memory Management: new and delete
Pointers to Objects
Stream Classes
Lect. 25 Stream Errors
Week 14 Disk File I/O with Streams
Quiz/Test 4
File Pointers
Lect. 26 Error Handling in File I/O
File I/O with Member Functions
Defining the Structure
Lect. 27
Week 15 Syntax of the Structure Definition
Use of the Structure Definition
Lect. 28
Accessing Structure Members
Week 16 Exam
Page 4 of 6
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 use
Lect. 3
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 Home Assignment
Practice of operators, input/output statements in
Lect. 8
basic mathematical conversion programs
Programs using
If-else
Lect. 9
Decision Nested if-else Major Assignment
Week 5
Statement Switch Statement
Using real world examples to show to importance of
Lect. 10
decision making
Programs using
For loop
Lect. 11
While loop
Major Assignment
Week 6 Iterations Do-while loop
Programs using
Lect. 12 Nested for loop
Practice of Iteration structure in programs
Programs using:
Built-in Functions
Lect. 13
Week 7 Functions User-defined functions Home Assignment
Use of Inline function
Lect. 14 Revision
Week 8 Mid Term Examination
Programs using:
Lect. 15 Arguments Passing by Value Projects
Week 9
Functions Arguments Passing by Constants Announcements
Program using: Home Assignment
Lect. 16
Arguments Passing by reference
Programs using:
Week 10 Lect. 17
Recursion Recursion with function Home Assignment
Lect. 18 Practice of Programs using functions Recursion
Working Programs using:
Week 11 Lect. 19
with 2D 1-D Array Home Assignment
Lect. 20 Arrays Practice Programs using Arrays
Programs using:
Working
Week 12 Lect. 21 2-D Arrays
with 2D Major Assignment
Arrays with function
Arrays
Lect. 22 Practice Programs using Arrays
Page 5 of 6
Pointers and Programs using:
Week 13 Lect. 23
File Declaration, Initialization of pointers Home Assignment
Lect. 24 Handling Use of Pointers in Programs
Programs for:
Creation of file
Lect. 25
Week 14 File Read Data from Files Project submission
Handling Write in file & Presentations
Practice of Different programs using File Handling
Lect. 26
Techniques
Declaration of structure
Week 15 Lect. 27 Project Submission
Structure Using structures in the Programs
& Presentation
Lect. 28 Revision
Week 16 Exam
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