Computing Science Course Outlines

Course Outline - CMPT 213 - Object Oriented Design in Java

Information

Subject

Catalog Number

Section

Semester

Title

Instructor(s)

Campus

CMPT

213

D100

2022 Fall (1227)

Object Oriented Design in Java

Bobby Chan   

Surrey Campus

Calendar Objective/Description

Object Oriented Design in Java

Instructor's Objectives

Throughout the course, students 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 students 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.

Prerequisites

see go.sfu.ca

Topics

  • 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, and use of threads.
  • Software development tools, such as advanced IDE features, build tools, debuggers, and JavaDoc.

Grading

35% assignments and project, 20% midterm, 45% final exam. 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).

Reference Books

  • Code Complete, 2nd ed., Steve McConnell, Microsoft Press, 2004, 9780735619678
  • Head first design patterns, Freeman and Freeman, O'Reilly, 2004, 9780596007126
  • Patterns in Java (Volume 1), Mark Grand, Wiley, 2002, 9780471227298
  • Object-Oriented Design & Patterns, 2nd ed, Cay Horstmann, Wiley, 2006, 9780471744870

Academic Honesty Statement

Academic honesty plays a key role in our efforts to maintain a high standard of academic excellence and integrity. Students are advised that ALL acts of intellectual dishonesty will be handled in accordance with the SFU Academic Honesty and Student Conduct Policies ( http://www.sfu.ca/policies/gazette/student.html ).

Data Last Updated: