Learning Outcomes:

  • Demonstrate the ability to write OOP Java programs.
  • Demonstrate the ability to apply object-oriented design patterns.
  • Demonstrate the ability to define and use exceptions.
  • Demonstrate the ability to use List, Set, and Map data structures.
  • Demonstrate the ability to construct and traverse a Graph.
  • Demonstrate the ability to debug and troubleshoot Java code without relying on a compiler or development environment to identify logic or compilation errors, and to correct those errors.



More details will be released closer to the time… But here’s the gist of it:

Where and when?

  • Week 12
  • Wednesday 6pm-8:30pm
  • In-person, in one of the City campus labs.
  • Invigilated.
  • About 2.5 hours long in total (includes setup time, settling in, etc).

What are the main restrictions?

  • You will be using the lab computers (not your own laptop).
  • You will be given programming exercises to complete in CodeRunner.
  • You will not be allowed to use the internet or any other resources.
  • You will not be allowed to use an IDE, Copilot, ChatGPT, etc.
  • You will not be allowed to refer to any notes.
  • You will not be allowed to have any other application open (other than CodeRunner in a single web browser tab).

How to best prepare?

This is a practical programming test, so the best way to prepare is to practice, practice, and practice your programming.

Here are some suggestions:

  • Do all the practice exercises provided, such as:
    • The CodeRunner exercises,
    • The Get Your Hands Dirty exercises,
    • The REWIND exercises,
  • Play around with and tweak all the ACP exercises to explore what happens when you change things, and make them your own.
  • Be confident you can do the exercises:
    • Without referring to any notes or other resources,
    • Without relying on the compiler to tell you what’s wrong,
    • Without relying on an IDE to help you write the code,
    • Without relying on Copilot or ChatGPT to help you write the code,
    • Without relying on the internet to help you write the code,
    • Without relying on Bob, Jenny, or your classmates to help you write the code.
  • Get started on the assignments early, as this provides excellent practical programming experience and confidence.
  • Repeat the above magical recipe 17 million times (or until you feel confident).