Computer Science 490.002

Design Patterns

Spring 2009

TR 9:30-10:45 PM

EB 0011

Instructor

Bill White

EB 3041

(618)650-3483

wwhite@siue.edu

Office Hours

MTWR

11:00 AM - 3:00 PM

and by appointment

 

Course Description

Examination and analysis of the 23 classical software engineering design patterns. Application of these patterns to practical software design applications.

Prerequisite

CS 325

Textbook

 http://ecx.images-amazon.com/images/I/51Rs5KgdLTL._SL500_.jpg

Assignments

Six 50-Point Homework Assignments
Two 100-Point Programming Assignments
One 100-Point Topical Paper
One 50-Point Topical Paper Presentation
Two 100-Point Exams
One 150-Point Comprehensive Final Exam
300
200
100
50
200
150
Total Points for Course
1000
Grading Scale
A: 900-1000; B: 800-899; C: 700-799; D: 600-699; F: 0-599

 

Late Policy

Late assignments will not be accepted unless verifiable documentation of a legitimate reason for their lateness is provided to the instructor. Legitimate reasons are limited to documented medical problems. If you are unable to attend on an assignment due date for illegitimate reasons, then you will be expected to submit the assignment early. Late (or early) exam arrangements must be made in writing with the instructor.

Academic Misconduct

Collaboration on designs is encouraged in this course, but copying designs or showing code to other students is considered academic misconduct by all students involved. Whether receiving assistance from classmates, peers, or the instructor, you are expected to do your own work in order to demonstrate your understanding of the concepts being explored.

 

Rules of Classroom Decorum

MCj04316320000[1]MCj04241900000[1]

MCj02804210000[1]

Cell phone conversations and text messaging during class is forbidden. A student’s cell phone ringing during class results in the immediate ejection of the student from that day’s class (even on exam days).

Use of laptop computers in the classroom is forbidden without express permission from the instructor.

Consuming food or beverages in the classroom is forbidden without express permission from the instructor.

Conversations with other students during class are forbidden. All questions during class regarding the course material must be addressed to the instructor.

 

Computer Science 490.002 Tentative Syllabus

Tuesdays

Thursdays

1/13

Introduction

Chapters 1-2

 

1/15

Abstract Factory Pattern

Chapter 3

 

1/20

Builder Pattern

Chapter 3

 

1/22

Factory Method Pattern

Chapter 3

 

1/27

Prototype Pattern

Chapter 3

 

1/29

Singleton Pattern

Chapter 3

Homework 1

2/3

Creational Patterns Review

Chapter 3

 

2/5

Adapter Pattern

Chapter 4

 

2/10

Bridge Pattern

Chapter 4

 

2/12

Composite Pattern

Chapter 4

Homework 2

2/17

Decorator Pattern

Chapter 4

 

2/19

Façade Pattern

Chapter 4

Program 1

2/24

Flyweight Pattern

Chapter 4

 

2/26

Proxy Pattern

Chapter 4

Homework 3

3/3

Structural Patterns Review

Chapter 4

 

3/5

Exam 1

 

3/10

Spring Break

3/12

Spring Break

3/17

Chain of Responsibility

Chapter 5

 

3/19

Command Pattern

Chapter 5

 

3/24

Interpreter Pattern

Chapter 5

 

3/26

Iterator & Mediator

Chapter 5

Homework 4

3/31

Memento & Observer

Chapter 5

 

4/2

State Pattern

Chapter 5

Topical Paper

4/7

Strategy Pattern

Chapter 5

 

4/9

Template Method Pattern

Chapter 5

Homework 5

Top. Paper Pres. Slides

(Slide Templates)

4/14

Visitor Pattern

Chapter 5

 

4/16

Behavioral Patterns Review

Chapter 5

Program 2

4/21

Topical Paper

Presentations

 

4/23

Topical Paper

Presentations

Homework 6

Star Castle Executable

4/28

Topical Paper

Presentations

 

4/30

Exam 2

 

 

5/5

Comprehensive Final Exam

8:00-9:40 AM