Tuesday 4 - 5, Wednesday 9 – 12 and 4 - 5, and by appointment
Text: Head First Design Patternsby Eric Freeman, Elisabeth Freeman, Kathy Sierra, and Bert Bates, Copyrighted in 2004 by O’Reilly
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.
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.
Your grade will be computed as follows:
First in-class exam 20%
Second in-class exam 20%
Final Exam 20%
Your letter grade will be based on the total of these values for your work.
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.
I will try to cover as much of the text as possible. I plan to cover approximately one chapter per week: