CS-114 Fundamentals of Programming
Course Code: CS-114 Semester: 1st
Credit Hours: 2+1 Prerequisite Codes: NA
Instructor: Zunera Zahid Class: BEE11 AB
Office: SEECS PG Block Telephone Ext: --
Lecture Days: Wed, Friday E-mail: zunera.zahid@seecs.edu.pk
Class Room: CR 13/14 Consulting Hours: Thursday 3:00 -5:00 pm
Lab Engineer: Ahsan Gul Lab Engineer Email: ahsan.gul@seecs.edu.pk
Knowledge Group: Programming Updates on LMS: Weekly
Course Description:
The course introduces the fundamental concepts underlying modern computer programming. A systematic
approach is used to teach students how to write programs that solve well specified problems. Emphasis is
placed on the mastery of basic programming skills, with a considerable attention to the fundamental building
blocks of computer programs, and the associated concepts and principles.
Course Learning Outcomes (CLOs):
At the end of the course, the students will be able to: PLO BT Level*
1. Identify the syntax and semantics of different programming constructs 1 C-1
2. Define basic algorithms for identifying and solving real world problems 2 C-2
3. Apply computer programing to solve real world problems 3 C-3
4. Adopt the usage of latest IDEs and other supplementary tools to aid 5 P-6
implementation and code management
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain
Remembering (C-1), Understanding (C-2), Applying (C-3), Analyzing (C-4), Evaluating (C-5), Creating (C-6)
Mapping of CLOs to Program Learning Outcomes
PLOs/CLOs CLO1 CLO2 CLO3 CLO4 CLO5
PLO 1 (Computing Knowledge) X
PLO 2 (Problem Analysis) X
PLO 3 (Design/Development of Solutions) X
PLO 4 (Individual & Team Work) X
PLO 5 (Ethics)
PLO 6 (Communication)
PLO 7 (Societal Impact)
PLO 8 (Lifelong Learning)
PLO 9 (Modern Tool Usage) X
PLO 10 (Investigation)
PLO 11 (Project Management)
National University of Sciences & Technology (NUST)
School of Electrical Engineering and Computer Science (SEECS)
Department of Computer Science
Grading Criteria (In accordance with the NUST statutes)
Assessments Details
Theory: 67 % Quizzes: 15 %
Assignments: 5 %
OHT-1: 15 %
OHT-2: 15 %
End Semester Exam: 50 %
Labs: 33 % Lab Tasks and Viva: 70%
Project: 30%
Total : 100 %
Books:
Text Book: 1. C: How to Program (7th Ed.) by P. J. Deitel and H. M. Deitel
Reference 1. C Programming: A Modern Approach (2nd Ed.) by K. N. King
Books:
Main Topics to be Covered:
Topic 0 –Course Introduction
Algorithms, flow charts, pseudo code
Programming languages
Introduction to C
Topic 1 – Fundamentals of C
Elements of a simple program
Variables and assignments
Input and output functions
Basic syntax
Topic 2 – Expressions
Arithmetic operators
Assignment operators
Increment and decrement operators
Topic 3 – Selection Statements
Logical Expressions
if/switch statements
while statement
for statement
Topic 4 – Types
Basic types
Arrays
Topic 5 – Functions
Defining and calling functions
Arguments
Termination
Page 2 of 4
National University of Sciences & Technology (NUST)
School of Electrical Engineering and Computer Science (SEECS)
Department of Computer Science
Recursion
Topic 6 – Strings
String literals
String variables
C string library
Arrays of strings
Topic 7 – Advance Topics
Structures
File Handling
Week Lecture Topic (Tentative)
01 Lecture 1: Introduction
Lecture 2: Algorithms, flow charts
02 Lecture 3: Pseudo code
Lecture 4: Introduction to C
03 Lecture 5: Elements of a simple program
Lecture 6: Variables and datatypes
04 Lecture 7: Arithmetic operators
Lecture 8: Assignment operators
05 Lecture 9: Increment and decrement operators
Lecture 10: Relational operators
06 OHT-1
07 Lecture 11: Selection
Lecture 12: Conditional operators
08 Lecture 13: Loops
Lecture 14: Loops
09 Lecture 15: Logical operators
Lecture 16: Relational operators
10 Lecture 17: Conditional Statements
Lecture 18: Switch, break, continue
11 Lecture 19: Function definition and prototypes
Lecture 20: Recursion
12 OHT-2
13 Lecture 21: Arrays
Lecture 22: Strings
14 Lecture 23: Pointers
Lecture 24: Pointers
15 Lecture 25: Advance Topics (Structures)
Lecture 26: Advance Topics (Files Handling)
16 Project Demos
17 Project Demos
18 ESE
Page 3 of 4
National University of Sciences & Technology (NUST)
School of Electrical Engineering and Computer Science (SEECS)
Department of Computer Science
Lab Experiments (Tentative)
Lab 01: Introduction to Algorithms, Flowcharts, Pseudo code
Lab 02: Introduction to Programming and familiarity with IDE
Lab 03: Variables, Expressions, Input, Output
Lab04: Expressions, Input, Output and Data Type Conversions
Lab 05: Mathematical operations
Lab 06: Decision Making
Lab 07: Loops
Lab 08: Loops
Lab 09: Functions
Lab 10: Strings
Lab 11: Pointers/Array
Lab 12: Advance Topics
Lab 13: Advance Topics
Lab 14: Project Demos
Tools / Software Requirement:
MS Visual Studio
Grading Policy:
Quiz Policy: The quizzes may be unannounced and normally last for ten minutes. The question framed is
to test the concepts involved in last few lectures.
Assignment Policy: The course website will be the primary source for announcements and submitting
assignments.
Lab Conduct: The labs will be conducted for three hours every week. The lab handouts will be shared on
LMS. The students are required to submit their lab tasks at the end of lab for evaluation. One
submission per group will be required. However, students may also be evaluated by oral viva
during the lab.
Plagiarism: Collaboration and group work is encouraged but each student is required to submit his/her
own contribution(s). Your writings must be your own thoughts. You must cite and
acknowledge all sources of information in your assignments. Cheating and plagiarism will not
be tolerated and will lead to strict penalties including zero marks in assignments as well as
referral to the Dean for appropriate action(s).
Page 4 of 4