0% found this document useful (0 votes)
13 views5 pages

Computer Programming Course Outline

Course Outline

Uploaded by

talhaahmad271476
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views5 pages

Computer Programming Course Outline

Course Outline

Uploaded by

talhaahmad271476
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

COURSE OUTLINE

Department: Faculty of Computing Knowledge Group: Programming Core

Programme: BSCS/BESE Class: BESE2K25/BSCS2k25

Course code: CS-110 Academic Session/Semester: Fall 2025

Course name: Fundamentals of Computer Programming Pre/co requisite (course name NA


and code, if applicable):
Credit hours: 3+1

Course Synopsis The course is designed to introduce students to the fundamental concepts of computer programming
using the C++ programming language as a medium. A systematic approach is used to teach students
how to write programs that solve well-specified problems. Emphasis is placed on acquiring basic
programming skills, with considerable attention to the fundamental building blocks of computer
programs, and the associated concepts and principles. Students will learn programming fundamentals,
control structures, functions, arrays, strings, file handling, error handling, pointers, and apply these
concepts to solve medium-level complexity problems.
Course Learning CLO1-Understand the syntax and semantics of different programming constructs
Outcomes CLO2-Solve given real-world problem by applying appropriate programming concepts and techniques
(CLOs) CLO3-Build a program and associated documentation using appropriate IDE and supplementary tools
CLO4-Perform effectively as an individual and a member of a team.
Course
Schedule
Course lecturer Name Office Contact no. E-mail
Dr. Momina Moetesum [Link]@[Link]
Engr. Jaudat Mamoon [Link]@[Link]
Dr. Shah Khalid [Link]@[Link]
Ms. Sahar Arshad

Mapping of the Course Learning Outcomes (CLO) to the Programme Learning Outcomes (PLO), Teaching
& Learning (T&L) methods and Assessment methods:

PLO PLO BT Teaching & Assessment


No. Course Learning Outcomes
(SE) (CS) Level Learning Methods Methods
CLO 1 Understand the syntax and 1 2 C2 Active Learning Quiz
semantics of different programming Cooperative Learning Assignment
constructs Blended Learning MSE
ESE
Labs
CLO 2 Solve given real-world problem by 2 3 C3 Active Learning Quiz
applying appropriate programming Cooperative Learning Assignment
concepts and techniques Blended Learning MSE
ESE
Labs
CLO 3 Build a program and associated 5 5 P3 Active Learning Labs
documentation using appropriate Cooperative Learning Projects
IDE and supplementary tools Blended Learning

CLO 4 Perform effectively as an individual 9 6 A2 Active Learning Labs


and as a member of a team. Cooperative Learning Project
Blended Learning
Details on Innovative T&L practices:

No. Type Implementation


1. Active learning Conducted through in-class or lab activities.
2. Cooperative learning Conducted through design project. Students in a team of five will be given a design
project that requires software engineering process design solutions. Compliance to the
design specifications need to be given in the form of written reports.
3. Blended learning Conducted through Learning Management System (LMS) of NUST. All information as
well as materials related to teaching and learning activities will be shared with class
through this system. Some for formative assessments will be also conducted using this
system.

Weekly Schedule:

Week 1 Lecture 1: Introduction to Computer Programming, Course Outline and Objectives


Lecture 2: Overview of IDEs
Lecture 3: Basic structure of a C++ Program
Week 2 Lecture 4: Variables, data types, and basic input/output
Lecture 5: Arithmetic operators including Modulo operator
Lecture 6: Arithmetic expressions / statements and precedence
Week 3 Lecture 7: Algorithms, Flow chart, and Pseudocode
Lecture 8: Introduction to Control Structures-Decision Making
Lecture 9: Selection Structures (if-else, else-if, switch, ternary operator)
Week 4 Lecture 10: Repetition Structures (while loop)
Lecture 11: Repetition Structures (do-while)
Lecture 12: Repetition Structures (For loop)
Week 5 Lecture 13: Nested Loops
Lecture 14: Break and Continue statements
Lecture 15: Switch Statement
Week 6 Lecture 16: Introduction to Functions - Modular & Procedural Programming
Lecture 17: User Defined vs Library Functions
Lecture 18: Function Definitions & Use
Week 7 Lecture 19: Function Prototype (Return value and Parameters)
Lecture 20: Scope of Variables – Local vs Global variables
Lecture 21: Function Calls (By Value and By Reference)
Week 8 Revision with activities based learning
Week 9 Mid-Semester Break
Week 10 Lecture 25: Introduction to Arrays
Lecture 26: Using Arrays (Indexing and Accessing Individual Elements)
Lecture 27: Searching & sorting & Arrays
Week 11 Lecture 28: Recursion
Lecture 29: Recursion
Lecture 30: Recursion
Week 12 Lecture 31: Multidimensional Arrays
Lecture 32: Matrix algebra using 2-D Arrays
Lecture 33: Character Arrays and Strings
Week 13 Lecture 34: Text Processing with built-in libraries-I
Lecture 35: Text Processing with built-in libraries-II
Lecture 36: Enums
Week 14 Lecture 37: Introduction to Pointers: variable definitions, initialization, and operators
Lecture 38: Pointer Arithmetic
Lecture 39: Dynamic Memory Allocation (Heap Memory vs. Stack Memory)
Week 15 Lecture 40: Relationship between Pointers and Arrays
Lecture 41: Structures-I
Lecture 42: Structures -II
Week 16 Lecture 43: Basic File Handling
Lecture 44: Reading from a File
Lecture 45: Writing from a File
Week 17 Project Presentations and Viva
Week 18 End Semester Break

