EECS 209612 Spring 2017

Object-Oriented Programming
announcements general information schedule resource


Announcements: (Return to top of page)

Code in class available from https://github.com/yccheng66/oop2017s

Download and play with it after every class meeting!

Instructor:  (Return to top of page) posted

      Dr. Y C Cheng, Professor of CSIE

      Class meetings: Mon 6-7, Wed 6

      Office hours: Mon 3, 4 and Wed 7, 8

Teacher Assistant (TA):

      陳政皓 (Jeff) ZHChen8397@gmail.com

      呂昭陞 (Joker) jaker743835@gmail.com

      Office hour: Fri 6 & 7 @ 宏裕科技大樓13樓1321實驗室

      作業上傳網址


Code in class: "git clone https://github.com/yccheng66/oop2017s.git"

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/20, 2/22)
介紹 C++ 開發環境與作業繳交方式
簡單講解單元測試
How to Solve it
Inner product round 1
GitLab架設教學
GoogleTest設定教學
Jenkins設定與測試報表教學
作業上傳教學
googletest
HW1 ppt
2
(2/27, 3/1)
Note: 2/27 和平紀念日彈性放假
Inner product round 1
Inner product round 2
OOP_HW2
Git版控教學文件
3
(3/6, 3/8)
Inner product, round 4: refactoring into object runtime memory model
OOP_HW3
4
(3/13, 3/15)
copy constructor with deep copy semantics
5
(3/20, 3/22)
parameter passing: call by reference
C++:  vector in standard template library
elememtary operations on Vectors
OOP_HW4
6
(3/27, 3/29)
Guass-Jordan method
two ways to use objects in namespace std
Structuring and cleaning up the source files
Matrix
7
(4/3, 4/5)
Note: 4/3 兒童節, 4/5 運動會補假
8
(4/10, 4/12)
Vector: copy constructor, destructor, and
overloaded assignment operator
Inner product, round 3: handling I/O
Convex polygon
9
(4/17, 4/19)
special member functions: copy assignement
operator overloading; return a reference to data member;
encapsulation and delegation:
How do ConvexPolygon and Vector collaborate?
Midterm
10
(4/24, 4/26)
Delegation from ConvexPolygon to Vector
Sorting Vectors with STL sort
11
(5/1, 5/3)
Sorting Vertices of  a convex polygon
Simple Factory vs constructor for convex polygon
12
(5/8, 5/10)
Polymorphism
Design: Overloading vs. overriding vs. template
13
(5/15, 5/17)
Programming with STL
14
(5/22, 5/24)
file i/o
15
(5/29, 5/31)
Note: 5/29 端午節彈性放假
16
(6/5, 6/7)
Matrix and linear transformation
17
(6/12, 6/14)
Platform independence
Introduction to Scrum
18
(6/19, 6/21)
Final Exam 期末課堂問卷調查


 Resource:   (Return to top of page)