CSIE 168429

Fall 2012

Object-Oriented Programming
Announcements |  General Information |  Schedule

Announcements:

Instructor:

Teacher Assistant (TA):

Textbook

Reference Documents:

Course Description:

Topics include:

  1. C++ Object Model
  2. Classes and Objects
  3. Constructors and Destructors
  4. Inheritance
  5. Virtual Functions and Polymorphism
  6. Operator Overloading
  7. Exceptions
  8. Generic Programming
  9. Standard Template Library
  10. Term Project

Prerequisites:

Grading policy

  1. Homework 40%
  2. Midterm Exam 25%
  3. Final Exam 25%
  4. Attendance  10%

Examinations:

Schedule(Return to top of page)

Week Course Material Covered Reading / Homework / Test
01 (09.17-09.21, 3 hrs) How to solve it How to solve it
TCSE paper
02 (09.24-09.28, 3 hrs) How to solve it
Example: applying how to solve it (math vector in C)
class note;
program in class
Homework #1
03 (10.01-10.05, 3 hrs) Ch 7: class - member function, data member, public, private,
dynamic memory allocation and deallocation
program in class
runtime memory model
04 (10.08-10.12, 2 hrs) Ch 7: constructors and destructors
Ch 9: memory allocation and deallocation
Note︰雙十節放假 (10/10)
Homework #2
05 (10.15-10.19, 3 hrs) Overloading operator [] (Ch 4)
Unit testing with CppUnitLite
Refactoring the vector program
unit testing vectors
program in class
06 (10.22-10.26, 3 hrs) Ch 5 Strings
Ch 10 Exceptions: unit testing "operator []"
Design for testability: use of exception
program in class
Operator overload and Design for testability
Homework #3
07 (10.29-11.02, 3 hrs) Matrix and vector
Ch 6: Streams and File I/O
Matrix and Vector program
Matrix and Vector ppt
08 (11.05-11.09, 3 hrs) Ch 21: Templates
Ch 18: static member functions and stl vector
Matrix and Vector program (template)
Homework #4
Homework #3 Solution
09 (11.12-11.16, 3 hrs) Midterm Exam: Date: 1112 (Mon) 10:10 am ~ 11:10 am
   covers material up to 1105.
   Most problems will be programming problems.
University - 1
University ppt
10 (11.19-11.23, 3 hrs) University 2
Classes, responsibilities, and collaborations
UML
University - 2
11 (11.26-11.30, 3 hrs) University 3
relationship - *, &, and object
iterator
University - 3
Homework #4 Solution
Midterm solution
12 (12.03-12.07, 3 hrs) From object-based to object-oriented: Sorting
Ch 18 STL
Ch 13: Inheritance
STL Intro
Class note: iterator to decouple
Sorting example
Homework #5
13 (12.10-12.14, 3 hrs) Ch 14: Polymorphism and Virtual Functions Homework #6
OOSort2.cpp
14 (12.17-12.21, 3 hrs) University 4: inheritance University 4-1219-2012
15 (12.24-12.28, 3 hrs) University 5: Composition and delegation University ppt updated
University 5-1224-2012: Delegation
University 4-122402012: Inheritance
Strategy pattern
16 (12.31-01.04, 3 hrs) Patterns Homework #7
17 (01.07-01.11, 3 hrs) Linkage to Software Engineering: Introduction to Scrum Introduction to Scrum
Homework #5 Solution
Homework #6 Solution
Homework #7 Solution
18 (01.14-01.18, 3 hrs) Final Exam Date: 2013/1/14 (Mon) 10:10 am ~ 11:40 am
   covers all materials this semester.
   Most problems will be programming problems.
   30% of the marks will be from homework.