📚Home

Welcome to the CS118 Revision Guide

Full notes for the module

The main set of notes for this module which is linked in the above heading were written in collaboration by Akram Ahmad and Justin Tan

Individual topics

Given the large number of topics, it makes sense to break these down into broader topics when revising - each of which having its own page. These are linked below by section:

  1. Variables, number systems, and I/O (1 to 4 from above)
  2. Conditional and iterative statements (5 to 6)
  3. Arrays, methods, scope and recursion (7 to 9)
  4. Object oriented programming (10 to 12)
  5. Abstract classes and inheritance (13 to 16)
  6. Exceptions (17)
  7. Generics (18)

Discussion of module content

There are five broad topics overall which were split into 11 lectures - within these topics, the main sections of content are:

  1. Storing values in Java
  2. Primitive types
  3. Operating on variables
  4. Pre- and post-increment
  5. Branching (if…else)
  6. Bounded and unbounded repetition
  7. Declaring an array
  8. Passing by value (parameters) and passing by reference (objects and arrays)
  9. Recursion definition and requirements
  10. OOP principles
  11. Constructor methods
  12. The static keyword
  13. The super and this keyword
  14. Dynamic polymorphism
  15. Abstract classes and functions
  16. Interfaces
  17. Exceptions
  18. Generics

Anyone who has completed the CS118 and CS126 courseworks should be confident with most of the content, so should focus their time on the more difficult topics, which include but are not limited to:

Along with topics with odd nuances, again including but not limited to: