"Design is where science and art break even."
- Robin Mathew
Pattern Presentations and Discussions are the Heart of this Course.
This is a seminar course, based on the book "Design Patterns", Gamma et. al. It is intended to provide a sophisticated look at Object Oriented Design methods with emphasis on conceptual understanding rather than writing a lot of code (this presumes you have already written a LOT of code in CSE681 and CSE687). Students will make several presentations on patterns from the text and will write a small amount of supporting code. This work is conducted in teams of two or three students each. The presenting students and I jointly lead a discussion of each pattern following its presentation.Syllabus for CSE776 - Design Patterns | |||
---|---|---|---|
Session | Pattern | Pattern Presenters Monday |
Pattern Presenters Wednesday |
Session #1a MW, Aug 27, Aug 29 |
Introduction | Jim Fawcett | Jim Fawcett |
Session #1b MW, Aug 27, Aug 29 |
Abstract Factory - Example Presentation | Jim Fawcett | Jim Fawcett |
Holiday MW, Sep 03, 03 |
Labor Day | No Class | Session #2a,b,c presenters meet with Instructor |
Note: | Often either the Monday or Wednesday class has significantly larger enrollment than the other class so several students may be assigned presentations for the class that they are not registered for. If that is a problem, please let me know right away. Everyone should have at least one presentation scheduled now, and a few may have two scheduled. I expect that everyone will have given three presentations by the end of the course. | ||
Session #2a MW, Sep 10, 12 |
Builder | Burak Kakillioglu, Sai Lella, Himanshu Chabbra | Chen Luo, Yuexin Jiang, Shubham Jiwtode |
Session #2b MW, Sep 10, 12 |
Singleton | Akhil Karuturi, Gabriel Adams | Nileshkumar Dwivedi, Quan Liang, Honey Shah |
Session #2c MW, Sep 10, 12 |
Factory Method | Mrunal Dharmendra, Yuxuan Xie | Vishal Parekh, Xiaohan Zhang |
Session #3a MW, Sep 17, 19 |
Prototype | Yunsheng Guo, Sneha Sarkar | Saloni Jain, Yuan Liu, ketul Mehta |
Session #3b MW, Sep 17, 19 |
Adapter | Adarsh Bodineni, Ankur Kothari, Jiacheng Zhang | Biao A, Sayali Naval, Jim Fawcett |
Session #3c MW, Sep 17, 19 |
Bridge | Jim Fawcett | Jim Fawcett |
Session #4a MW, Sep 24, 26 |
Composite | Harika Bandaru, Yunong Li, Shashank Singh | Akash Bhosale, Rohit More, Jim Fawcett |
Session #4b MW, Sep 24, 26 |
Decorator | Chetali Mahore, Abhishek Mehrotra, Tanyu Qi | Xu Zhang, Vibhu Bharadwaj, Datan Xu |
Session #4c MW, Sep 24, 26 |
Facade | Nishant Agrawal, Lingyun Ke, Hao Tian | Bohao Li, Vishvesh Shah, Jim Fawcett |
Session #5a MW, Oct 01, 03 |
Flyweight | Yunong Li, Weitian Ding, Jim Fawcett | Naga Krishna, Weiju Zhou, Jim Fawcett |
Session #5b MW, Oct 01, 03 |
Proxy | Gabriel Adams, Ankur Kothari, Sai Lella, Mengchen Fan | Weiheng Chai, Jiayu Li, Xiang Li |
Session #5c MW, Oct 01, 03 |
Chain of Responsibility | Shiqi Wang, Yuxuan Xing, Liuqing Xu | Tao Jun Lin, Datan Xu, Zheng Zhan |
Session #6a MW, Oct 08, 10 |
Command | Jim Fawcett | Jim Fawcett |
Session #6b MW, Oct 08, 10 |
Interpreter | Yunsheng Guo, Pratheek Gowda, Koushik Godbole | Akash Bhosale, Hao Zhang, Biao A |
Session #6c MW, Oct 08, 10 |
Iterator | Himanshu Chhabra, Weitian Ding, Jim Fawcett | Saloni Jain, Yuexin Jiang, Quan Liang |
Session #7a MW, Oct 15, 17 |
Mediator | Pratheek Gowda, Chetali Mahore, Mengchen Fan | Akash Bhosale, Bohao Li, Jiayu Li |
Session #7b MW, Oct 15, 17 |
Memento | Lingyun Ke, Abhishek Mehrotra, Weitian Ding | Vibhu Bharadwaj, Quan Liang, Jim Fawcett |
Session #7c MW, Oct 15, 17 |
Observer | Harika Bandaru, Tianyu Qi, Shiqi Wang | Cheng Wang, Weiheng Chai, Weiju Zhou |
Session #8a MW, Oct 22, 24 |
State | Sneha Sarkar, Hao Tian, Jim Fawcett | Tao Jun Lin, Chen Luo, Yuan Liu |
Session #8b MW, Oct 22, 24 |
Strategy | Jim Fawcett | Jim Fawcett |
Session #8c MW, Oct 22, 24 |
Template Method | Shashank Singh, Yuxuan Xie, Nishant Agrawal | Biao A, Weiju Zhou, Cheng Wang |
Session #9a MW, Oct 29, Oct 11 |
Visitor | Yuxuan Xing, Jiacheng Zhang, Pratheek Gowda, | Zhan Zheng, Hao Zhang, Shubham Jwitode |
Session #9b MW, Oct 29, Oct 31 |
Extension Object PLOP 3, pg 79 |
Adarsh bodineni, Mrunal Dharmendra, Jim Fawcett | Xu Zhang, Nileshkumar Dwivedi, Jim Fawcett |
Session #9c MW, Oct 29, Oct 31 |
Role Object, PLOP 4, pg 15 |
Akhil Karuturi, Burak Kakillioglu, Tianyu Qi | Bohao Li, Xiaohan Zhang, Vishvesh Shah |
Session #10a MW, Nov 05, 07 |
Acyclic Visitor Acyclic Visitors pdf |
Abhishek Mehrotra, Tianyu Qi, Hao Tian | Naga Krishna, Xiang Li, Nileshkumar Dwivedi |
Session #10b MW, Nov 05, 07 |
Security Patterns Repository Security Patterns Repository pdf |
Harika Bandaru, Sai Lella, Lingyun Ke, Koushik Godbole | Vibhu Bharadwaj, Vishal Parekh, Honey Shah, Weiheng Chai |
Session #10c MW, Nov 05, 07 |
Customer Interaction Customer Interactions pdf |
Chetali Mahore, Sneha Sarkar, Jim Fawcett | Saloni Jain, Datan Xu, Jim Fawcett |
Session #11a MW, Nov 12, 14 |
Patterns for Scripted Acceptance Test-Driven Development Scripted Test-Driven Acceptance pdf |
Ankur Kothari, Nishant Agrawal, Yuxuan Xie | Yuexin Jiang, Ketul Mehta, Xu Zhang |
Session #11b MW, Nov 12, 14 |
Input and Output Pattern Language Input Output Pattern Language pdf |
Yuxuan Xing, Yunong Li, Shiqi Wang | Naga Krishna, Tao Jun Lin, Rohit More, Honey Shah |
Session #11c MW, Nov 12, 14 |
Patterns for Agile Developent Patterns for Agile Developement - 2 pdf Patterns for Agile Developement - 3 pdf |
Koushik Godbole, Liuqing Xu, Mengchen Fan | Yuan Liu, Xiang Li, Shubham Jiwtode, Sayali Naval |
No Classes MW, Nov 19, 21 |
Thanksgiving Holiday | ||
Session #12a MW, Nov 26, 28 |
Restful Service Pattern Restful Service Pattern, Restful Service - Wikipedia |
Adarsh Bodineni, Yunsheng Guo, Jiacheng Zhang | Cheng Wang, Rohit More, Zheng Zhan, Jiayu Li |
Session #12b MW, Nov 26, 28 |
Value Object Value Object pdf |
Burak Kikillioglu, Akhil Karuturi, Liuqing Xu | Hao Zhang, Luo Chen, Xiaohan Zhang |
Session #12c MW, Nov 26, 28 |
Big Ball of Mud Big Ball of Mud pdf |
Himanshu Chhabra, Gabriel Adams, Mrunal Dharmendra, Shashank Singh | Sayali Naval, Vishvesh Shah, Ketul Mehta, Vishal Parekh |
Session #13a MW, Dec 03, 05 |
Patterns and Pattern combinations in practice | Jim Fawcett | Jim Fawcett |
Session #13b MW, Dec 03, 05 |
Refactoring to Patterns Chap7 - Simplification Chap8 - Generalization |
Jim Fawcett | Jim Fawcett |
Session #13c MW, Dec 03, 05 |
More on Pattern Languages Where do we go from here? |
Jim Fawcett | Jim Fawcett |