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++ 開發環境與作業繳交方式
Engineering: unit testing and Test Driven Development
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)
Design: Inner product, round 4: refactoring into object runtime memory model
OOP_HW3
4
(3/13, 3/15)
Language: copy constructor with deep copy semantics
5
(3/20, 3/22)
Language: parameter passing: call by reference,
                  returning a reference to data member
C++:  vector in standard template library
elememtary operations on Vectors

OOP_HW4
6
(3/27, 3/29)
Guass-Jordan method
Engineering: Structuring and cleaning up the source files
Looking back on Vector for improvment:
  multiple and saxpy as member functions of Vector
two ways to use objects in namespace std
7
(4/3, 4/5)
Note: 4/3 兒童節, 4/5 運動會補假 OOP_HW5
8
(4/10, 4/12)
Design: Matrix
Language: deep copy trio - copy constructor, destructor, and
overloaded assignment operator for Vector

special member functions: copy assignement and
operator overloading
9
(4/17, 4/19)
Midterm (4/17)
Inner product, round 3: handling I/O
stringstream
How to prepare for midterm
MIDTERM期中考: 4/17 2:10 pm - 3:10 pm. Closed book.
OOP_HW6
10
(4/24, 4/26)
補課 4/26第2節
Inner product, round 3: handling I/O
Basic Input/Output
11
(5/1, 5/3)
補課 5/3第2節
Convex polygon
OOP_HW7
12
(5/8, 5/10)
Sorting Vertices of  a convex polygon
Delegation from ConvexPolygon to Vector
OOP_HW8
Sorting Vectors with STL sort
pointer to function
13
(5/15, 5/17)
Template
Simple Factory vs constructor for convex polygon
Design: Overloading vs. overriding vs. template
Programming with STL
function template and class template
OOP_HW9
14
(5/22, 5/24)
Polymorphism
c++.com: inheritance
c++.com: polymorphism
15
(5/29, 5/31)
Note: 5/29 端午節彈性放假
16
(6/5, 6/7)
Polymorphism
lambda function
ppt in class
OOP_HW10
RegularPolygons.svg
17
(6/12, 6/14)
STL design: containers - iterators - algorithms
HTSI => Scrum
ppt on STL design
c++.com: iterators
What to do next
18
(6/19, 6/21)
Final Exam Exit survey 期末問卷調查


 Resource:   (Return to top of page)