Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

Bahria University Islamabad Campus

(Department of Computer Science)


Course Code/number CSC-113
Course Title/Name Computer Programming
Credit Hours/Contact hours 3 hours /week
Degree Program BS(CS)
Prerequisites or Co-requisites None
Assessment Methods and Quizzes 10
Weightage Assignments 10
Project 10
Mid-Term Examination 20
Final Examination 50
Total 100
Textbook (or Laboratory 1. Beginning C++17 — Fifth Edition — By: Ivor Horton and Peter Van Weert, APress, 2018
Manual for Laboratory Courses) 2. Deitel & Deitel, C++ How to Program, 9th Edition, Prentice Hall. 2017
Reference Material 1. The C++ Programming Language by Bjarne Stroustrup
2. Robert Lafore, Object-Oriented Programing in C++, Third/Fourth Edition, The Waite’s Group
3. The Waite Group's Turbo C Programming for the PC By Robert Lafore
4. Let Us C, Turbo C++ by Robert lafore
5. Greg Perry and Marcus Johnson, Turbo C++ by Example, Prentice Hall.
6. Stanley B. Lippman C++ Primer
Web Resources https://piazza.com/bahria_university_islamabad/spring2021/csc113/home
Instructor Name/Cluster Instructor Name: Dr. Ali Mirza Designation: Senior Assistant Professor Status: Regular
Head/Subject Expert Cluster Head Name: Dr. Arif ur Rahman Subject Expert Name
Course Aims This subject is designed for students having little or no programming experience. It aims to facilitate students with
an understanding of the role computation can play in solving problems.
Course Objectives The major objectives of this course are to help students to feel justifiably confident of their ability to write small
programs that allow them to accomplish their targeted goals.

I. Select the basic concept of Procedural Programming in order to solve problems and show their outputs.
II. Track the syntax or logical errors occurs during program execution and to develop the capability to solve
them efficiently
III. Construct a small project using the concepts like arrays, functions, and pointers learned in the class.

Course Outcomes After completing this course the student must demonstrate the knowledge and ability to:
1. Understand the basic organization of Programming fundamentals.
2. Understand how computer programs are organized, stored, and executed.
3. Apply the concepts learned in the course using simulation tools in assignments and quizzes.
4. Analyze, write, debug, and test codes using the approaches introduced in the course.

Course Description/Catalogue Introduction to problem solving, a 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, pointers/references,
static and dynamic memory allocation, File I/O operations.
Lecture Plan (16 Weeks) Week # Lectur Topic to be covered Learning outcomes Reference Text
and e/Hour
Date #
1 1 Introduction to Computer and Course structure ,plan and Lecture Slide- 1, Book
Programming; Introduction to the introduction. Chapter – 1,
concept of Programming and its
execution
2 Introduction to C++; Basic Input Learn about programming language Lecture Slide -1, Book
output statements, Practice set for and types, Learn how functional units Chapter – 1,
basic IO in programming, Program work together in program execution
development activities
3 Example programs Learn basic input output statements Lecture Slide – 2, Book
Chapter – 2,

2 1. Binary Number System, Decimal to Learning the basics of number Lecture Slide – 2, Ch-2
Binary conversion, Binary Decimal systems and binary representations
conversion, Representation of Binary
Numbers in Memory, Binary
Representation of Signed Numbers,
Variables, Variables Declarations
2. Operators, Arithmetic operators, Understanding of different operators Lecture Slide – 2, Ch-2
Rules of operator precedence, of C++
Relational operators, Equality and
Assignment Operators, Logical
operators, Truth table of logical
operators
3. Conditional operators, Bitwise Learning the concept of more type Lecture Slide – 2, Ch-3
Operators, Type conversion, All conversions and operator precedence
Operators precedence

3 1. Selection structures and Conditional Learning choice based execution Lecture Slide – 3 Ch-4
Statements ( if-else structure)
2. Concept of using nested if else and Learning multiple choice based Lecture Slide – 3, Ch-4
use of else-if execution
3. Selection structures and Conditional Switch structure and break Lecture Slide – 3, Ch-4
Statements (Switch structure) statements

4 1. Repetition Structures (for loop Learn about how for loop works Lecture Slide – 4 Ch-5
structure and application), Examples
2. Factorial example, Prime number Examples to understand the concepts Lecture Slide – 4, Ch-5
examples with different methods of for loop
3. Printing different triangles using for Learn to use nested loops and display Lecture Slide – 4, Ch-5
loop various patterns

5 1 Repetition Structures (while loop Learning how while loop works with Lecture Slide – 5, Ch-5
structure and application) , Examples different examples
2 Practice session of while and do- Learn both looping structures by Lecture Slide – 5, Ch-5
while loop, Examples practice
3 Nested loops and pattern Indulge loops within loops Lecture Slide – 5, Ch-5
presentation via nested loops

6 1 Introduction to Array, Declaring Learn by practice array and its Lecture Slide – 6, Ch-5
Array, Initializing Array, Accessing coding constructs for different
elements of Array, Inputting operations
elements of Array, Outputting
elements Array
2. Operations on Arrays, min, max Learning, copy and deleting elements Lecture Slide – 6, Ch-5
number in arrays, Examples in arrays
3. Sorting of Arrays, Searching in Understanding the working of Lecture Slide – 6, Ch-5
Arrays Bubble sort, linear and binary
searching in arrays.

7 1 Introduction to Two-Dimensional Learn how to use loops to traverse Lecture Slide – 7, Ch-5
Array, Declaring Two-Dimensional through 2D and other dimension
Array, Initializing Two-Dimensional arrays.
Array, Accessing elements of Two-
Dimensional Array, Inputting
elements of Two-Dimensional
Array, Outputting elements of Two-
Dimensional Array
2 Operations on two Dimensional Understanding the 2-dimensional Lecture Slide – 7, Ch-5
arrays, sum of rows, columns. arrays using different operations.
Accessing diagonals, lower and
upper triangles.
3 Matrices and operations, Addition Learning of matrices operations Lecture Slide – 7, Ch-5
and Multiplication, transpose using 2D arrays and loops.

8 1. Address of a Variable/Reference, Learn concept of indirect memory Lecture Slide – 8, Ch-6


Pointers, Pointer Expressions, accessibility
2 Pointer Arithmetic, Relationship Concept of indirect memory access Lecture Slide – 8, Ch-6
Between Pointers and Arrays,
3. Examples programs Understanding indirect memory Lecture Slide – 8, Ch-6
accessibility by practice
Mid-Semester Exam
9 1 Dynamic Memory Allocation Understanding dynamically Lecture Slide – 9, Ch-6
Declaring Pointer Variables, allocation of memory and memory
Assigning a value to a pointer management using pointers and new
variable, Dereferencing, Allocating a keywork.
Single Element, Initializing the
Resulting Space, Deleting an
Instance
2 Allocating a 1-Dimensional Array, Learning to allocate of 1D Array Lecture Slide – 9, Ch-6
Releasing 1D Array
3 Allocating a 2-Dimensional Array, Learning to allocate of 2D Array Lecture Slide – 9, Ch-6
Releasing 2D Array

10 1. What is a C++ Function?, <math.h> Function syntax and hands on Lecture Slide – 10, Ch-8
Library Functions, Function practice
Prototype - 1, Function Definition - Gain knowledge of various types and
2, Function Call -3, Function Call by change in function parameters,
Value, Function Call by Reference, function call types
Taking input from user : Example
2. Prime Number Function : Example, Learning about function using some Lecture Slide – 10, Ch-8
Output Function : Example, Function example programs
Over Loading
3. Function Over Loading : sum Lecture Slide – 10, Ch-8
Examples, Function with Default Learn overloading of functions.
Argument, Scope of Variable

11 1 Function Recap, Scope of Variable Learning about different types of Lecture Slide – 11, Ch-8
variable scopes
2. Arrays as Function Parameters, Learn to pass arrays and pointers to Lecture Slide – 11, Ch-8
Pointers as Function Parameters function as para meters
3. Recursion, factorial and Fibonacci Understanding the concept of Lecture Slide – 11, Ch-8
decision recursion using different examples

12 1. Concept of strings using character Understanding concept of string vs. Lecture Slide – 12, Ch-7
pointers, Character vs. Strings, character array.
Fundamentals of Characters and
Strings
2. String Manipulation Functions of the Understanding different functions of Lecture Slide – 12, Ch-7
String-handling <cstring>Library, cstring library using different
String Comparison Examples example problems
3. Some Common Errors, Array of Learning to use array of string using Lecture Slide – 12, Ch-7
Strings, Arrays of Pointers, different methods.
Examples
13 1. Introduction to files, The Data Understanding of different input Lecture Slide – 13, Ch-
Hierarchy, Files and Streams, output streams, specifically the file 10
Opening a File, File Open Modes streams
2. Reading Data from File, Read Learning to read and write data into Lecture Slide – 13, Ch-
Paragraph(s) from File, Writing the file 10
Paragraph(s) in File
3. String example to read data from file Extensive example to read and write Lecture Slide – 13, Ch-
and writing output in file. text data in file 10

14 1. Enumerated values, Enumeration Learning the concept of enum Lecture Slide – 14, Ch-3
concept datatypes Deitel & Deitel Ch-6
2. Example: Game of Chance and Applying enum type in a game Lecture Slide – 14, Ch-3
Introducing enum program Deitel & Deitel Ch-6
3. Examples enumerations Understanding enumerations with Lecture Slide – 14, Ch-3
more examples Deitel & Deitel Ch-6

15 1 Concept of Records, Introduction to Introduction to data structures Learn Lecture Slide – 15,
Structures, struct basics, struct-to- by example the data structure coding Deitel & Deitel Ch-20
struct assignment, Example struct constructs and accessibility options
Distance, Room struct Example Learn by example the data structure
coding constructs and accessibility
options
2 Passing Structures to Function, Learn to interlink concept of arrays Lecture Slide – 15,
Pointers to struct, Arrays of with structures Deitel & Deitel Ch-22
Structures
3 Nested structures, Example Interlinking structures of structure Lecture Slide – 15,
Graphing a Point, Arrays inside with examples. Deitel & Deitel Ch-22
structures, Point/Line Examples

16 1 Introduction to Object Oriented Understanding the basics of OOP Lecture Slide – 16,
Programming Deitel & Deitel Ch-9
2 Classes, Constructor, Properties, Writing and understanding the Lecture Slide – 16,
Functions concept of classes in C++ Deitel & Deitel Ch-9
3 Revision Revision
Final Exam
Tentative
Result Date of
Assignments/ Projects and
Week # Assignment No. Quiz No. Project Title Assignment/Project Quiz Date Assignment/Project/
quizzes Plan Quiz
1
2
3 Assignment 1 Quiz 1
4
Assignment 1
5
Quiz1
6 Assignment 2 Quiz 2
7
Assignment 2
8
Quiz 2
9
10 Assignment 3 Quiz 3
11
Assignment 3
12 Assignment 4 Quiz 4
Quiz 3
13
Final Project
14
Demos
Assignment 4
15
Quiz 4
16
Final Exam

Updated By: Dr. Ali Mirza Date 06/03/2022

You might also like