CS 635 Advanced Object-Oriented Programming

Spring Semester, 2009

Syllabus

Course Web Site

© 2009, All Rights Reserved, SDSU & Roger Whitney

 San Diego State University -- This page last updated 1/22/09

CS 635 Syllabus

Instructor

Roger Whitney

Office

GMCS 561

Phone

594-3535

Email

whitney@cs.sdsu.edu

Office Hours

4:15-5:15 pm, 8:30-9:30 pm Tuesday, Thursday

Course WWW Site : http://www.eli.sdsu.edu/courses/spring09/cs635/index.html . All course handouts will be delivered via WWW at the above URL.

Texts :

  1. Design Patterns: Elements of Reusable Object-Oriented Software, Gamma, Helm, Johnson, Vlissides, Addison-Wesley, 1995.

  1. Refactoring: Improving the Design of Existing Code, Fowler, Addison-Wesley, 1999.

  1. Object Coupling and Object Cohesion, chapter 7 of Essays on Object-Oriented Software Engineering, Vol. 1, Berard, Prentice-Hall, 1993, Will be on reserve at Love Library and at Cal Copy.

  1. Abstraction, Encapsulation, and Information Hiding, chapter 6 of Essays on Object-Oriented Software Engineering, Vol. 1, Berard, Available on-line at: http://www.itmweb.com/essay550.htm

  1. Big Ball of Mud by Brian Foote and Joseph Yoder, http://www.laputan.org/mud/mud.html

  1. The Design Patterns Smalltalk Companion, Alpert, Brown, Woolf (optional)

Course mailing list : A list server is used to email important messages to students in the course. There is a link on the course web site.

Prerequisites : CS535 and working knowledge of Java, C++, C#, Objective C, Ruby or Smalltalk.

This is a graduate course in object-oriented programming that assumes you have taken an undergraduate course in object-oriented programming and have a working knowledge of one of Java, C++, C#, Ruby or Smalltalk. In the recent past a number of students have taken this course without this background and done poorly in this course. February 11 is the last day to drop the course. After that date it is nearly impossible to drop the course. Grades in this course are based only on performance of the student. Problems with languages (English and/or Java) are not considered in assigning grades.

Grading :  Your grade will be based on two exams (50% of your grade) and homework (50% of your grade). If needed there will quizzes. There is no extra credit work in this course. There will be between 3 and 5 programming assignments. Missing a programming assignment may drop your course grade by considerably. Some assignments in this class may seem easy at first glance. This causes some students to delay starting the assignment. Often they find out too late that the assignment is harder than they think, which hurts their grade.

Crash Policy : As seats become available in class graduate students on the crash list will be added based on units earned toward your SDSU masters degree on your SDSU transcript. Only units currently on your SDSU transcript that apply to your graduate degree will be counted. Students with more units given priority over those with fewer units. Students need to turn in a copy of their SDSU transcript to demonstrate how many units they have. An unofficial transcript will be fine.

Late Policy : Late homework will be accepted, but with a penalty. An assignment turned in 1-7 days late, will lose 3% of the total value of the assignment per day late. The eight day late the penalty will be 40% of the assignment, the ninth day late the penalty will be 60%, after the ninth day late the penalty will be 90%. Once a solution to an assignment has been posted or discussed in class, the assignment will no longer be accepted. Late penalties are always rounded up to the next integer value.

Cheating : Any one caught cheating will receive an F in the course and they will be reported to the SDSU Judicial Procedures Office.