0% found this document useful (0 votes)
40 views

PF Course Outline

Uploaded by

waseem khosa
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)
40 views

PF Course Outline

Uploaded by

waseem khosa
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
You are on page 1/ 7

THE UNIVERSITY OF LAHORE

Course Outline

CS02115 : Programming Fundamentals


Fall-2023

Credit Hours 4 (3+1)


2 Lectures (90 Minutes each),
Weekly tuition pattern
1 Lab session of 180 Minutes
CS 09101 – Introduction to Information and Communication
Prerequisites: Technologies
Course Instructor Dr Nadeem Iqbal

Syllabus Designed By Dr Abbas Khalid

1- Course Description
This course is the first programming course being offered to the students. It aims at
building the problem solving and programming skills of the students. The course uses
the Dev-C++ Integrated Development Environment (IDE) as the vehicle for instruction.
Starting with basic programming concepts, the course develops skill in handling decision
and looping structures. Moving on through the concept of functions, arrays, pointers,
structures, and file processing, the course covers the essentials of the C++ programming
language while staying away from object-oriented concepts. The premise is that a good
grounding in structured programming will be required when moving into the object-
oriented domain that would be covered in depth in a later course.
2- Objectives
Upon successful completion of the course, a student should be:
1. An ability to clearly understand and analyze the problem to design algorithms
and convert it into program/code to run efficiently in C++ compiler
2. An ability to find any type of bug and error with the usage of compiler error
messages and to choose data types according to the processing data also use
variables w.r.t. its scope and life time and to know how when a variable will be
created in memory and when destroy from memory.
3. An ability to use relevant operator and expression according to nature of
problem and differentiate, choose and use suitable selection and repetition
statements
4. An ability to modularize a program using functions, arrays and strings also write
efficient programs using pointers and dynamic memory allocation.

Page 1 of 7
The University of Lahore
5. An ability to enhance the capacity of language by defining own data types using
structures and to store the data and access it using file handling.

3- Course Learning Outcomes (CLOs)


At the end of the course the students will be able to: Domain BT Level*

1. Understand basic problem solving steps and logic


C 2
constructs
2. Apply basic programing concepts C 3
3. Design and implement algorithms to solve real world
C 3
problems.
* BT= Bloom’s Taxonomy, C= Cognitive domain, P= Psychomotor domain, A=
Affective domain
4- Course Contents
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
5- Teaching Methodology / Course Structure
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
6- Course Assesment
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
7- Text
C++ How to Program 10th Edition by Paul J. Deitel, Harvey Deitel (March 10, 2016).
8- Reference Materials
1. C++ Programming: From Problem Analysis to Program Design 8th Edition
by D. S. Malik (February 13, 2017).
2. Starting Out with C++: Early Objects, 10th edition by Tony Gaddis, Judy
Walters, Godfrey Muganda, Pearson (August 15th 2019).
9- Course Duration
This course will be held twice a week of 1.5 hours class duration.
The lab of this course will be held once a week of 3 hours lab duration.
10- Course style
The course will be delivered in a classroom environment.
The lab will be delivered in computer laboratory environment.
11- Additional Course Requirement

Page 2 of 7
The University of Lahore
Students should have a compiler of C++ e.g. Dev-C++ installed in their computers in
order to practice different concepts taught in the course.
12- Course Outline
The lecturers are supposed to complete the following topics/sub-topics before the
mid/final term examination as prescribed in the course outline below:

Course Delivery Plan


Introduction to computer and need of a programming
language.
Why high level programming language. Assembler, Interpreter
Lecture 1
and Compiler. Phases of a C++ Program.
Week # 1
Classification of programming languages (high level, low level,
and machine level programming languages).
Lecture 2
Analysis of the First program. and Escape Sequences. Example
Programs.
Displaying “Hello”
Week # 2 Lecture 3 First Program in C++ displaying “Hello C++”.
Lecture 4 Manipulators. Example Programs.
C++ Variables and their data types.
Lecture 5 Representation of Variables with respect to
Week # 3 memory. Rules for Constructing Variable
names. Assignment: 01
Lecture 6 Input and Output. Examples.
Arithmetic Operators.
Arithmetic Assignment Operators. Relational Operators. Logical
Week # 4 Lecture 7 Operators. Postfix and Prefix increment and decrement
operators.
Assignment Operator. Conditional Operator. Precedence and
Lecture 8
Associativity.
Condition Statements
One-Way Selection Using the if-statement. Two-Way Selection
Lecture 9
Week # 5 Using the if…else statement. Example Programs.
Lecture 10 Nested if and if…else statements.
Lecture 11 Switch Statement
Imp Multiple Selection using the switch
Week # 6 statement. Practice on Selection Structures. Assignment: 02
Lecture 12
Nested switch statements.lementation using arrays
Loops
Week # 7 Lecture 13
Introduction to Repetition Structures. Repetition

Page 3 of 7
The University of Lahore
essentials. The for loop.
Assignment: 02
Practice of for Loops. Submission
Lecture 14
The while loop. The do-while loop. Quiz: 02, 20
Examples. Minutes
Nested loops
Lecture 15
Week # 8 Nested loops.
Lecture 16 The break and continue statements.

Mid Term Examination

Functions
Lecture 17
Functions Introduction,
Week # 9
Passing Arguments and Returning Values from functions.
Lecture 18
Passing Arguments by Value & Reference Assignment: 03

