Office: mct 183



Download 33.99 Kb.
Date26.04.2018
Size33.99 Kb.
#46869
CSC211 Design Patterns

Syllabus for Spring 2011

Dr. David Hastings

Office: MCT 183

Office Phone with Voice Mail: (717) 477-1426

Email: dahast@cs.ship.edu
Office Hours (tentative):

Tuesday 4 - 5, Wednesday 9 – 12 and 4 - 5, and by appointment



Text:

Text: Head First Design Patterns by Eric Freeman, Elisabeth Freeman, Kathy Sierra, and Bert Bates, Copyrighted in 2004 by O’Reilly



Course Description:

Provides an advanced study of the concepts of object-oriented programming, with an emphasis on applying those concepts to software development. Many object design patterns have emerged as proven ways to structure object-oriented solutions to a wide range of key problems. This course provides hands-on experience with using design patterns to solve a number of problems that recur in computer science. Students will develop a number of medium to large programs individually. Prerequisites: CSC111


To quote from Wikipedia: ”... a design pattern is a general repeatable solution to a commonly-occurring problem in software design. A design pattern isn't a finished design that can be transformed directly into code; it is a description or template for how to solve a problem that can be used in many different situations”. This course will exam a series of design patterns requiring reading and homework to be done for topic. The last topic in the course will be for each student to create a relatively large programming project. These projects will be done individually.

Exams:

There will be two comprehensive in-class exams. For these exams, no makeup’s will be allowed unless arrangements are made in advance. The course will have a comprehensive final exam.



Labs, Homework, and Quizzes:

There will be a weekly laboratory assignment that involves writing a program that relates to the current topic in the text. All lab assignments must be submitted by the start of the first class of the following week. The labs are augmented by reading assignments.. I expect that you will do all the exercises and questions in the text. The exercises may be done in cooperation with others in the class. There will be a quiz at the beginning of each week on the previous week's reading assignment.


I expect that both your programming and writing will be quality work. Grades in both cases will be based in part on style as well as content. Please note that late assignments will not be graded.

Grading:

Your grade will be computed as follows:

First in-class exam 20%

Second in-class exam 20%

Labs 20%

Quizzes 20%

Final Exam 20%

Your letter grade will be based on the total of these values for your work.




Attendance:

Attendance in this course is necessary to understand the material and is mandatory. If you must unavoidably miss a class, it is your responsibility to find out what was covered and what was assigned, and to get notes from a fellow student. Late homework will not be graded.



Course outline:

I will try to cover as much of the text as possible. I plan to cover approximately one chapter per week:




Jan 18

Intro

Your Brain on Design Patterns







Chapter 1

Welcome to Design Patterns

Strategy Pattern

Jan 25

Chapter 2

Keeping your Objects in the Know

Observer Pattern

Feb 1

Chapter 3

Decorating Objects

Decorator Pattern

Feb 8

Chapter 4

Baking with OO Goodness

Factory Patterns

Feb 15




Exam 1




Feb 22

Chapter 5

One of a Kind Objects

Singleton Pattern

Mar 1

Chapter 6

Encapsulating Invocation

Command Pattern

Spring Break










Mar 15

Chapter 7

Being Adaptive

Adapter and Facade Patterns

Mar 22

Chapter 8

Encapsulating Algorithms

Template Method Pattern

Mar 29




Exam 2




April 5

Chapter 9

Well-managed Collections

Iterator and Composite Patterns

April 12

Chapter 10

The State of Things

State Pattern

April 19

Chapter 11

Controlling Object Access

Proxy Pattern

April 26

Chapter 12

Patterns of Patterns

Combining Patterns


Download 33.99 Kb.

Share with your friends:




The database is protected by copyright ©ininet.org 2024
send message

    Main page