Pattern Presentations and Discussions are the Heart of this Course
Course Resources:
Syllabus, Lectures, Presentation Upload InstructionsCourse Scope:
This seminar course is 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 students each. The presenting students and I jointly lead a discussion of each pattern following its presentation.Prerequisites:
Either CSE681 - Software Modeling and Analysis or CSE687 - Object Oriented Design are required prerequisites.
No exceptions without instructor's explicit permission, which is rarely granted.
Required Texts and Notes:
-
Design Patterns, Elements of Reusable Object-Oriented Software, Erich Gamma, et. al.,
Addison-Wesley, 1994,
ISBN 0-201-63361-2 - Student presentations available here, after the presentation, and will remain until the beginning of the next semester. www.ecs.syr.edu/faculty/fawcett/handouts/CSE776
-
John Vlissides Patterns Home Page
Presentation on Patterns (and more) by Erich Gamma
Design Patterns Study Group
Books held in Sci-Tech Library:
- A copy of Design Patterns class text (above) is in the library, available while you wait for your book order to arrive.
- Refactoring to Patterns, Joshua Kerievsky, Addison-Wesley, 2005
- Patterns of Enterprise Application Architecture, Martin Fowler, Addison-Wesley, 2003
- Enterprise Integration Patterns, Gregor Hohpe, Bobby Woolf, Addison-Wesley, 2004
- Pattern-Oriented Software Architecture, Schmidt, et. al., Wiley, 2000
- Organizational Patterns of Agile Software Developement, James Coplien and Neil Harrison, Prentice-Hall, 2005
Presentation Resources:
Lectures Student Presentations Instructor Presentations SyllabusFile Download ScreenShot Project Upload Instructions
Collection of Plop papers from various conferences
Plop 2007 Conference Papers on-line
Plop 2006 Conference Papers on-line
Plop 2005 Conference Papers on-line
Input Output Pattern Language
Big Ball of Mud
Acyclic Visitor
Extension Object
Role Object
Value Object
Selfish Object
Security Patterns Repository
Customer Interactions
Restful Service Pattern
Pattern Catalog Plop 4 - 1997 Conference Papers Table of Contents
Plop 3 - 1996 Conference Papers abstracts on-line
Hillside Group Site Patterns Summary Patterns in a Nutshell Patterns Books
Survey of Design Patterns Design Patterns and Tips
Syllabus - Fall 2011:
At the end of each class next week's presenters will meet briefly with the instructor.Syllabus for CSE776 - Design Patterns | |||
---|---|---|---|
Session | Pattern | Pattern Presenters Monday |
Pattern Presenters Wednesday |
Session #1a MW, Aug 28,30 |
Introduction | Jim Fawcett | Jim Fawcett |
Session #1b MW, Aug 28,30 |
Abstract Factory - Example Presentation | Jim Fawcett | Jim Fawcett |
Session #1c MW, Aug 28,30 |
Assign Presentations | Jim Fawcett | Jim Fawcett |
Holiday MW, Sep 05,07 |
Labor Day | No Class | First presenters meet with Instructor |
Session #2a MW, Sep 12,14 |
Builder | Kajal Kapoor, Snehal Gunjal | Pratik Sule, Yateen Nikharge |
Session #2b MW, Sep 12,14 |
Singleton | Priyank Kabaria, Robert Roach | Anjali Banka, Miten Patwa |
Session #2c MW, Sep 12,14 |
Factory Method | Jim Fawcett | Jim Fawcett |
Session #3a MW, Sep 19,21 |
Prototype | Parminder Singh, Drumil Bhattad | Jian Zheng, Yu Chen |
Session #3b MW, Sep 19,21 |
Adapter | Satyajeet Desale, Harshal Bhakta | Ravi Kumar, Ajai Narayanan |
Session #3c MW, Sep 19,21 |
Bridge | Jim Fawcett | Jim Fawcett |
Session #4a MW, Sep 26,28 |
Composite | Nitin Kapoor, Oluwaseye Jinadu | Himanshu Gupta, Shashank Hegde |
Session #4b MW, Sep 26,28 |
Decorator | Xi Chen, Xiang Chen | Pooja Gore, Priya Dodwad |
Session #4c MW, Sep 26,28 |
Facade | Mansi Barodia, Poorva Karandikar | Shaoyuan Chen, Jim Fawcett |
Session #5a MW, Oct 03,05 |
Flyweight | Yiou Li, Jingyi Ren | Suchit Sundaram, Prasad Ubhalkar |
Session #5b MW, Oct 03,05 |
Proxy | Agnelo Dcosta, Puneet Mittal | Indranil Mitra, Krishna Nigalye |
Session #5c MW, Oct 03,05 |
Chain of Responsibility | Amit Ahlawat, Rajit Rao | Girish Balaiah, LogeshKumar |
Session #6a MW, Oct 10,12 |
Command | Jim Fawcett | Yu Jen, Jim Fawcett |
Session #6b MW, Oct 10,12 |
Interpreter | Mubarek Mohammed, Aditya Patil, Harshal Bhakta | Hariram Shankar, Ravi Kumar, Aravindh Manickavasagam |
Session #6c MW, Oct 10,12 |
Iterator | Hao Meng, Awdesh Sharma | Ashwin Kunder, Nandita Shekar |
Session #7a MW, Oct 17,19 |
Mediator | Vignesh Sriram, Bliss Vaz | Nandita Shekar, Sumukh Marasandra |
Session #7b MW, Oct 17,19 |
Memento | Nijeel Parekh, Jim Fawcett | Liu Fang, Jim Fawcett |
Session #7c MW, Oct 17,19 |
Observer | Satyajeet Desale, Robert Roach, Puneet Mittal | Rohan Shah, Himanshu Gupta, Krishna Nigalye |
Session #8a MW, Oct 24,26 |
State | Priyank Kabaria, Parminder Singh, Prasad Ubhalkar | Pratik Sule, Miten patwa; Suchit Sundaram |
Session #8b MW, Oct 24,26 |
Strategy | Amit Ahlawat, Oluwaseye Jinadu | Shaoyuan Chen, Ashwin Kundar, Jim Fawcett |
Session #8c MW, Oct 24,26 |
Template Method | Drumil Bhattad, Snehal Gunjal | Anjali Banka, Ajai Narayanan |
Session #9a MW, Oct 31,02 |
Visitor | Kajal Kapoor, Nitin Kapoor, Vignesh Sriram | Yateen Nikharge, Aravindh Manickavasagam, Jian Zheng |
Session #9b MW, Oct 31,02 |
Extension Object PLOP 3, pg 79 |
Mubarek Mohammed, Aditya Patil, Awdesh Sharma | Hariram Shankar, Indranil Mitra, Mitten Patwa |
Session #9c MW Oct 31,02 |
Role Object, PLOP 4, pg 15 |
Poorva Karandikar, Agnelo Dcosta, Rajit Rao | Shashank Hegde, Logeshkumar, Yu Chen |
Session #10a MW, Nov 07,09 |
Acyclic Visitor, PLOP 3, pg 93 |
Jingyi Ren, Xi Chen | Nandita Shekar, Prasad Ubhalkar |
Session #10b MW, Nov 07,09 |
Security Patterns Repository | Mansi Barodia, Nijeel Parekh, Bliss Vaz, Ravi Kumar | Girish Balaiah, Priya Dodwad, Ashwin Kunder, Rohan Shah |
Session #10c MW, Nov 07,09 |
Customer Interaction PLOP 4, pg 26 |
Xiang Chen, Poorva Karandikar, Aditya Patel | Ajai Narayanan, Shashank Hegde, Pooja Gore |
Session #11a MW, Nov 14,16 |
Patterns for Scripted Acceptance Test-Driven Development PLOP 2007 |
Awdesh Sharma, Meng Hao, Harshal Bhakta | Pooja Gore, Fang Liu, Jian Zheng |
Session #11b MW, Nov 14,16 |
Input and Output Pattern Language PLOP 4, pg 503 |
Rajat Rao, Vignesh Sriram, Yiou Li, Nijeel Parekh | Yu Chen, Yu-Chi Jen, Krishna Nigalye, Shaoyuan Chen |
Session #11c MW, Nov 14,16 |
Patterns for Agile Developent, PLOP 2006 | Drumil Bhattad, Satyajeet Desale, Agnelo Dcosta | Girish Balaiah, Himanshu Gupta, Sumukh Marasandra |
No Classes MW, Nov 21,23 |
Thanksgiving Holiday | ||
Session #12a MW, Nov 28,30 |
Restful Service Pattern PLOP 1998 |
Jingyi Ren, Yiou Liu, Xi Chen | Yateen Nikharge, Pratik Sule, Sumukh Marasandra |
Session #12b MW, Nov 28,30 |
Value Object/Selfish Object PLOP 2006 |
Amit Ahlawat, Xiang Chen, Bliss Vaz | Suchit Sundaram, Rohan Shah, Indranil Mitra |
Session #12c MW, Nov 28,30 |
Big Ball of Mud PLOP 4, pg 653 |
Snehal Gunjal, Kajal Kapoor, Robert Roach | Aravindh Manickavasagam, Priya Dodwad, Hariram Shankar |
Session #13a MW, Dec 05,07 |
Software Visualization Patterns | Mubarek Mohammed, Mansi Barodia, Priyank Kabaria, Puneet Mittal, Oluwaseye Jinadu | Mubarek Mohammed, Ravi Kumar, Angela Banka, Parminder Bela, Yu-Chi Jen |
Session #13b MW, Dec 05,07 |
Refactoring to Patterns Chap7 - Simplification Chap8 - Generalization |
Nitin Kapoor, Jim Fawcett | Logeshkumar, Jim Fawcett |
Session #13c MW, Dec 05,07 |
More on Pattern Languages Where do we go from here? |
Jim Fawcett | Jim Fawcett |