Fall 2025 - CMPT 213 D100
Object Oriented Design in Java (3)
Class Number: 5445
Delivery Method: In Person
Overview
-
Course Times + Location:
Sep 3 – Dec 2, 2025: Mon, 10:30 a.m.–12:20 p.m.
SurreySep 3 – Dec 2, 2025: Wed, 10:30–11:20 a.m.
Surrey
-
Instructor:
Brian Fraser
bfraser@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
- Introduction to Java, including 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 iterators, observers, or template method.
- 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.
Grading
- Assignments and Project 30%
- Midterm 30%
- Final Exam 40%
NOTES:
Grading will be confirmed in the first week of class.
REQUIREMENTS:
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:
Reference Books:
- Effective Java, 3rd ed., Joshua Bloch, Addison-Wesley Professional, 2017, 9780134685991
- Code Complete, 2nd ed., Steve McConnell, Microsoft Press, 2004, 9780735619678
- Head first design patterns, 2nd ed., Freeman and Robson, O'Reilly, 2021, 9781492078005
- Object-Oriented Design & Patterns, 2nd ed, Cay Horstmann, Wiley, 2006, 9780471744870
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.