San Jose State University
College of Science
Department of Computer Science
CS151, Object-Oriented Design, Section 1, Spring 2023

Course and Contact Information

Course 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.

Course Objectives

Course Learning Outcomes

Upon successful completion of this course, students should be able to:

BS in Computer Science Program Outcomes Supported

These are the BSCS Program Outcomes supported by this course:

Course Topics

Topics Weeks
Object-Oriented Design Process2
Interface Types, Polymorphism, Lambda Expressions, and GUI programming 2.5
Design Patterns 2.5
Inheritance and Abstract Classes2
The Java Object Model - Java Type Systems, java.lang.Object class, Serialization, Reflection, and Generics3
Concurrent Programming 2
Total 14

Required Texts/Readings

Course Requirements and Assignments

Evaluation (Exams)

Grading Information

You will receive the final grade based on the weighted average score on your performance. The grading weights are as follows.

I first try scores of 90, 80, and 70 to cut off letter grades of A-, B-, and C-, respectively. If overall class performance is too low to use these cut offs, I set a cut off of C- to a lower score than the class total average but a higher score than 60 (this number may change), and divide the students' group above the cut off of C- into A+, A, A-, B+, B, B-, C+, C, C-. The rest of students will be given by a grade of D+, D, D-, F or WU depending on their class performance.

Technology Requirements

Students are required to have an electronic device (laptop, desktop or tablet) with a camera and built in microphone. SJSU has a free equipment loan ( program available for students.

Students are responsible for ensuring that they have access to reliable Wi-Fi during tests. If students are unable to have reliable Wi-Fi, they must inform the instructor at the latest one week before the test date. See Learn Anywhere website ( for current Wi-Fi options on campus.

Online Exams

Proctoring Software and Exams

Exams will be proctored in this course through Respondus Monitor and LockDown Browser. Please note it is the instructor’s discretion to determine the method of proctoring. If cheating is suspected the proctored videos may be used for further inspection and may become part of the student’s disciplinary record. Note that the proctoring software does not determine whether academic misconduct occurred, but does determine whether something irregular occurred that may require further investigation. Students are encouraged to contact the instructor if unexpected interruptions (from a parent or roommate, for example) occur during an exam.

Testing Environment: Setup

Students must:

Technical difficulties

Internet connection issues: Canvas autosaves responses a few times per minute as long as there is an internet connection. If your internet connection is lost, Canvas will warn you but allow you to continue working on your exam. A brief loss of internet connection is unlikely to cause you to lose your work. However, a longer loss of connectivity or weak/unstable connection may jeopardize your exam.
Other technical difficulties: Immediately email the instructor a current copy of the state of your exam and explain the problem you are facing. Your instructor may not be able to respond immediately or provide technical support. However, the copy of your exam and email will provide a record of the situation.

Contact the SJSU technical support for Canvas:

Technical Support for Canvas Email: Phone: (408) 924-­‐2337

Classroom Protocol

University Policies

COVID-19 and Monkeypox

Students registered for a College of Science (CoS) class with an in-person component should view the CoS COVID-19 and Monkeypox Training slides for updated CoS, SJSU, county, state and federal information and guidelines, and more information can be found on the SJSU Health Advisories website. By working together to follow these safety practices, we can keep our college safer. Failure to follow safety practice(s) outlined in the training, the SJSU Health Advisories website, or instructions from instructors, TAs or CoS Safety Staff may result in dismissal from CoS buildings, facilities or field sites. Updates will be implemented as changes occur (and posted to the same links).

CS151 Object-Oriented Design, Spring 2023: Semester Schedule

Subject to change with fair notice at least one class period in advance. Students will be notified in class and/or via course web site should any changes occur.
Week Topics Assignments
1 Introduction to CS151
1 Object-Oriented Design Process
2 Object-Oriented Design Process
2 Object-Oriented Design Process
3 Object-Oriented Design Process
3 Object-Oriented Design Process
4 Interface Types and Polymorphism
4 Interface Types and Polymorphism
5 Interface Types and Polymorphism
5 Interface Types and Polymorphism
6 Interface Types and Polymorphism
6 Interface Types and Polymorphism
7 Lambda Expression
7 Patterns and GUI Programming
8 Midterm I
8 Patterns and GUI Programming
9 Patterns and GUI Programming
9 Patterns and GUI Programming
10 Patterns and GUI Programming
10 Inheritance and Abstract Classes
11 Inheritance and Abstract Classes
11 Inheritance and Abstract Classes
12 Inheritance and Abstract Classes
12 Midterm II
13 The Java Object Model
13 The Java Object Model
14 The Java Object Model
14 Concurrent Programming
15 Concurrent Programming (Last Day of Instruction)
Final Exam Section 1: Wednesday, May 17, 7:15-9:30 AM
Last Updated Sep 13, 2023