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

University of Central Punjab: Program (S) To Be Evaluated A. Course Description Bsse

This document provides details for the Programming Fundamentals course offered at the University of Central Punjab. The course is a 4 credit hour course covering topics such as arrays, file I/O, functions, pointers, dynamic memory allocation, and 2D arrays over 15 weeks. Student assessment includes assignments, quizzes, programming assignments, midterm and final exams. Plagiarism is not tolerated, and penalties increase for repeated offenses.

Uploaded by

nabeel nawaz
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)
102 views5 pages

University of Central Punjab: Program (S) To Be Evaluated A. Course Description Bsse

This document provides details for the Programming Fundamentals course offered at the University of Central Punjab. The course is a 4 credit hour course covering topics such as arrays, file I/O, functions, pointers, dynamic memory allocation, and 2D arrays over 15 weeks. Student assessment includes assignments, quizzes, programming assignments, midterm and final exams. Plagiarism is not tolerated, and penalties increase for repeated offenses.

Uploaded by

nabeel nawaz
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/ 5

University of Central Punjab

Faculty of Information Technology

PROGRAM (S) TO BE
BSSE
EVALUATED

A. Course Description

Course Code SECP1021


Course Title Programming Fundamentals
Credit Hours 4(3+1)
Prerequisites by Course(s) and SECP1011
Topics
Assessment Instruments with Theory:
Weights (homework, quizzes,
midterms, final, programming • Assignments 20% (Min. count - 6)
assignments, lab work, etc.) • Quizzes 15% (Min. count - 6)
• CP 05%
• Midterm 20%
• Final 40%
Lab:
• Labs 20% (Min. count - 6)
• Project 15%
• CP 05%
• Midterm 20%
• Final 40%
Semester Spring 2021
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.
Current Catalog Description This course is designed to teach advanced programming techniques to
those who have learned basic programming concepts and are ready to
learn in depth programming. The objective of this course is to give
students a thorough understanding of C++. This course will also enable
the students to develop practical applications using Visual Studio.
Textbook (or Laboratory Manual C++ Programming from Problem Analysis to Problem design by D.S.
for Laboratory Courses) Malik

Reference Material C++ Programming DS. Malik


Let Us C++ by Yashwant Kanatkar
C++ How to Program by Paul Deitel and Harvey Deitel
Topics Covered in the Course, Attached
with Number of Lectures on Each
Topic (assume 15-week instruction
and one-hour lectures)

1
LECTURES Lecture Topics Instruments
• Introduction & Review
o Introduction about the course and administrative
o Following Review to be completed in first 4-weeks as
and when required
1
o (Fundamentals of C++,Concept of TYPE, Identifier,
Declaration, Initialization, Expression, Assignment,
Selection, Loop, Arrays)

• Array
o Integer, Character, C-String
2
o Declaration, Initialization, Input, Output.

• File I/O (Text File I/O)


o Need and importance of File I/O.
o Different types of file streams. (ifstream / ofstream)
o Opening/Closing a text file stream.
3
o Reading/Writing formatted/un-formatted data from/to
file.
o Problem solving involving files (ofstream).

• File I/O (Text File I/O)


o Need and importance of File I/O.
o Different types of file streams. (ifstream / ofstream)
o Opening/Closing a text file stream.
4 Assignment 1
o Reading/Writing formatted/un-formatted data from/to
file.
o Problem solving involving files (ifstream).

• Functions
o Need and importance of functions
o Predefine functions, user define functions
5
o Value returning function, void function
o Function Prototypes
o Function Definition
o Function Calling

• Functions
o Need and importance of functions
o Predefine functions, user define functions
o Value returning function, void function
6
o Function Prototypes Paper Quiz 1
o Function Definition Graded Lab 1
o Function Calling
o Formal parameter, Actual parameter
o Value parameter, Reference parameter

• Arrays/CStrings, Filing and Functions.


o Problem solving involving filing, function and
7
array/CString.

8 • Arrays/CStrings, Filing and Functions. Assignment 2

2
o Problem solving involving filing, function and
array/CString.

• POINTERS
o Reason for introducing pointers.
o Pointer declarations and initialization.
o Explaining the difference between pointer declaration
and ordinary variable declarations.
9
o Taking address of (&) a variable.
o Dereferencing a pointer.
o Different types of constants involving pointers.
o Problem solving involving pointers.

• POINTERS & FUNCTIONS


o Sending a Pointer as a parameter to a function.
o Explaining the difference between passing of an
ordinary variable and of a pointer. Paper Quiz 2
10
o Changing the value of the pointed entity through pointer Graded Lab 2
parameter.
o Problem solving involving pointers and functions.