Lecture 19 Functions …
Week # 10 Function Overloading, Inline Functions,
Default Arguments, Scope & Storage Assignment: 03
Lecture 20
Classes, built-in functions Submission
Arrays
Lecture 21
Introduction to Arrays, One dimensional array,
Week # 11
Initializing arrays the time of declaration. Quiz: 03, 20
Lecture 22
Examples. Minutes
2D Arrays
Week # 12 Lecture 23 Two dimensional arrays
Assignment: 04
Lecture 24 Arrays Searching & Sorting, Arrays as parameters.
Pointer
Pointers, Pointer arithmetic, Handling 1-D & 2-D Arrays with
Lecture 25
pointers.
Week # 13 Assignment: 04
Pointer to arrays Submission
Lecture 26
Quiz: 04, 20
Array of pointers. Minutes
Week # 14 Pointers…
Lecture 27 Project
1-D and 2-D characters arrays. Submission
Operations on character arrays using pointers. Dynamic Memory
Lecture 28
Allocation.

Page 4 of 7
The University of Lahore
Week # 15 Structures & Miscellaneous
Structure variables, Public and private members. Accessing
Lecture 29
members of structure, passing structures through a function.
Left shift operator, right shift operator, accessing special keys,
Lecture 30
macros. Functions versus macros.
Week # 16 File Handling
Lecture 31 File Handling.

Lecture 32 Text Files vs Binary Files.

13- Assessment Criteria


ASSESSMENT CRITERIA
No. Assessment Percentage
1. Quiz/ Assignment/Term project 20%
2. Midterm 20%
3. Final 40%
4. Lab 20%
Total 100%

14- Attendance Requirements


You are expected to attend all lectures, seminars, tutorials, and lab sessions or any other
classroom activity announced. Where you fail to attend classes, you cannot expect the
lecturer to brief you on what you have missed. You are responsible for your attendance,
not the academic staff. Attendance at tutorials and lab sessions will be strictly monitored,
and failure to attend will be taken into account.
Note: Minimum of 75% Attendance in lectures/lab sessions/seminars (if any) are
required for a student to sit in the Final-Term examination.
Etiquette: Please keep all cell phones turned OFF during class. If your activities during
class are deemed disruptive, you will be asked to leave.
15- Submission and Collection of Assignment
All assignments should be handed in at the beginning of the class sessions when they are
due. All assignments may be handed back during scheduled classes.
16- General Information

Page 5 of 7
The University of Lahore
Students are required to be familiar with the university code conduct, and to abide by its
terms and conditions.
16.1 Copying of Copyright Material by Student
A condition of acceptance as a student is the obligation to abide by the University’s
policy on the copying of copyright material. This obligation covers photocopying of any
material using the University’s photocopying machines, and the recording off air, and
making subsequent copies, of radio or television broadcasts, and photocopying
textbooks. Students who flagrantly disregard University policy and copyright
requirements will be liable to disciplinary action under the Code of Conduct.
16.2 Academic Misconduct
Please refer to the Code of Conduct for definitions and penalties for Academic
Misconduct, plagiarism, collusion, and other specific acts of academic dishonesty.
Academic honesty is crucial to a student's credibility and self-esteem, and ultimately
reflects the values and morals of the University as a whole. A student may work together
with one or a group of students discussing assignment content, identifying relevant
references, and debating issues relevant to the subject. Academic investigation is not
limited to the views and opinions of one individual, but is built by forming opinion based
on past and present work in the field. It is legitimate and appropriate to synthesize the
work of others, provided that such work is clearly and accurately referenced. Plagiarism
occurs when the work (including such things as text, figures, ideas, or conceptual
structure, whether verbatim or not) created by another person or persons is used and
presented as one’s own creation, unless the source of each quotation or piece of borrowed
material is acknowledged with an appropriate citation. Encouraging or assisting another
person to commit plagiarism is a form of improper collusion and may attract the same
penalties. To prevent Academic Misconduct occurring, students are expected to
familiarize themselves with the University policy, the Subject Outline statements, and
specific assignment guidelines. Students should also seek advice from Subject Leaders
on acceptable academic conduct.
16.3 Guidelines to Avoid Plagiarism
Whenever you copy more than a few words from any source, you must acknowledge that
source by putting the quote in quotation marks and providing the name of the author.
Full details must be provided in your bibliography. If you copy a diagram, statistical
table, map, etc., you must acknowledge the source. The recommended way is to show
this under the diagram. If you quote any statistics in your text, the source should be
acknowledged. Again full details must be provided in your bibliography. Whenever you
use the ideas of any other author you should acknowledge those, using the APA
(American Psychological Association) style of referencing.
Students are encouraged to co-operate, but collusion is a form of cheating. Students may
use any sources (acknowledged of course) other than the assignments of fellow students.
Unless your Subject Leader informs you otherwise, the following guideline should be
used: Students may work together in obtaining references, discussing the content of the
references and discussing the assignment, but when they write, they must write alone
16.4 Referencing For Written Work

Page 6 of 7
The University of Lahore
Referencing is necessary to acknowledge others' ideas, avoid plagiarism, and allow
readers to access those others’ ideas. Referencing should:
1. Acknowledge others' ideas
2. Allow readers to find the source
3. Be consistent in format and
4. Acknowledge the source of the referencing format
To attain these qualities, the school recommends use of either the Harvard or American
Psychological Association style of referencing, both of which use the author/date.
16.5 Referencing Standards
APA style referencing
17- Approval
Checked by, Approved by,

Dr. Nadeem Iqbal Dr. Adnan Khalid

Page 7 of 7
The University of Lahore

You might also like