University of Central Punjab
Faculty of Information Technology
BSCS
PROGRAM (S) TO BE
EVALUATED
A. Course Description
Course Code
Course Title Introduction to Computing (Lab)
Credit Hours 4(3+1)
Prerequisites N/A
Assessment Instruments with Theory
Weights (homework, quizzes, Class Participation 05%
midterms, final, programming Project 15%
assignments, lab work, etc.) Graded Labs 20%
Midterm Tests 20%
Final 40%
Course Instructor
Course Coordinator Imran Arshad
Office Hours Monday (08:00 AM - 11:00 AM), Wednesday (08:00 AM - 10:00 AM)
Plagiarism Policy All the parties involved in first cheating case will be awarded Zero for that
evaluation. Afterwards, all students involved in the second instance will be
awarded ZERO in the entire evaluation category.
Marks shall be up-loaded on portal and can be contested within a week or
would be considered final.
Course Tools Microsoft Visual Studio
Course Description This first course in Computer Science does not assume any previous
computer knowledge. It is designed to give an overview to computer
systems, desktop publishing tools and structured programming.
Its primary focus is on developing a problem-solving approach in the
students and concentrates on formulation of algorithms and translating them
into structured C++ programs.
Course Objectives Students should achieve the following basic objectives:
Should be able to have the know-how of computer system.
Should be able to convert simple problems into algorithms
Should be able to convert an algorithm into a C++ program
Should be able to program in C++ to solve simple problems
Textbook D.S. Malik.C++ Programming: From Problem Analysis to Program Design,
Cengage Learning; 8th edition
Reference Material C++ How to Program by Deitel and Deitel, 11th Edition, Prentice Hall
Publications, 2007.
Topics Covered in the Course, with Attached
Number of Lectures on Each Topic
(assume 15-week instruction and one-
hour lectures)
1 NCEAC.FORM.001.C
Programming Assignments Done in Yes (C++ Programs)
the Course
Class Time Spent on (in credit hours) Theory Problem Solution Social and Ethical Issues
Analysis Design
1 0.5 1 0.5
Oral and Written Communications Yes
CLO CLO STATEMENT Bloom’s Taxonomy PLO
Level
Understand fundamental problem-solving steps and logic constructs of a
1 programming language. C2 1
Solve basic problems using fundamental concepts of programming
2 language. C3 2
3 Apply algorithms to solve real world problems. C3 2
2 NCEAC.FORM.001.C
Book Evaluation CLO
Lecture Topics
Reference Used Achieved
1st Introduction of MS Word
2nd Introduction of MS Excel
3rd Hello World Program in C++ CH#2 CLO_1,
CLO_2
Processing a C++ program/Execution Flow
Syntax of C++ (cout << “literal string \n”)
Syntax of C++ (cout << Numeric
Constant/Expression )
Comments/ Importance of Comments
Syntax Errors
Syntax vs. Semantics
Arithmetic expression
Output Numbers (Literal Constants) (cout << 2 <<
endl;)
Arithmetic Operators (+, -, *, /, %)
Defining Expression/Arithmetic Expression
Operator Precedence & Associativity
Arithmetic Expression evaluation
Output value of an Arithmetic Expression (cout <<
2*3 << endl;)
Variable
Concept/Purpose of variable
Concept of Type
Declaration of variable/Syntax, Semantics
The rule for a valid identifier
Initialization of variables
Accessing values of a variable
Assignment statement, Syntax/Semantics
Arithmetic Expression involving variables and/or
3 NCEAC.FORM.001.C
literal constants
Interactive Program (Taking Input from Console)
How to take input from the user.
Syntax/Semantics of cin (Formatted Input)
Concept of white space (space, tab, newline) and
default working of cin
Problem Solving using cin, variables, strings
Selection Statement
Need/Purpose of Selection
Selection: if and if...else
One-Way Selection
Compound (Block of) Statements
Comparing if...else Statements with a Series of if
Statements; Short-Circuit Evaluation
4th Solution/Algorithm development (Pseudo-Code CH#4 Graded Lab 1 CLO_2
and Flow-Chart)
Comparing Floating-Point Numbers for Equality
Associativity of Relational Operators
Input Failure and the if Statement
Confusion between the Equality Operator (==) and
the Assignment Operator (=)
switch Structures (Pseudo-Code and Flow-Chart)
5th Nested Selection CH#2,4 CLO_2
Multiple Selections: Nested if
Need for multi-way selection
Compound Expression and nested if
Compound Selection (e.g., Number is negative,
positive or equal to zero; assigning grades to a
student)
Multiple Selections (e.g., check whether a
student has passed or failed and then assign
grades to a student)
Solution/Algorithm development (Pseudo-Code
and Flow-Chart)
Operators
Pre/Post-Increment
4 NCEAC.FORM.001.C
Pre/Post-Decrement
Order of Precedence
Ascii values
Type Conversion (Casting)
Loop Statement
Why Is Repetition Needed?
while Looping (Repetition) Structure
Designing while Loops
Case 1: Counter-Controlled while Loops
Case 2: Sentinel-Controlled while Loops
Solution/Algorithm development (Pseudo-Code
6th
and Flow-Chart) CH#5 CLO_2
Case 3: Flag-Controlled while Loops
More on Expressions in while Statements
for Looping (Repetition) Structure
do...while Looping (Repetition) Structure
Choosing the Right Looping Structure
break and continue Statements
Solution/Algorithm development (Pseudo-Code CLO_2,
7th and Flow-Chart and Dry-Run the loop). CH#5 Graded Lab-2
CLO_3
Dry-Run the loop.
Problem Solving Using Loops
8th Revision Week
MIDTERM
MIDTERM (Review) CLO_2,
CLO_3
9th Nested Loop CH#5 CLO_2,
CLO_3
Need/Purpose of Nested Loop
Both while (…) and for (…) syntax
Algorithm development involving Nested for loop
Dry-run technique for nested-loop.
Nested Loop (shapes printing)
5 NCEAC.FORM.001.C
Setting up Problem for nested loop
Problem Solving involving nested-loop
Dry-Run the nested-loop
1D Arrays
Need for handling large data of the same type.
Declaration/initialization of arrays
Explaining the array type and operations allowed
on array types.
Accessing individual elements of arrays
th CLO_2,
10 Problem Solving involving arrays CH#8
CLO_3
Partial Initialization of Arrays During Declaration
Traversing an array (in both directions)
Array Index Out of Bounds
Dry-Run the program.
1D Array and condition statement
Setting up Problem for if statement over an array
Problem Solving involving arrays and if statement
Dry-Run the program.
1D Arrays, selection and repetition (Search) CLO_2,
11th CH#8,18 Graded Lab-3
CLO_3
Linear search
Binary search
Setting up a Problem for searching
Dry-Run the program.
1D Array and Nested loop (Bubble sort)
Setting up a Problem for sorting
Dry-Run the nested-loop
CLO_2,
12th 1D Array and Nested loop CH#8,18
CLO_3
Setting up Problem for nested loop over an array
Problem Solving involving arrays and nested-loop
Dry-Run the program.
13th 1D Array and Nested loop CH#8 Project CLO_2,
CLO_3
Setting up Problem for nested loop over an array
Problem Solving involving nested-loop
6 NCEAC.FORM.001.C
with/without arrays
Dry-Run the nested-loop
Character Array (C-String) and Loops
The need for handling non-numeric data
Character Type and its conversion to integer
A character I/O
Problem-solving involving characters, Selection,
and Loops (single and nested-loops)
1D Character Arrays (C-String)
The need for handling names
Initializing Character Arrays (two methods)
Emphasizing null-terminator and it's an implication
Problem-solving involving characters and loops
(single and nested-loops)
Dry-Run the program. CLO_2,
14th CH#8 Graded Lab-4
CLO_3
1D Array Problem Solving
Array-based Problem involving Selection,
Loops/Nested Loops and involving both numeric
and non-numeric data
Dry-Run the program.
1D Array Problem Solving
Array-based Problem involving Selection,
15th Loops/Nested Loops involving both numeric and CLO_3
non-numeric data
Dry-Run the program.
CLO_2,
16th Revision
CLO_3
7 NCEAC.FORM.001.C