CSE776 - Design Patterns

Revised: 11/16/2010
Home  Courses  SWTrack  Code  Handouts  StudCult  CoreTech  Books  Articles  Math  Research  TechnicalLinks  Student Projects  CASE Projects  Project Topics  SWDev  WebDev  News  OtherLinks  SiteDesign  Graduates  AllPages  Office Hours  Seminars  Notices  contents 

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

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

Resources:

Lectures Student Presentations Instructor Presentations Syllabus
File 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

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:

Either   CSE681 - Software Modeling and Analysis   or   CSE687 - Object Oriented Design

No exceptions without instructor's explicit permission which is rarely granted.

Syllabus - Fall 2010:

SessionPatternPattern PresentersPattern Presenters
Session #1a
Wed, Sep 01
Introduction, Student Presentations, Instructor PresentationsJim Fawcett
Session #1b
Wed, Sep 01
Abstract FactoryJim Fawcett
Session #1c
Wed, Sep 01
Assign PresentationsJim Fawcett
Session #2a
Wed, Sep 08
BuilderPrachi JadhavSneha Desai
Session #2b
Wed, Sep 08
SingletonArunkumar ManikantanHimanshu Neema
Session #2c
Wed, Sep 08
Factory MethodJim Fawcett
Session #3a
Wed, Sep 15
PrototypeCharan ChanderJim Fawcett
Session #3b
Wed, Sep 15
AdapterJohn WalthourKarl Mortensen
Session #3c
Wed, Sep 15
BridgeKarthikeyan RajakumarJim Fawcett
Session #4a
Wed, Sep 22
CompositeRushabh GandhiJim Fawcett
Session #4b
Wed, Sep 22
DecoratorSam SavageKyle Stone
Session #4c
Wed, Sep 22
FacadeKarthick SoundararajJapjeet Singh
Session #5a
Wed, Sep 29
FlyweightDeeptha RangarajanJim Fawcett
Session #5b
Wed, Sep 29
ProxyJosna AbrahamSandeep Bhimavarapu
Session #5c
Wed, Sep 29
Chain of ResponsibilityXue LuoHuaming Huang
Session #6a
Wed, Oct 06
CommandJim Fawcett
Session #6b
Wed, Oct 06
InterpreterYoushra AaferSonam Sawhney
Session #6c
Wed, Oct 06
IteratorFatih AltaySandesh Chakkirala
Session #7a
Wed, Oct 13
MediatorKarthik SoundararajChinmay Gandhi
Session #7b
Wed, Oct 13
MementoJim Fawcett
Session #7c
Wed, Oct 13
ObserverHarsh VaishnavRakesh Shashidhara
Session #8a
Wed, Oct 20
StateJaslok MishraGanpath Muthukaruppan
Session #8b
Wed, Oct 20
StrategyDeeptha RangarajanNagaraju Boyina
Session #8c
Wed, Oct 20
Template MethodCharan ChanderJim Fawcett
Session #9a
Wed, Oct 27
VisitorHuaming HuangJim Fawcett
Session #9b
Wed, Oct 27
Extension Object
PLOP 3, pg 79
Karthikeyan RajaKumarJosna Abraham
Session #9c
Wed Oct 27
Role Object,
PLOP 4, pg 15
Sandesh ChakkiralaHarsh Vaishnav
Session #10a
Wed, Nov 03
Acyclic Visitor,
PLOP 3, pg 93
Rushabh GandhiYoushra Aafer
Session #10b
Wed, Nov 03
Web Security PatternsKarthick Jayaraman
Session #10c
Wed, Nov 03
Software MatrixJim Fawcett
Session #11a
Wed, Nov 10
Patterns for Scripted Acceptance Test-Driven Development
PLOP 2007
Kyle StoneSam Savage
Session #11b
Wed, Nov 10
Input and Output Pattern Language
PLOP 4, pg 503
Karl MortensenJohn Walthour
Session #11c
Wed, Nov 10
Patterns for Agile Developent, PLOP 2006Jim FawcettPrachi Jadhav
Session #12a
Wed, Nov 17
Capable, Productive, Satisfied
PLOP 1998
Jim Fawcett
Session #12b
Wed, Nov 17
Value Object/Selfish Object
PLOP 2006
Sneha DesaiSonam Sawhney
Session #12c
Wed, Nov 17
Big Ball of Mud
PLOP 4, pg 653
Arunkumar ManikantanJaslok Mishra
Nagaraju Boyina
Holiday
Wed, Nov 24
no classesThanksgiving
Session #13a
Wed, Dec 01
Customer Interaction
PLOP 4, pg 26
Ganpath MuthukaruppanXue Luo
Session #13b
Wed, Dec 01
Refactoring to Patterns
Chap7 - Simplification
Chap8 - Generalization
Jim FawcettSandeep Bhimavarapu
Session #13c
Wed, Dec 01
Web Security PatternsKarthick Jayaraman
Session #14a
Wed, Dec 08
.Net Patterns - Presentation TierChinmay GandhiJapjeet Singh
Session #14b
Wed, Dec 08
Security Patterns Repository
link on course page
Himanshu NeemaFatih Altay
Rakesh Shashidhira
Session #14c
Wed, Dec 08
More on Pattern Languages
Where do we go from here?
Jim Fawcett
Class meets once eacg week for three hours.