KEMBAR78
OOP (CS-217) Course Outline Spring 2021 (BCS-2A) | PDF | Pointer (Computer Programming) | Method (Computer Programming)
0% found this document useful (0 votes)
311 views3 pages

OOP (CS-217) Course Outline Spring 2021 (BCS-2A)

FAST NUCES Object Oriented Programming - Course Outline

Uploaded by

Atta Ullah
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)
311 views3 pages

OOP (CS-217) Course Outline Spring 2021 (BCS-2A)

FAST NUCES Object Oriented Programming - Course Outline

Uploaded by

Atta Ullah
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/ 3

NATIONAL UNIVERSITY

of Computer & Emerging Sciences, Lahore

Department of Computer Science


CS-217 – Object Oriented Programming
Spring 2021
Instructor Name: Abeeda Akram TA Name: Haris Ali
Email address: abeeda.akram@nu.edu.pk Email address: l181247@lhr.nu.edu.pk
Office Location: Exam Hall, old admin block
Office Hours: Tue-Thu -10:00-11:30 a.m.

Course Information
Program: BS (CS)
Credit Hours: 3 + (1 for Lab )
Type: Core
Class Venue: CS-10
Pre-requisites: Programming Fundamentals (CS-118)
Class Meeting Time: Section (BCS-2A) Mon-Wed 08:00 – 9:30 AM

Course Description/Objectives/Goals:
The core objectives of this course are to introduce,
• Object oriented programming with data abstraction and encapsulation.
• The classes, objects and relationship among different objects and classes in C++?
• Generic programming using templates, and template specializations.

Course Learning Outcomes (CLOs):


At the end of the course students will be able to: Domain BT*
Level
Understand dynamic memory management with pointers. C 2
Understand principles of object oriented program C 2
Identify the objects & their relationships to build object oriented C 3
solution
Model a solution for a given problem using object oriented principles C 3
Examine an object oriented solution C 4
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective
domain

Course Textbooks:
1. C++ Programming: Program Design Including Data Structures, by D. S. Malik (8th Edition)
2. C++: How to Program? by Deitle & Deitle (9th Edition)
Additional references and books related to the course:
3. Problem Solving with C++, by Walter Savitch
4. https://www.learncpp.com
Course Contents Weekly and Lecture-wise Breakdown
Week Topic Lecture-1 Lecture-2
1 Pointers Introduction, Pointer variables and
Use of Constant with Pointers.
Initialization, Address of Operator, Difference between a Pointer and a
Dereferencing Operator. Pointer Reference.
Operations (Relational, Arithmetic) Passing pointers to functions by value and
by reference.
2 Dynamic memory allocation using pointers Dynamic 1- dimensional arrays, Create,
and accessing dynamic memory. Dynamic Delete, Grow and Shrink.
Pointers Variables new and delete operators. Example of programs using 1D dynamic
allocation: e.g., mathematical sets union and
intersection.
3 Memory Leak and Dangling Pointers, Pointers Indirection. Dynamic 2D,
Dynamic 1- dimensional char arrays for allocation, Matrices, CStrings etc.
cstrings, string operations like search,
concatenation etc.
4 Structured Programming vs Object- Objects vs Class, state vs behavior, access
oriented Programming, Principles of specifiers (Public, Private), Member
Object-oriented modularization, abstraction and functions (accessors, utilities, mutators etc)
basics encapsulation.
5 Constructors (default, overloaded), Dynamic memory allocation and Object
Function overloading. assignment, Parameter passing,
6
Mid Term 1
7 Cascaded function calls, static members,
Object-oriented Shallow vs Deep copy, Copy constructor,
inline functions and other miscellaneous
basics Destructors, this pointer,
issues.
8 Unary operators using member functions Binary operators using member functions
9
Operator
Binary operators using non-member Unary operators, Pre and post increment,
overloading
functions, concept of friendship, subscript operator.
10 Part-whole relationships, Composition
Object and Class Association/Aggregation Implementation issues (constructor call
relationships sequence, initializer list, etc)
11 Inheritance basics, Type of Inheritance, Function Overriding and sub-typing details
public, protected, private.
12
Mid Term 2
13 Polymorphism introduction Static vs Polymorphism vs down casting, run-time
dynamic binding details, virtual tables and type identification, dynamic cast
virtual pointers,
14 Object and Class Pure-virtual functions, Abstract classes, Multiple Inheritance and Diamond Problem
relationships Interfaces (optional) Multiplicity, Memory Management
Bi-directional relationships, Forward-class
declarations issues

15 Generic Template functions Template classes


Programming Template Specializations,
16 & Exception Handling. Introduction to STL, Iterators and
Exception Collections
Handling.
(Tentative) Grading Criteria:
1. Assignments + Home works + Project (20 %)
2. Quizzes (10 %)
3. Midterms (30 %)
4. Final Exam (40 %)

• Grading scheme for this course is Absolute under application of CS department's grading
policies.
• Minimum requirement to pass this course is to obtain at least 50% absolute marks

Course Policies:
o All assignments and homework must be done individually.
o Late Submissions of assignments will not be accepted.
o Plagiarism in any work (Quiz, Assignment, Midterms, Project and Final Exam) from any
source, Internet or a Student will result in deduction of absolute marks or F grade.
o Minimum 80% attendance is required for appearing in the Final exams.

You might also like