C Sc 335 Syllabus 
Object-Oriented Programming and Design

University of Arizona, Spring 2007 
as taught by Mark Brewster, Jeff Hendy, Nathan Hattala, and Rick Mercer

Catalog Description: C SC 335 -- Object-Oriented Programming and Design (4 units) Fundamentals of object-oriented software development. Includes design principles, inheritance, polymorphism, Unified Modeling Language (UML), event-driven programming with graphical user interfaces, applications of design patterns, and use of existing frameworks. Weekly lab. Prerequisite: C SC 127B or C SC 227

Lecture: Tuesday and Thursday 3:30-4:45 in CESL 103

Recitation: Gould Simpson 942 at various times on Wednesday or Thursday 

Rick's Office Hours in 737 GS: Open Door Policy: when Rick's door is open or knock if it is closed. Also by 
and by appointment: 621-6126 or mercer@cs.arizona.edu 

Textbook: Object-Oriented Programming and Design, A Custom Book from Safari U. One of the following two choices (hard copy or online for 39.99 with access to six entire books for 120 days)
  1. $39.50 Hard copy version at the UofA bookstore 
  2. $39.99 For 120 days you have access to all chapters of all 7 books in HTML no PDF http://www.safariu.com//online-syllabus.do?syllabusId=7129320190771406050

Grading: Your letter grade will be determined based on the following weighted average and cutoffs:

30% Programming Projects (solo or team)
25% Six Quizzes (drop lowest score)
15% Mid Term Exam (Thursday 8-March)
10% Section Participation and Programming Projects
20% Final Team Project including a report in lieu of a

         final exam (demos during final exam time)

A  >= 89.5%

B  79.5 to 89.4 

C  69.5 to 79.4

D  59.5 to 69.4

E  < 59.5

Quiz Policies: A 30-minute quiz will be given in-class on mostly every other Thursday, beginning Thursday, January 25th (see specific dates below). Each quiz will be handed out promptly at 3:30 p.m. and collected at 4:00 p.m. A five-minute break and a 40 minute lecture will follow each quiz. Late arrivals will not be granted extra time. Quizzes will be collected at 4:00 p.m. Missed quizzes can not be made up. Your lowest quiz score will be dropped.

Quiz 1: Thursday, January 25th
Quiz 2: Thursday, February 8th
Quiz 3: Thursday, February 22nd
Quiz 4: Thursday, March 29th
Quiz 5: Thursday, April 12th
Quiz 6: Thursday, April 26th

Programming Projects: You will be completing two individual programming projects. Other projects will be completed collaboratively in teams. The final project will be quite complex with many Java classes and interfaces that you will develop in addition to using many existing ones. The final team project has historically placed a tremendous amount of work on students during the final five weeks of class. 

Final Exam: Since you will be doing a final project, a final exam is not required as long as you complete a report on your final project. We will be using the final exam time on Tuesday 8-May from 2:00 to 4:00 for final project demonstrations.

Late Day Policy: When other 335 students were surveyed with the question "What advice would you give to future 335 students to be successful in 335?", the most common two responses were "Attend class" and "Start your projects on time". Getting even a few days behind on projects can be hard to recover from since, like a domino effect, each tardiness tends to propagate through the following assignments. All iterations should be handed in electronically either in lab or through the web-based turnin by the due date and time. However, there may be a few times when extenuating circumstances delay prompt turnin so we have a late day policy. Any iteration (part of the project or the completed project) turned in past the deadline and within 24 hours is considered to be one day late. Every student is granted three free "late days" for the semester. Every late day over 3 will result in a 30% reduction from the iteration's point value. For example, one late day on a 20 point iteration would result in a maximum grade of 14/20. The lowest score is 0. This policy does not apply to the final project that will have a separate policy as part of the project specification.

Code of Academic Conduct: You are responsible for understanding and complying with the University's Code of Academic Integrity. The Code is found at http://dos.web.arizona.edu/uapolicies/. The full text is available from the Office of the Dean of Students in Room 203 Old Main.  Among other provisions, the Code demands graded homework, quizzes, and exams will not be copied or subsequently be tampered with. Consider all graded work to be individual unless you are specifically authorized to work with others. Don't copy any code or designs from another individual or team. Code snippets and designs may be copied. These include code from our book, lecture demos, lecture notes, Eclipse, the Java™ Tutorial. And you can certainly reuse existing frameworks (don't reinvent the wheel).