EECS 209612 Spring 2016

Object-Oriented Programming
announcements general information schedule resource


Announcements: (Return to top of page)

                    Questions are taken 3:30 pm - 4:30 pm, 6/28 and
                    11:00 am - 12:00 pm, 7/1.

Instructor:  (Return to top of page) posted

      Dr. Y C Cheng, Professor of CSIE

      Class meetings: Mon 3-4, Wed 6

      Office hours: Mon 6, 7 and Tue 3, 4

Teacher Assistant (TA):

      鄭安發 (Mike) c0960707618@gmail.com

      Office hour: Tue 6 & Thu 5 @ 宏裕科技大樓13樓1321實驗室

      How to submit homework and How to set up working environment

      作業上傳網址

      cppunitlite

Textbook:

      How to Solve it CPP

Reference books:

      www.cplusplus.com

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

Schedule    (Return to top of page)

Week Course Material Covered Reading/Homework/Test
1
(2/22, 2/24)
介紹 C++ 開發環境與作業繳交方式
簡單講解單元測試
How to submit homework and How to set up working environment
作業上傳網址
cppunitlite
2
(2/29, 3/2)
Note: 2/29 和平紀念日補假 OOP Homework1 
Homework1: needed for hw1 
3
(3/7, 3/9)
How to Solve it
Inner product round 1
Inner product round 2
 program from class 2016-0307
 Homework1 Solution
 Homework2
 prgram from class 2016-0309
Why sizeof () did not work in function product_dot
4
(3/14, 3/16)
Inner product, round 3: handling I/O program from class 2016-0314
ppt from class 2016-0314: ut and exception
exception
basic i/o
Note: 3/16 課堂小考
Homework3
program from class 2016-0316 

OOP Note1   OOP Note2
5
(3/21, 3/23)
Inner product, round 3: handling I/O
program from class 2016-0321
program from class 2016-0323
Homework4
6
(3/28, 3/30)
Inner product, round 4: refactoring into object
program from class 2016-0328
program from class 2016-0330
Homework 5
7
(4/4, 4/6)
Note: 4/4 清明節, 4/6 運動會補假  
8
(4/11, 4/13)
special member functions: default constructor, copy
constriuctor, destructor shallow copy, deep copy
Convex polygon
 program from class 2016-0411
 program from class 2016-0413
Homework3 solution
How to prepare for midterm
9
(4/18, 4/20)
special member functions: copy assignement
operator overloading; return a reference to data member;
encapsulation and delegation:
How do ConvexPolygon and Vector collaborate?
Midterm
program from class 2016-0418:
overloading an operator as a member function
10
(4/25, 4/27)
How To Solve It: Delegation from ConvexPolygon to Vector
Sorting Vectors with STL sort
program from class 2016-0425:
computing area of ConvexPolygon
Homework6
program from class 2016-0427:
making use of std::sort (see project fun)
11
(5/2, 5/4)
Sorting Vertices of  a convex polygon
Simple Factory vs constructor for convex polygon
program from class 2016-0502: computing centroid of n vectors
program from class 2016-0504: sorting vertices around the centroid  
Homework4 solution
12
(5/9, 5/11)
Polymorphism
Design: Overloading vs. overriding vs. template
Homework7
program from class 2016-0509: replace overloading "printShapeInfo" with polymorphism
Understanding the problem (ppt)
program from class 2016-0511: function template "printShapeInfo"
13
(5/16, 5/18)
Programming with STL program from class 2016-0518: sort convex polygons in array and stl vector by perimeter
 Homework 8 
14
(5/23, 5/25)
file i/o program from class 2016-0523: circle from string
program from class 2016-0525: circle from string (completed)
Homework 9
15
(5/30, 6/1)
5/30 homework assignment Q&A (by TA) program from class 2016-0601: sort shapes (circles & convex polygons) by perimeter
16
(6/6, 6/8)
Matrix and linear transformation program from class 2016-0606: Matrix
program from class 2016-0608: sheared polygon to svg 
Homework 10 
17
(6/13, 6/15)
Platform independence
Introduction to Scrum
Platform independence
program from class 2016-0613: make, atom, git
*** homework 10 update ***
18
(6/20, 6/22)
Final Exam Final exam time: 6/22, 2:10 pm - 3:10 pm
期末課堂問卷調查


 Resource:   (Return to top of page)