Instructor’s Name: Year



Download 29.18 Kb.
Date31.01.2017
Size29.18 Kb.



CS 292/CMPE 291 : Advanced Programming Techniques


Zartash Afzal Uzmi

2002 / 2003

Instructor’s Name: Year:


Spring

Office No. & Email: 2129 zartash@lums.edu.pk Quarter:


Office Hours: TBD Category:


TBD

TA for the Course:


Course Code


(Units)




CS 292/CMPE 291 (4 Units)










Course

Description




This course teaches 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 using C++. The main concepts discussed are: Objects, Data Abstraction, Data Encapsulation, Polymorphism, and Inheritance. We teach the C++ language constructs that are used to implement these concepts. For example, Classes, Overloaded Operators, Overridden Methods, Friend Functions, Virtual Functions, and Templates, etc.










Core/Elective





Core










Pre-requisites





  1. Proficiency in C language programming (pointers, arrays, file I/O, dynamic memory allocation, etc.)

  2. Reasonable knowledge of lists, structures, sorting, stylized programming

(NOTE: CS 192 should be good enough)









Goals





  • Become familiar with breaking down a problem into objects rather than procedures

  • Learn object-oriented programming in C++

  • Learn what is available off the shelf to facilitate C++ development (tools, libraries)





CS 292/CMPE 291 : Advanced Programming Techniques


2002 / 2003

Year:


Spring



Quarter:



TextBooks, Programming Environment, etc.





RECOMMENDED TEXTS:

Thinking in C++ by Bruce Eckel, Vol. 1, 2nd Edition (2003)

Thinking in C++ by Bruce Eckel Vol. 2, 2nd Edition (2001)
C++: How to Program by Deitel and Deitel

The C++ Programming Language by Bjarne Stroustrup

MFC Programming from the Ground UP, Herbert Schildt










Lectures, Tutorials & Attendance Policy




There will be 20 sessions:

  • 20 of 100 minutes each


Attendance is recommended. It will be difficult to get through the class just by reading reference books.










Grading




Exercises and Quizzes 20%

Midterm 20%

Programming Projects 30% (These projects are individual)

Final Exam 30%






Regrading Deadlines


(after graded item returned)



Exercises 2days
Quizzes 2days

Midterm 3days

Final Exam End of first week of summer quarter

(No exceptions)









CS 292/CMPE 291 : Advanced Programming Techniques


2002 / 2003

Year:


Spring



Quarter:

Module





Topics




Sessions




Readings






















1

2
3
4
5


6

7
8
9




Why C++?, OOP Overview, Classes, Members, Procedures versus Objects, E1* given
Class Design, Data Modeling, PA1* given, E2 given
Introductory STL, iterators and containers
Overloading, E3 given
Inheritance, PA2 given, E4 given
Midterm
Virtual Methods. Abstract classes, Destruction, and Polymorphism, E5 given
Stream I/O in C++, PA3 given
Templates, STL Details, E6 given
Exception Handling
* E1 indicates Exercise 1

* PA1 indicates Programming Assignment 1






2

3
2
2
2
1
2

2
2
2









Download 29.18 Kb.

Share with your friends:




The database is protected by copyright ©ininet.org 2020
send message

    Main page