San José State University
College of Science/Computer Science Department
CS 151 – Object-Oriented Design, Section 5, Fall 2019

Instructor Loc Lam
Office Location DH 450
Email loc.lam@sjsu.edu
Office Hours Tuesday and Thursday onwards
Class Days/Time Tuesday and Thursday 10:30 AM - 11:45 AM
Classroom DH 450
Prerequisites Math 42, CS46B, and CS 49J (or equivalent knowledge of Java) with a grade of C- or better in each or instructor consent.

Course Web Page and Messaging
You are responsible for regularly checking with the messaging system through MySJSU and the Course Canvas page.

Course Catalog Description
Design of classes and interfaces. Object-oriented design methodologies and notations. Design patterns. Generics and reflection. Exception handling. Concurrent programming. Graphical user interface programming. Software engineering concepts and tools. Required team-based programming assignment. Prerequisite: MATH 42, CS 46B, and CS 49J (or equivalent knowledge of Java) (with a grade of "C-" or better in each); Computer Science, Applied and Computational Math or Software Engineering majors only; or instructor consent.

Course Goals
OO Design:

Java Language:

GUI Programming:

Course Learning Outcomes
Upon successful completion of this course, students will be able to:
OO Design

Java Language

GUI Programming

Textbook/Readings
No textbook is required for this course. Lecture notes and other materials will be posted on Canvas.

Other Readings

Classroom Protocol
Students are expected to arrive on time for the class. Students should bring laptops to the class for in-class labs. Attendance is highly recommended. No cell phones are allowed in the lecture. Please be considerate of your fellow students.

Course Requirements and Assignments
University Policy S16-9: “Success in this course is based on the expectation that students will spend, for each unit of credit, a minimum of 45 hours over the length of the course (normally three hours per unit per week) for instruction, preparation/studying, or course related activities, including but not limited to internships, labs, and clinical practice. Other course structures will have equivalent workload expectations as described in the syllabus.”

Grading Policy
Your grade will be calculated as follows:

Assignments / Exams 30%
Project 30%
Final Exam 40%

97% - 100% A+
93% - 96% A
90% - 92% A-
87% - 89% B+
83% - 86% B
80% - 82% B-
77% - 79% C+
73% - 76% C
70% - 72% C-
67% - 69% D+
63% - 66% D
60% - 62% D-
0% - 59% F


No late assignments will be accepted
An extension will be granted only if a student has serious and compelling reasons that can be proven by an independent authority (e.g. doctor’s note if the student has been sick).

Descriptions of Assignments/Exams

Exams
Exams will be conducted closed book, comprehensive and will be based on the course material. The usage of cameras may be used in the major exams.

Once decided in the class, all exam dates are final.  Students may retake a missed exam because of a health emergency or sickness accompanied by an official and signed doctor’s report.  Each case will be individually verified by calling the doctor’s office. The retake exams may have more difficult set of questions than the ones asked in the original exam.

Term Projects
Term projects require students to design and demonstrate an application and verify its functionality. The projects are completed by a group of three to four students, and they should emphasize the product of a teamwork.

Students may be asked to demonstrate the entire functionality of the system to the instructor in the form of an oral presentation where the instructor may ask technical questions and grade the team accordingly. Each team is required to submit a technical report by the end of the semester.

The organization of the report will contain the following four sections:

  1. Abstract and introduction
  2. Description of the project which includes the architecture/block diagrams and functionalities
  3. Description of the overall learning experience and the difficulties encountered during implementation
  4. Conclusions

Policy on Respect and Insubordination
Students who disturb the peace and harmony in class, behave disrespectfully to the instructor or his/her fellow students will be immediately dismissed from the class and reported to student affairs for disciplinary action.

Policy on Cheating
A student or students involved in a cheating incident in a test, homework, report, or lab project will receive an F in the course and will be reported to the judicial affairs office and subjected to disciplinary action.

Dropping and Adding
Students who do not provide documentation of having satisfied the class prerequisite and co-requisite requirements (if any) by the second-class meeting will be dropped from the class.

Students are responsible for understanding the policies and procedures about add/drop, grade forgiveness, etc.  Refer to the current semester’s Catalog Policies section at http://info.sjsu.edu/static/catalog/policies.html. Add/drop deadlines can be found on the current academic calendar web page located at http://www.sjsu.edu/academic_programs/calendars/academic_calendar/. The Late Drop Policy is available at http://www.sjsu.edu/aars/policies/latedrops/policy/. Students should be aware of the current deadlines and penalties for dropping classes.

Information about the latest changes and news is available at the Advising Hub at http://www.sjsu.edu/advising/.

University Policies
Per University Policy S16-9, university-wide policy information relevant to all courses, such as academic integrity, accommodations, etc. will be available on Office of Graduate and Undergraduate Programs’ Syllabus Information web page at http://www.sjsu.edu/gup/syllabusinfo/.

Course Schedule
The schedule is tentative and subject to change with fair notice posted on Canvas.

Week Date Topics

1

8/22

Explanation of the Green Sheet, Java Overview

2

8/27

Java Overview

2

8/29

Java Overview

3

9/3

Object-Oriented Design Process

3

9/5

Object-Oriented Design Process

4

9/10

Class Design

4

9/12

Class Design

5

9/17

Interface Types and Polymorphism

5

9/19

Interface Types and Polymorphism

6

9/24

Review

6

9/26

Exam 1

7

10/1

GUI Programming

7

10/3

GUI Programming

8

10/8

Inheritance and Abstract Classes

8

10/10

Inheritance and Abstract Classes

9

10/15

JavaObject Model

9

10/17

JavaObject Model

10

10/22

Review

10

10/24

Exam 2

11

10/29

Frameworks

11

10/31

Frameworks

12

11/5

Concurrent Programming

12

11/7

Concurrent Programming

13

11/12

Design Patterns

13

11/14

Design Patterns

14

11/19

Project Presentations

14

11/21

Project Presentations

15

11/26

Project Presentations

15

11/28

Thanksgiving (Campus Closed)

16

12/3

Project Presentations

16

12/5

Review

17

12/10

Study/Conference Day (no classes or exams)

17

12/13

Final Exam: Friday, 12/13, 9:30 am – 12:15 pm

Back to Homepage