CSIE 5905004     Fall 2017
Pattern-oriented Software Design
announcements general information schedule resource


Announcements: (Return to top of page)

Instructor:  (Return to top of page)

      Dr. Y C Cheng, Professor of CSIE

      Web: http://www.cc.ntut.edu.tw/~yccheng/

      Class meetings: Wed 2 and Fri 3-4 @科研 (S&T Research) 1322

      Office hours: Wed 6-8 and Fri 2, 5-6@科研 (S&T Research) 1531

Teacher Assistant (TA):

      張建發 (James), 林杰毅 (Jay) posd2017f@gmail.com

      Office hours: Fri 2pm to 4pm@科研 (S&T Research) 1321

Textbook:

Code for posd2017f

           git clone https://github.com/yccheng66/posd2017f

Reference materials:

Course Description: This course will cover the following topics:

Prerequisites: 

Grading policy

Schedule    (Return to top of page)

Closed book and notes

Scope: materials from weeks 10 - 17.

Week
(Day)

Course Material Covered

Reading/Homework/Project

01
(9/13、9/15)
 Review of baisc OOP principles through example
 Obtain code for the review
 git clone https://github.com/yccheng66/oop2017s
 Setup your environment
 Homework 1
 Class note on 09/15
02
(9/20、9/22)
Strandard template lib (STL): review
Programming to an interface...
Dependency inversion principle
In class problem solving: Prolog term matching
-- architecture: UI, interpretation, and domain
 Read Chapter 1 GoF
 In-class example on github: https://github.com/yccheng66/posd2017f
 Class note on 09/20
 Class note on 09/22
03
(9/27、9/29)
 In class problem solving: domain (1)
 -- Atom vs. Atom, Number vs. Number
 -- Atom vs. Number
 -- Variable vs. Atom and Number
 Class note on 09/27
Proxy (207)
GoF
 Homework 2
04
(10/04、10/06)
 Note:10/04中秋節調整放假
 In class problem solving:domain (2)
-- Structure (1)
 Class note on 10/06
Composite (163), GoF
05
(10/11、10/13)
In class problem solving: domain (3)
-- Structure (2)
-- Variable vs Variable
 Homework 3
 Class note on 10/11
 Class note on 10/13
06
(10/18、10/20)
Design tradeoff in Composite pattern:Implementation 3-4
Introduction to Design Patterns (Ch 1)
Proxy
In class problem solving: domain (3)
-- List as a specialized structure
In class problem solving:  interpretation (Interpreter and Builder)
-- scanner
 Composite, GoF
 Organizing the Catalog, Chapter 1, GoF
 Proxy, GoF
 Homework 4
 Class note on 10/20
07
(10/25、10/27)
In class problem solving:  interpretation (Interpreter and Builder)
-- parser
 Builder, GoF
 Class note on 10/27
08
(11/01、11/03)
In class problem solving:  interpretation (Interpreter and Builder)
-- parser
 Class note on 11/01
 Class note on 11/03
 Homework 5
09
(11/08、11/10)
Lecture: Chapter 1, Interpreter
Mob programming demo (1)
Improving structure of project: Invited contribution:
 Class note on 11/10
10
(11/15、11/17)
Review 11/15
Midterm
File system example
Midterm to take place on 11/17, 10:10 am - 11:40 am. Closed book and notes.

Midterm coverage: Example program in class, Chapter 1, GoF. Patterns: Composite, Proxy, Builder, and Interpreter.
11
(11/22、11/24)
Design patterns, by example
12
(11/29、12/01)
Design patterns, by example
13
(12/06、12/08)
Design patterns, by example
14
(12/13、12/15)
Design patterns, by example
15
(12/20、12/22)
Pattern language
16
(12/27、12/29)
Homework demo
17
(1/03、1/05)
Homework demo
18
(1/10、1/12) 
 Final


 Resource:   (Return to top of page)