Spring 2026 - CMPT 213 D100
Object Oriented Design in Java (3)
Class Number: 5409
Delivery Method: In Person
Overview
-
Course Times + Location:
Jan 5 – Apr 10, 2026: Wed, 11:30 a.m.–12:20 p.m.
SurreyJan 5 – Apr 10, 2026: Fri, 10:30 a.m.–12:20 p.m.
Surrey
-
Instructor:
Victor Cheung
vca45@sfu.ca
-
Prerequisites:
CMPT 225 with a minimum grade of C-.
Description
CALENDAR DESCRIPTION:
An introduction to object oriented design using Java. The Java programming language is introduced, with an emphasis on its advanced features. The course covers the building blocks of object oriented design including inheritance, polymorphism, interfaces and abstract classes. A number of object oriented design patterns are presented, such as observer, iterator, and singleton. The course also teaches best-practices in code construction. It includes a basic introduction to programming event driven graphical user interfaces. Students with credit for CMPT 212 cannot take this course for further credit.
COURSE DETAILS:
Throughout the course, you will learn and use Java to solve interesting problems but no background in Java is expected. The course will cover a number of design patterns which you will use in the assignments. There will be a focus on designing and writing good maintainable code, as such all code submitted will need to conform to a coding standard which will be discussed in class.
Topics include:
- Introduction to Java, including advanced features such as enum, generics, and mutable vs immutable.
- Inheritance, polymorphism, interfaces and abstract classes.
- Introduction to object oriented design (OOD) and some UML diagrams.
- Code construction, best practices and coding standard.
- Basic software design patterns such as iteration, singleton, observers, or template methods.
- Introduction to refactoring.
- Basic introduction to event driven user interface programming or web servers, and use of threads.
- Software development tools, such as advanced IDE features, build tools, debuggers, and JavaDoc.
COURSE-LEVEL EDUCATIONAL GOALS:
By the end of this course students should be able to:
- Explain and justify the benefits and drawbacks of object-oriented design
- Design and write code that employs useful design patterns
- Write and maintain Java programs
Grading
- Assignments and Project 40%
- Midterm Exam 25%
- Final Exam 35%
NOTES:
Grading will be confirmed in the first week of class.
Students must attain an overall passing grade on the weighted average of exams in the course in order to obtain a clear pass (C- or better).
Materials
MATERIALS + SUPPLIES:
See Required & Recommended Reading for the reference books used in this course.
REQUIRED READING:
The author offers online access to the latest version of the book for students, instructions to acquire access which will be announced during class.
ISBN: 9780471744870
RECOMMENDED READING:
An online version (sufficient for this course) is available at the SFU Libray with valid SFU credentials.
ISBN: 9780735619678
An online version (sufficient for this course) may be available at the SFU Library with valid SFU credentials.
ISBN: 9781492078005
An online version (sufficient for this course) is available at the SFU Library with valid SFU credentials.
ISBN: 9780471449331
An online version (sufficient for this course) may be available at the SFU Library with valid SFU credentials.
ISBN: 9781265054632
REQUIRED READING NOTES:
Your personalized Course Material list, including digital and physical textbooks, are available through the SFU Bookstore website by simply entering your Computing ID at: shop.sfu.ca/course-materials/my-personalized-course-materials.
Department Undergraduate Notes:
-
Students must attain an overall passing grade on the weighted average of exams in the course in order to get a C- or higher.
-
All student requests for accommodations for their religious practices must be made in writing by the end of the first week of classes, or no later than one week after a student adds a course. After considering a request, an instructor may provide a concession or may decline to do so. Students requiring accommodations as a result of a disability can contact the Centre for Accessible Learning (caladmin@sfu.ca).
Registrar Notes:
ACADEMIC INTEGRITY: YOUR WORK, YOUR SUCCESS
At SFU, you are expected to act honestly and responsibly in all your academic work. Cheating, plagiarism, or any other form of academic dishonesty harms your own learning, undermines the efforts of your classmates who pursue their studies honestly, and goes against the core values of the university.
To learn more about the academic disciplinary process and relevant academic supports, visit:
- SFU’s Academic Integrity Policy: S10-01 Policy
- SFU’s Academic Integrity website, which includes helpful videos and tips in plain language: Academic Integrity at SFU
RELIGIOUS ACCOMMODATION
Students with a faith background who may need accommodations during the term are encouraged to assess their needs as soon as possible and review the Multifaith religious accommodations website. The page outlines ways they begin working toward an accommodation and ensure solutions can be reached in a timely fashion.