CS 151: Object-Oriented Design
GREEN SHEET
Spring Semester 2012
Department of
Instructor: Ron Mak
Section 1: MW 6:00 - 7:15 pm,
MacQuarrie Hall, room 222
Section 1: MW 7:30 - 8:45 pm,
MacQuarrie Hall, room 222
|
Office hours: |
MW: 8:45
- 10:00 PM |
|
|
and by
arrangement |
|
|
|
|
Office location: |
MacQuarrie
Hall, room 413 |
|
E-mail: |
Course catalog description
"Design of classes and interfaces. Value and reference semantics. Object-oriented design methodologies and notations. Design patterns. Reflection and serialization. Exception handling. Graphical user interface programming. Frameworks and components. Multithreading. Required team-based programming assignments." 3 units
Prerequisites
|
Math 42 |
Discrete
Mathematics |
|
CS 46B |
Introduction
to Data Structures |
|
CS 49J |
Programming
in Java |
A grade C- or
better in each, or instructor's consent. The
Department of Computer Science strictly enforces prerequisites. A student
not meeting any prerequisites must fill out an Add Form at the beginning of the
semester to explain his or her justifications to take the course, and it will
be the instructor's and the department's decision whether or not to allow the
student to enroll.
Material assumed from prerequisite
courses
Students are
expected to have these skills:
Course goal
Introduce
students to the basic principles of OO Design, plus elements of UML and design
patterns. Cover the Java language features not yet seen in CS1 and CS2. Teach
basic GUI programming.
Student learning outcomes
Upon
successful completion of this course, students should be able to:
Required texts
|
There may
be additional reading assignments and use of tools from the Internet. I will
provide URLs.
Recommended texts
|
||||||||
|
Schedule
This
schedule is subject to change with fair notice.
|
Week |
Dates |
Topics and activities |
|
|
1 |
Jan 25 |
Introduction Form project teams |
|
|
2 |
Jan 30,
Feb 1 |
Journey
to good design |
|
|
3 |
Feb 6, 8 |
Journey
to good design Object-oriented
design process |
2 |
|
4 |
Feb 13,
15 |
Object-oriented
design process |
|
|
5 |
Feb 20,
22 |
Guidelines for class design |
3 |
|
6 |
Feb 27,
29 |
Guidelines for class design |
|
|
7 |
Mar 5, 7 |
Interface
types and polymorphism |
4 |
|
8 |
Mar 12,
14 |
Interface
types and polymorphism |
|
|
9 |
Mar 19,
21 |
Midcourse review Midterm exam March 21 |
|
|
10 |
Mar 26-30 |
Spring break |
|
|
11 |
Apr 2, 4 |
Patterns
and GUI programming |
5 |
|
12 |
Apr 9, 11 |
Patterns
and GUI programming |
|
|
13 |
Apr 16,
18 |
Inheritance
and abstract classes |
6 |
|
14 |
Apr 23,
25 |
The Java object model |
7 |
|
15 |
Apr 30,
May 2 |
Frameworks Multithreaded
programming |
8 9 |
|
16 |
May 7, 9 |
Multithreaded
programming |
|
|
17 |
May 14 |
Course review |
|
|
|
Monday |
Final exam Section 1: 5:15-7:30 PM Section 2: 7:45-10:00 PM MacQuarrie
Hall, room 222 |
|
Project teams
You will
form project teams of around 4 students each. The teams will last throughout
the semester. Once the teams are formed, you will not be allowed to move from one
team to another, so form your teams wisely! Each student must be on a team.
Assignments
Assignments
will be team-based. For each assignment, each project team will turn in one set
of work, and all members of each team will receive the same score for the
assignment. Each team is responsible for choosing a team lead and dividing up
the work among the team members. You are personally responsible for
participating and contributing to your team's work, and for understanding each
part of the work for every assignment whether or not you worked on that part.
Assessments
At the end
of the semester, each of you will turn in an assessment of your own performance
on your team, and an assessment of each of the other members of your team.
Exams
There will
be unannounced quick quizzes at the start of some classes to test your
understanding of the lectures and readings. There will be no make-ups
for missed quizzes.
The
quizzes, midterm, and final examinations will be open book, notes, and laptops.
Instant messaging, e-mails, texting, tweeting, or other communication with
anyone else during the exams will be strictly forbidden. You will get an
individual score for each quiz and exam.
Class grade
Your
individual class grade will be weighted as follows:
|
50% |
Assignments* |
|
15% |
Quizzes** |
|
15% |
Midterm
exam** |
|
20% |
Final
exam** |
|
|
|
|
|
* project team scores |
Each
assignment and exam will be scored (given points) but not assigned a letter grade.
The mean score and standard deviation will be announced after each assignment
and exam. Final individual class letter grades will be assigned based on the
class curve. Your final class grade can be adjusted up or down depending on
your level and quality of participation on your project team as determined by
the project tracking tools and your team members' assessments of your
performance.
Classroom protocol
It is very
important for each student to attend classes and to participate in class discussions.
Some class meetings will end with time for each team to meet. Cell phones in
silent mode, please.
Academic Integrity
Your own
commitment to learning, as evidenced by your enrollment at SJSU, and the
University's Academic Integrity Policy requires you to be honest in all your
academic course work. Faculty members are required to report all infractions to
the Office of Student Conduct and Ethical Development. The policy on academic
integrity can be found at http://www.sjsu.edu/studentaffairs/.
Further Information
If you need
course adaptations or accommodations because of a disability, or if you need
special arrangements in case the building must be evacuated, please make an
appointment with me as soon as possible, or see me during office hours.
Presidential Directive 97-03 requires that students with disabilities
requesting accommodations register with the
Please
familiarize yourself with SJSU policies and procedures at http://info.sjsu.edu/static/catalog/policies.html
particularly the add/drop policy. It is
your responsibility to know and observe these policies. However, if there is
something about a policy that you don't understand, please feel free to ask!
You can also find answers to many questions at the Academic Advising and Retention Services web
site. Note
that for the Spring 2012 semester, the last day to drop a course without an
entry in your permanent record is Monday,
February 6, and the last day to add a course and register late is Monday, February 13. After these dates
it becomes more difficult to drop or add a class, so be sure you are in good
shape before these dates arrive! See http://www.sjsu.edu/provost/Academic_Calendars/1112aycalendar.pdf