Object-Oriented Programming and Design
C Sc 335 Syllabus,University of Arizona, Fall 2010

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.Weeklylab.Prerequisite: C SC 127B or C SC 227

Lecture Tuesday and Thursday 3:30-4:45 inBioWest 301

Recitation Sections:

A) 13:00 Wed701 GSBrian
B) 16:00 Wed701 GSJesse
C) 11:00 Thu701 GSManish
E)13:00 Thu813 GSEric
Rick's Office Hours 727 Gould Simpson:TWTh1:30-2:30or by appointment:

Textbook There is no textbook to purchase this semester. Readings will be from online resources and books from Safari Books Online, at no cost to you. To complete most 335 readings,you must be on a UofA lab computer or first make a Virtual Private Network (VPN) connection from your computer!If you don't have VPN software and you want to read from your computer, install Cisco's AnyConnect VPN client from

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

30% Programming Projects (3 solo, two pair)
20% Test 1: Tuesday 5-Oct
20% Test 2: Thursday, 18-Nov
30% Final Team Project with a report instead of afinal exam / A >= 90%
B80.0 to 89.9
C70.0 to 79.9
D60.0 to 70.9
E60.0

Programming ProjectsYou will be completing three programming projects by yourself and two other projectscollaboratively in a team of two as you do pair programming. The final project will be completed in a teamof 3 or 4. The final project will be relatively complex with many new types (classes) that you will develop in addition to your team using many existing types. This final team projecthistorically requires 60-75 hours of your time during the final six weeks of class.

Final Exam Since you will be doing a final project, a final exam is not required.

Late Project PoliciesWhen 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". All projects and iterations should be turned in by the due date and time. Any project or iteration (part of a project) turned in past the deadline and within 24 hours is considered to be one day late. Each late day results in a 10% reduction of the maximum number of points for that project. Projects not turned in within 5 days after the deadline will not be accepted. The resulting score will be 0 for all. This late policy does not apply to the final project that has a separate late day policy where personal late days may no longer be used.

Collaborative Exercises Occasionally you will be given some problems during lecture or section and be asked to collaborate with one or more other students to come up with solutions during a short time. We know that students often learn better by interacting with peers and this is also a fun way to see different possible solutions to the same problems. Even if you understand a concept, explaining it to someone else both helps them and reinforces it to you. Collaborative Exercises are never graded.

Absence PolicyYou are encouraged to attend all lectures and recitation sections. We will have occasional team meetings at the end of lecture. You should utilize this time to meet, plan, and communicate with your team.

DRCStudents If you have registered with the Disability Resource Center let Rick know if you will be taking a test in the testing center at least one week before the test.

Software at Home We will be using Java 6 (Java 5 on PPC Macs) and Eclipse 3.6 (Helios) in the lab and in lecture. Both are free and available on Windows, Linux, and Mac OS X. You can set up your home computer with the same tools. See

Classroom Behavior The University of Arizona has an explicit policy on disruptive behavior: in disruptive behavior are cell phone, PDA, and pager use, laptop use, talking during lectures, sleeping, eating, arriving late or departing early (without prior notification), and newspaper reading. Such activities distract others and interfere with instructional activities. Again, students should use class time to further their learning, through active engagement with the material. Please treat each other with respect.

Academic Integrity and PenaltiesProgramming projects and assignments in this course require individual attention and effort to be of any benefit. Unless otherwise specified in the published assignment, all work is expected to be that of each student alone. You may not consult with others, except in ways specifically authorized by the course instructor. Students are responsible for understanding and complying with the University's Code of Academic Integrity. The Code can be found at this link The full text is also available from the Office of the Dean of Students in Room 203 Old Main.

Among other provisions, the Code demands that the work you submit is your own, and that graded programs and exams will not subsequently be tampered with. The Code also demands that you do not copy code when it is part of a published class assignment. It is immaterial whether the copying is done electronically, by retyping the code, looking at another's computer screen, or any other means. Violations of Academic Integrity will result in a report filed to the Dean of Students. Sanctions include receiving an E for the course, even if it is a first violation. If other reports have been filed from any department, the Dean of Students may issue more severe sanctions including suspension or expulsion from the university. You are better off receiving 0 for one project rather than an E for the course and a report on your University record. Avoid Sanctions by beginning your projects as soon as possible. Do not wait until the due date! Do not look at another person's test while the test is in progress. Do not copy files. Do not give your code to anyone even if the other person promises not to turn it in as their own, in which case you who did all the work may suffer the same sanctions as the cheater.

Subject to ChangeInformation contained in this course syllabus other than the grading and absence policy is subject to change with reasonable notice.

Currently Projected Projects with test placement

1) BowlingLine (solo, one week)

2) GUIs and Events: (solo, one week)

3) Model-View Separation: "Cashless JukeBox" (pair, two iterations, 2.3 weeks)

4) Inheritance: "Account Hierarchy" (solo, one week)

Test 1: 5-Oct

5) Networking: "TBA" (pair, two iterations, 3weeks)

Test 2: 18-Nov

6) Final Project (teams of 4, five weeks)