CSE776 - Design Patterns

Revised: 28 June 2008
Home  Courses  SWTrack  Code  Handouts  StudCult  CoreTech  Books  Articles  Math  Research  CASE Projects  Project Topics  SWDev  WebDev  News  OtherLinks  SiteDesign  Graduates  AllPages  Office Hours  Seminars  Notices  Contents

CSE681-SWMAA  CSE686-IP  CSE687-OOD  CSE775-DO  CSE776-DP  CSE778-AWP  CSE784-SWS

image not found image not found image not found
Pattern Presentations and Discussions are the Heart of this Course

Resources:

Lectures Presentations Syllabus
File Download ScreenShot Project Upload Instructions
Plop 2007 Conference Papers on-line
Plop 2006 Conference Papers on-line
Plop 4 - 1997 Conference Papers on-line
Plop 3 - 1996 Conference Papers abstracts on-line
Input Output Pattern Language
Patterns Summary Hillside Group Site Patterns in a Nutshell Patterns Books Pradigms, Patterns, and Notations Survey of Design Patterns Design Patterns and Tips

Course 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.

Required Texts and Notes:

  1. Design Patterns, Elements of Reusable Object-Oriented Software, Erich Gamma, et. al., Addison-Wesley, 1994,
    ISBN 0-201-63361-2
  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
  3. John Vlissides Patterns Home Page
    Presentation on Patterns (and more) by Erich Gamma
    Design Patterns Study Group

Books held in Sci-Tech Library:

  1. A copy of Design Patterns class text (above) is in the library, available while you wait for your book order to arrive.
  2. Refactoring to Patterns, Joshua Kerievsky, Addison-Wesley, 2005
  3. Patterns of Enterprise Application Architecture, Martin Fowler, Addison-Wesley, 2003
  4. Enterprise Integration Patterns, Gregor Hohpe, Bobby Woolf, Addison-Wesley, 2004
  5. Pattern-Oriented Software Architecture, Schmidt, et. al., Wiley, 2000
  6. Organizational Patterns of Agile Software Developement, James Coplien and Neil Harrison, Prentice-Hall, 2005

Prerequisites:

CSE687 - Object Oriented Design

Syllabus - Summer 2008:

Session
Pattern
Pattern Presenters
1st Session
Pattern Presenters
2nd Session
Session #1
Mon, May 19
Introduction, Presentations
Jim Fawcett
Jim Fawcett
Session #2
Wed, May 21
Abstract Factory
Jim Fawcett
Jim Fawcett
Session #2
Wed, May 21
Assign Presentations
Jim Fawcett
Jim Fawcett
Holiday
Mon, May 26
no classes
Memorial Day Observed
 
