Lahore University of Management Sciences
CS 292: Advanced Programming Techniques
Instructor
|
Dr. Shafay Shamail
|
Year
|
2002
|
Email
|
sshamail@lums.edu.pk
|
Quarter
|
Winter
|
Teaching Assistants
|
TBA
| Units |
4
| 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. It focuses on object-oriented programming. The main concepts discussed are: Objects; Data Abstraction; Data Encapsulation; Polymorphism; and Inheritance. The C++ language constructs that are used to implement these concepts are also discussed. Some of these are: Classes; Overloaded Operators; Overridden Methods; Friend Functions; Virtual Functions; Templates; and Files. Some selective advanced topics will also be discussed at the end of the course.
Goals
The goal of this course is to learn good programming practices.
Proposed Text Book(s)
C++: How to Program; Deitel and Deitel
Reference Book(s)
-
The C++ Programming Language, Bjarne Stroustrup, Third Edition
-
Object Oriented Programming in C++, Robert Lafore, Third Edition
-
Developing Professional Applications for Windows 98 and NT Using MFC, Third Edition, Marchall Brain, Lance Lovette
-
MFC Programming from the Ground UP, Herbert Schildt
Prerequisites
CS 192: Problem Solving Using C++
Lectures
-
1 hour and 40 minutes each, meeting twice per week
Labs
Supervised by the TA
Tutorials
As and when needed
Conducted by the TA
Assignments
To be announced during the class.
Project
One group project, due one weak before the dead weak.
Members of the group shall not be more than four.
The project titles to be finalized during the class.
Grading
Quizzes 10%
Assignments 10%
Lab 10%
Project 10%
Mid term exam 30%
End term exam 30%
Rules, Regulations and Other Policies
All university rules apply.
Late assignments will not be marked.
Quizzes may be unannounced.
No makeup quizzes will be taken.
Tools and Development Environment
To be announced later.
Lecture Details
Weak
|
Topic
| Text | Ref. 1 |
Ref. 2
| -
|
Introduction and Review
|
Chap 6
|
Chap 2
|
Chap 1
| -
|
Classes and Data Abstraction
|
6
|
10
|
6
| -
|
Classes and Data Encapsulation
|
7
|
10
|
6
| -
|
Overloading
|
8
|
11
|
8
| -
|
Inheritance
Mid Term Exam |
9
|
12
|
9
| -
|
Virtual Functions and Polymorphism
|
10
|
15
|
11
| -
|
C++ Stream Input / Output
File Processing
|
11
14
|
21
|
12
12
| -
|
Templates
|
12
|
13
|
14
| -
|
Exception Handling
|
13
|
14
|
14
| -
|
Selective Advanced Topics
Recap
|
Reference Material
|
|
|
Share with your friends: |