Summary
Course Number: | CS 356 |
Course Title: | Object-Oriented Design and Programming |
Semester/Year: | Fall 2014 |
Instructor: | |
Staff: | N/A |
Office Location: | 8-42 |
Office Hours: | Tue/Thu 3pm-4pm;or email for an appointment |
Lectures: |
10:30 am - 11:35 am, MWF, 8-348 |
Objectives and Methodology
This course offers a survey and training of Object-Oriented (OO) design and programming principles, techniques and practices. In this course, you will be motivated to think and model problems in OO way, and solve problems using the OO principles, design patterns and practical OO libraries and tools. The main goal of the course is to teach you how to write more extensible, reusable, and maintainable code, and aid you in the ability to construct better software that meets industry standards.
Schedule
More information about the course's schedule.
Prerequisites
You should be comfortable writing code in Java. In addition, if you have not had the equivalent prerequisite of CS 241, you are advised to take it first.
Text
All the course materials will be given in slides and available to download after each lecture. No textbook is required. The following books are recommended to read that are helpful for some of the key topics related with this course.
More information about the course's readings.
Course Work
There will be NO midterm or final exams for this course.
Programming Assignments
There will be 3 programming assignments that illustrate the value of good OO design and implementation techniques on the software lifecycle.
To encourage you to write well-designed software, we reserve the right to change the assignment specifications at any point before the due date. Expect this to happen at least once during the semester. If you have written your program in a modular fashion the changes will be trivial to implement.
The programs will be graded using the following criteria:
- 40% execution correctness
- 30% structure (e.g., modularization, information hiding, etc.)
- 10% insightful programming (e.g., developing reusable class components, etc.)
- 10% Consistent style (e.g., capitalization, indenting, etc.)
- 10% appropriate commenting style
Quizzes
There will be a short graded quiz at the beginning of class each Monday (total 8 quizzes, except the first and last week). The quizzes will fully be based on material presented in class in the past week. It is therefore essential that you attend class in order to prepare for the quizzes. There will be no “makeup'' quizzes unless you ask permission from me before the quiz. The relative weighting of each portion of the course is presented below:
- Programming Assignments (60%)
- Quizzes(40%)
Letter Grade
A | 90.00 |
B+ | 85.00 |
B | 80.00 |
C+ | 75.00 |
C | 70.00 |
D+ | 65.00 |
D | 60.00 |
F |
Honor Code
Each student is to do his or her own work. This means that you are not to seek out the help of other students (or give help, if asked) in order to solve specific problems of your homework assignments. It also means that you should not sign up for mailing lists and ask for detailed help from others on the Internet. Of course, you may discuss generalities about an assignment with your fellow students. If you are unsure of what is permitted, in terms of discussing an assignment problem, please ask me for clarification.
Disabilities
If you have any disability that would put you at a disadvantage in performing an assignment, please meet with me privately to discuss ways in which I can assist you as you perform the required work in this course.
Tardiness
You are expected to arrive on time so that you do not cause a disruption in the middle of class. I would like to start the class at the scheduled time. If you cannot make it on time for some reason, please let me know. Persistent tardiness will be noted.