Session #3
Wed, May 28
Builder
Nischay Sharma
Richa Gupta
Smitha Borkar
Gauri Bindu
Session #3
Wed, May 28
Singleton
Narendra Chennareddy
Mahesh Chinnakotla
RipulKumar Patel
Megharani Shah
Session #4
Mon, June 02
Factory Method
Mohammad Koni
Mohammed Khajah
Gokul Sivaji
Arjun Raja
Session #4
Mon, June 02
Prototype
David Mittiga
Karthik Jayaraman
Don McGarry
Frank Duff
Session #5
Wed, June 04
Adapter
Amit Advani
Romit Chattopadhyay
Thiyag. Adi Raman
Karan Advani
Session #5
Wed, June 04
Bridge
Jim Fawcett
Jim Fawcett
Session #6
Mon, June 09
Composite
Rohith Honnegowda
Nikila Iyer
Gagandeep Aggarwal
Sumanth Anand
Session #6
Mon, June 09
Decorator
Sonam Neema
Mohammad Koni
Tushar Bhambure
Rajan Arora
Session #7
Wed, June 11
Facade
Nita Nicholas
Saikiran Perumala
Vaibhav Chugh
Vikram Dadwal
Session #7
Wed, June 11
Flyweight
Ryan Luley
Pramod D'Silva
Sarvesh Devi
Rohit Dubey
Session #8
Mon, June 16
Proxy
Sohil Shah
Suchita Kothari
Mahendra Ramesh
Sivaram Eranki
Session #8
Mon, June 16
Chain of Responsibility
Devendra Chauhan
Ushasri Tummala
Ashish Gandhi
Sagar Gupta
Session #9
Wed, June 18
Command
Jim Fawcett
Jim Fawcett
Session #9
Wed, June 18
Interpreter
Shashank Muthyala
Rohit Babbar
George Graves
Eric Samsel
Session #10
Mon, June 23
Iterator
Raghava Shiddlaghatta
Uma Veggalam
Shashikiran Srinivasa
Thiyag. Adi Raman
Session #10
Mon, June 23
Mediator
Venkata Koppaka
Subrahmanya Pynda
Madhumita Nagle
Anju Mercian
Session #11
Wed, June 25
Memento
Jim Fawcett
Jim Fawcett
Session #11
Wed, June 25
Observer
Tushar Bhambure
Ryan Luley
Jyot Patel
Hiromune Suetsugu
Session #12
Mon, June 30
State
Romit chattoadhyay
Varun Sagar
Karan Advani
Vaibhav Chugh
Session #12
Mon, June 30
Strategy
Mohammad Khajah
Charmi Shah
Arihant Jain
Rohit Dubey
Session #13
Wed, July 02
Template Method
Gauri Bindu
Richa Gupta
Francis Duff
Don McGarry
Session #13
Wed, July 02
Visitor
Narendra Chennareddy
Arjun Raja
Eric Samsel
George Graves
Session #14
Mon, July 07
Role Object,
PLOP 4, pg 15
Sonam Neema
Saikiran Perumala
Nicholas Nita
Sagar Gupta
Sumanth Anand
Sarvesh Devi
Session #14
Mon, July 07
Extension Object
PLOP 3, pg 79
Megharani Shah
RipulKumar Patel
Smitha Borkar
Mahendra Ramesh
Session #15
Wed, July 09
Acyclic Visitor,
PLOP 3, pg 93
Nischay Sharma
Madhumita Nagle
Ashish Gandhi
Shashank Muthyala
Session #15
Wed, July 09
1st Session: Pattern from PLOP1
2nd Session: Software Matrix
Jim Fawcett
Anand Selvam
Jim Fawcett
(Tilak Patel)
Session #16
Mon, July 14
Pick a PLOP 2006 paper
Amit Advani
Rohith Honnegowda
Jyot Patel
Subrahmanya Pynda
Session #16
Mon, July 14
Pick a PLOP 2007 paper
Karthick Jayaraman
Mahesh Chinnakotla
Charmi Shah
Devendra Chauhan
Session #17
Wed, July 16
Input and Output Pattern Language
PLOP 4, pg 503
Gokul Sivaji
Sohil Shah
Rohit Babbar
Hiromune Suetsugu
Rajan Arora
Session #17
Wed, July 16
Enabling Application Security
PLOP 4, pg 301
David Mittiga
Nikila Iyer
Gagandeep Aggarwal
Arihant Jain
Session #18
Mon, July 21
Capable, Productive, Satisfied
PLOP 4, pg 27
Vijaya Shiddlaghatta
Ushasri Tummala
Promod Dsilva
Vikram Dadwal
Session #18
Mon, July 21
Big Ball of Mud
PLOP 4, pg 653
Shashikiran Srinivasa
Sivaram Eranki
Venkata Koppaka
Suchita Kothari
Session #19
Wed, July 23
Customer Interaction
PLOP 4, pg 26
Uma Veggalam
Romit Chattopadhyay
Varun Sagar
Anju Mercian
Session #19
Wed, July 23
Refactoring to Patterns
Chap7 - Simplification
Chap8 - Generalization
Jim Fawcett
Anand Selvam
Jim Fawcett
Rohit Dubey
Session #20
Mon, July 28
More on Pattern Languages
Where do we go from here?
Jim Fawcett
Jim Fawcett
Class meets twice per week for two hours each time.
Scheduling constraints