Exam topics

Here’s a rough list of topics that have appeared on previous exams…

Cr 1 Algorithms

  • Pseudocode
  • Initially/when
  • User Interface design

Cr 2 Java

  • Order of operations
  • Data types (e.g. int v double)
    • Conversion and casting (e.g. int <> char)
  • Program traces
    • if / switch
    • for / while
  • Arrays
  • Methods

Cr 3 Objects

  • Declare, instantiate, initialise
  • Methods

Cr 4 Computer Architecture

  • Boolean
    • Expressions
    • Logic circuits
    • Truth tables
    • Karnaugh maps
  • TOY
  • General computer architecture e.g.
    • von Neumann architecture
    • the machine cycle (fetch, decode, execute)
    • the role of the Java Virtual Machine

Cr 5 Data Representation

  • Binary
    • Addition
    • Conversion
      • binary <> decimal
      • binary <> hex
    • 2’s complement
    • Fractions
    • Floating point
  • ASCII / Unicode
  • Array representation
  • File sizes

Schedule for the last few weeks….

Okay, this is the home stretch. Time to plug any gaps and get yourself ready for the exam.

Mon 17/10 – TOY worksheet 1
Tue 18/10 – TOY worksheet 2 (TOY 1 due)
Thu 20/10 – Show Day, so a chance to catch up on any outstanding work

Mon 24/10 – Code of Ethics (TOY 2 due)
Tue 25/10 – Cr 3 / TOY revision (Major project due)
Thu 27/10 – Test – Cr 3 / Cr 4 TOY

Mon 31/10 – Cr 1 revision
Tue 1/11 – Cr 5 revision (Code of Ethics due)

Mon 7/11 – Criteria 4 revision
Tue 8/11 – Criteria 2 revision
Thu 10/11 – General revision (Last class)

Mon 21/11 – Computer Science exam (9am, arrive before 8:45am)

Arcade Spaceship Shooter

SpaceXMy project is going to be a game like the old Arcade Spaceship styled shooters. The aim of the game is to evade incoming asteroids, take out enemy ships and survive. Ships and asteroids will come down from the top of the screen and shoot at you, while your job is to dodge and shoot back. You’ll start off with three lives and after you reach a certain score you’ll gain a new life.

I plan to get the shooting system and the randomizer for the spawner. If I can get either of those two things completed by the time the Major Project is due then I will be very much happy.

I plan to implement:

  • Shooting System
  • Point System
  • Asteroids
  • Enemy Ships
  • Music/Sound Effects
  • Randomized Ship/Asteroid Spawner

Project Brief: Boolean Expression Parser

My major project will (probably) be a web application that parses a boolean expression, evaluates it, and produces a truth table containing all possible inputs. I plan to write the parser and interpreter code in JavaScript, with the interface being built in HTML and CSS.

The application will accept input from the user in the form of a freehand boolean expression. It will then convert this expression into a parse tree, which will then be used to build a truth table containing all possible input combinations.

Here’s an example of what the interface might look like:


The uppermost box is a text input field for the user to provide the expression, and the table below will contain all possible input combinations for the entered variables, as well as the result produced when they are substituted into the expression and it is evaluated.

Once the parser and interpreter are built, it should also be possible to use them to generate other forms of output, such as Karnaugh maps.

Project Brief: Breakout

The game which I chose for the project is game called Breakout. It is a single player game that requires the person to hit a ball bouncing around the screen hitting blocks in different locations. The player’s objective in said game is to destroy all bocks on the screen to win and has to make sure the ball doesn’t hit the ground or else the player losses the game.


I do not expect to get it to get to the standard I want but will try my best to do so to get a original one working ASAP.

By the end of the project I would have liked to implement

  • a scoring system
  • sound effects
  • sprites to clean it up a bit
  • high score system
  • lives counter


Project brief? Tetris

tetrisFor my project I intend to replicate Tetris in Java. I do not expect to get it working perfectly but will be happy if I can simply get “blocks” to fall and delete when a full line. However to do this I will have a few difficulties. To start with I need to implement “gravity” on a block for it to fall. Followed by when it stops falling another block taking its place. Then after that collision of blocks. Then deleting a full line causing the higher lines to fall. And then setting an array for it to spawn a random block. If I can get this working I will have to use array and possibly timers. The main purpose of this is to improve my skills AND pass the class.

By the end I want to implement:

  • Proper collision
  • Block detection
  • Score system

Assets I will require are premade sprites possibly for the blocks,


Major Project Brief – Pacman

Pac-manMy major project is going to be Pacman. The aim of the game is to collect all the points and avoid the ghosts. As the levels increase so does the speed of the ghost making the game more difficult. You have 3 lives to collect all the pickups and beat the ghosts, but if the ghosts catch you 3 times it’s game over!

I plan to get the lives and ghosts working the way they should and the movement of Pacman working like the original game. Time depending, I will try to get the power ups working.

By the end of this project I hope to have at least the movement, walls and score working correctly, and if possible the lives depending on time.

I plan to implement:

  • Lives for Pacman
  • Pickups (points)
  • Ghosts (movement)
  • Scoring System
  • Walls

Cody’s Major Project Brief

My major project will be a 2D fighter style game, based off the Super Smash Bros. series. All characters in the game will be popular internet ‘memes’, each having individual attack animations and a unique special attack. Each stage will also have some relevance to internet culture. Otherwise, the game will be similar to Super Smash Bros. in that each time a character takes damage, their damage counter (%) will increase. The speed a character launches is relative to the damage counter, and if they exit the stage (either by launching or falling) they will be eliminated.

The interface will also be indicative of Super Smash Bros., with each character’s name, icon and damage counter positioned at the bottom of the screen; a timer will appear at the top right. Based on time constraints, I intend to include at least two complete characters, and one stage. I will add more characters, stages, game modes and menu screens once a working prototype is complete.


  • At least 1 Stage
  • At least 2 Characters
  • Unique attack/sp. attack animations
  • Left/right movement and jump animation
  • Damage counter
  • Timer
  • Variable launch rates
  • Simulated gravity
  • Custom UI
  • Menu screens*
  • Alternate game modes*


Super Smash Bros. Wii U

Super Smash Bros. Wii U

Major Project Brief

My major project is going to be an adventure fantasy side scrolling game. I plan to create at least the main sprites and objects used in 8-bit, and import them as images for the game. The aim of the game will be to collect all the gems in each level before being able to continue to the next.

I’m hoping to finish the programming for at least the first level, with all the sprites moving appropriately, the background stopping when the player stops and for the game to count how many gems have been collected and how many still need to be collected before allowing the player to move on.

The game will start with a black screen and white text with a short story before the actual gameplay begins.

I plan to implement:

  • Moving background that changes speed
  • Player movement
  • Gem counter
  • Sound effects/music
  • Sprites
Basic idea of the side scroller's layout

Basic idea of the game’s layout