• POINTERS & 1D ARRAYS


o Explaining the close affinity between pointers and 1D
arrays.
o Explaining operations allowed on pointers. (+,-)
11 o Accessing 1D arrays through pointers.
o Explaining the equivalence of arr[i] and *(arr+i).
o Problem Solving involving pointers, arrays and
functions.

• POINTERS, 1D ARRAYS & FUNCTIONS


o Explaining a pointer parameter as referring to an array.
o Explaining how to send an array as a pointer to a
function.
12 o Explaining how to send a part of an array to a function Assignment 3
as pointer.
o Problem Solving involving pointers, 1D arrays and
functions.

• DYNAMIC MEMEORY ALLOCATION


o Explaining what is Dynamic Memory Allocation.
o Explaining the problem that is solved by Dynamic
Memory Allocation (referred to at the start of Pointer
Paper Quiz 3
13 Topic). Graded Lab 3
o Explaining new and delete (both the forms).
o Problem Solving involving pointers, 1D arrays and
functions.

• POINTER HAZARDS
o Explaining Memory Leak
o Explaining Dangling Pointer
14
o Problem Solving involving pointers, 1D arrays and
functions

• Problem Solving involving Dynamic memory allocation


15 and functions.

3
16
• Revision before Midterm.

Mid Term
• Discuss Deep Copy and Shallow copy
o Discuss issues with shallow copy.
o Discuss the use of deep copy.
• Auto-Growing of 1D arrays
17
o Need for auto-growing arrays.
o Technique for growing 1D arrays automatically.
o Problem solving involving auto-growing 1D arrays.

• Auto-Growing of 1D arrays
o Need for auto-growing arrays.
18 o Technique for growing 1D arrays automatically. Assignment 4
o Problem solving involving auto-growing 1D arrays.

• 2D ARRAYS
o Concept of 2D array as array of arrays.
o Declaring and initializing 2D arrays.
19
o Memory model of 2D array.
o Accessing individual elements in 2D array.

• 2D ARRAYS
o Concept of 2D array as array of arrays.
o Declaring and initializing 2D arrays.
o Memory model of 2D array.
Paper Quiz 4
o Accessing individual elements in 2D array.
20 Graded Lab 4
o Traversing 2D array (row-wise, column-wise,
diagonally)
o Handling 2D arrays using 1D array functions.
o Problem solving involving 2D arrays.

• 2D ARRAYS & FUNCTIONS


o Passing 2D array as parameter to a function.
21 o Handling 2D arrays using 1D array functions.
o Problem solving involving 2D arrays & functions

• 2D ARRAYS & FUNCTIONS


o Passing 2D array as parameter to a function.
22 o Handling 2D arrays using 1D array functions. Assignment 5
o Problem solving involving 2D arrays & functions.

• Double Pointer
o Need of double pointer.
o Declaration of double pointer.
23 o Difference between single and double pointers.
o Problem solving involving double pointers to solidify the
concept of double pointer.

• Double Pointer and Function


o Passing double pointer as parameter.
Paper Quiz 5
o Problem solving involving double pointers to solidify the
24 Graded Lab 5
concept of double pointer with functions.

25 • Dynamic Memory Allocation & Double Pointer Project

4
o Dynamic Memory allocation involving double pointer.
o Creating 2D array dynamically using double pointer.
o Explaining benefits of creating 2D arrays dynamically.
o Problem solving involving dynamically allocated 2D
arrays and functions.

• Dynamic Memory Allocation & Double Pointer


26 oCompare the memory allocation and memory mapping
of static 2D array and dynamic 2D array.
• 2D Array with Jagged edges
o Dynamic Memory allocation for jagged edges involving
double pointer.
o Creating 2D array dynamically for jagged edges using
27
double pointer. Assignment 6
o Explaining benefits of creating 2D arrays for jagged
edges dynamically.
o Problem solving involving jagged edges, dynamically
allocated 2D arrays and functions.

• 2D Array with Jagged edges


o Storing names in 2D arrays.
o Problem with storing names in 2D arrays.
o Solving the memory wastage issue by Jagged edges of
28
2D arrays.
o Problem solving using jagged edges esp. CString
storage.

• Auto-Growing of 2D arrays
o Need for auto-growing arrays (Column wise).
Paper Quiz 6
o Technique for growing 2D arrays automatically
29 Graded Lab 6
(Column wise).
o Problem solving involving auto-growing 2D arrays.

• Auto-Growing of 2D arrays
o Need for auto-growing arrays (Row wise).
o Technique for growing 2D arrays automatically (Row
30
wise).
o Problem solving involving auto-growing 2D arrays

31 • Problem Solving
32 • Problem Solving

You might also like