Skip to content

Latest commit

 

History

History
 
 

cm-2005-object-oriented-programming

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Go back to the main page

Table of contents


Object-Oriented Programming

This module will provide you with an object-oriented programming skillset. You'll learn what objects and classes are and how to write classes. You'll see how objects can interact with each other, including defining and implementing interfaces to control the interaction. You'll learn how to use inheritance to extend functionality from parent classes. You'll learn how to write code according to style guidelines and how to write formal code documentation.

Professor(s)

  • Dr. Matthew Yee-King

Topics covered

  • Variable and types
  • Control flow: conditionals and iteration
  • Functions
  • Objects and classes
  • Interaction between objects
  • Inheritance: extending a parent class
  • Inheritance: defining a class hierarchy
  • Code documentation and style
  • Abstraction and polymorphism: implementing an abstract class
  • Abstraction and polymorphism: defining an interface

Assessment

Coursework only (Type II)

Module specification

Past exams

See past exams here.

Syllabus

Resources

  • Sourcetrail (Windows, macOS, Linux) - "Free and open-source cross-platform source explorer". Supports C, C++, Java and Python.

Kinks to be aware of

Linux setup guide for OOP projects

Refer Linux setup guide

Class diagram of starter code

class diagram of starter code

Complementary learning

C++

  • C++ - Playlist by The Cherno

❤️ Notes

On REPL

IDE warning

The programme's director said that "you cannot do the work in the second half of the course in Windows with VSCode, so people would need to install Visual Studio eventually anyway."