Lab Experiments (if applicable):

Lab 1 Getting started with C++ and IDE


Lab 2 Basic I/O, Variables, Data Types, and Operators
Lab 3 Conditional Statements-Decision Making
Lab 4 Loops and Iterative Problem Solving
Lab 5 Nested Loops and Control Flow using ‘break’ and ‘continue’
Lab 6 Introduction to Modular Programming
Lab 7 Function Arguments/Parameters, Variable Scope, Debugging Basics
Lab 8 Open Ended Lab
Week 9 Mid-Semester Break
Lab 9 One-Dimensional Arrays, Searching and Sorting
Lab 10 Multidimensional Arrays and Matrices
Lab 11 Enums and Recursion
Lab 12 Text Processing using Strings
Lab 13 Pointers and Dynamic Arrays Strings
Lab 14 User-defined Variables using Structures
Lab 15 File Handling and Data Persistence
Lab 16 Lab Final
Week 18 End Semester Break

Assessment Methods:

Assessment Percentage

Theory: 75%
1 Quizzes (10-15%) 15%
2 Assignments (5-10%) 10%
3 Mid-Term Exam (25-35%) 25%
4 End-Semester Exam (40-50%) 40%
5 Project 10%
Labs:25%
1 Weekly Lab Tasks (14) 60%
2 Lab Mid Exam 10%
3 Lab Final Exam 10%
4 Project 20%
Total: 100%

Learning resources:

Textbook:
• Modern C++ Programming Cookbook, Marius Bancila (3rd edition) 2024, Packt Publishing.
• Programming and Problem Solving with C++, N. Dale, C. Weems, & T. Richards (7th edition) 2022, Jones and
Bartlett Learning.
• Introduction to Programming with C++, Y. Daniel Liang, Pearson
Reference Book:
• C++ How to Program, Deitel and Deitel (10th edition) 2017, Pearson Education, Inc.
• Problem Solving and Programming Concepts, Maureen Sprankle and Jim Hubbard (8th edition) 2008, Pearson
College Div.
• C++ Programming: From Problem Analysis to Program Design, D.S. Malik (8th edition), 2017, Course Technology
Inc.
• Online Resources (will be shared on the LMS)

Grading Policy:
Quiz Policy:

The quizzes will be unannounced / announced and normally last for ten minutes. The question framed is to test the concepts
involved in last few lectures. Number of quizzes that will be used for evaluation is at the instructor’s discretion.

Project Policy:

Students will be required to develop a project during the course which should be completed towards the end of the semester.
They will be graded based on project deliverables and presentation at the end. Students will work in a group/team for projects.
A group of 3 students is recommended. At most 4 students are allowed.

Assignment Policy:

In order to develop comprehensive understanding of the subject, assignments will be given. Late assignments will not be
accepted / graded. All assignments will count towards the total (No ‘best-of’ policy). The students are advised to do the
assignment themselves. Copying of assignments is highly discouraged and violations will be dealt with severely by referring
any occurrences to the disciplinary committee. The questions in the assignment are meant to be challenging to give students
confidence and extensive knowledge about the subject matter and enable them to prepare for the exams.

Class participation:

The students are encouraged to participate in class by actively taking part in asking questions from the instructor, sharing
his/her thoughts about the topic under discussion, replying to instructor questions, contribute in project presentation and
demo. The class participation will be recorded by the instructor and 2% of project marks are assigned to student class
participation.

Plagiarism:

SEECS maintains a zero-tolerance policy towards plagiarism. While collaboration in this course is highly encouraged, you must
ensure that you do not claim other people’s work/ ideas as your own. Plagiarism occurs when the words, ideas, assertions,
theories, figures, images, programming codes of others are presented as your own work. You must cite and acknowledge all
sources of information in your assignments. Failing to comply with the SEECS plagiarism policy will lead to strict penalties
including zero marks in assignments and referral to the academic coordination office for disciplinary action.

You might also like