Course Outline

[Course Division][Course Outline]


This course outline is complements of student Ajay Sabjaney, an IB Computer Science student who graduated in 2006. While in grade 10, Ajay expressed the desire to do a Java course that focused on game development. His interest generated this course outline.

This course focuses on graphical and game development in Java.  A more multimedia interactivity and modern approach of Java is used in this course to demonstrate the broad range of use of Java.  The course is divided in to three parts: the basics to Java game development, game development for mobile devices with Java, and an introduction to Java 3D.  The first part of the course essentially deals with the basics of game development, and includes review of OOP.  The second part of the course takes Java technology to another level and teaches game development for mobile devices such as cell phones.  The third and most complex part of this course deals with 3D graphic programming in Java.


A good resource throughout the course, especially for parts 1 & 3 is Developing Games in Java by David Brackeen, published by New Riders.  An offline copy of all the resource sites has been saved to a CD.


Course Division:


  1. Basics to Java Game Development
    1. Including sound, graphics, threads, double buffering, arrays, framework, AI, etc.
    2. More use of BlueJ, including use of the debugger
    3. The exercise for this is to design and create a game of choice which integrates all of the above
    4. Resources:

                                                               i.     Programmer's Heaven Java Games

                                                             ii.      The Java Game Development Tutorial

                                                            iii.      Making Java Game Applets

                                                           iv.      Java Games Programming Techniques (online book)

                                                             v.      Bleeding at the Keyboard (online book)

                                                           vi.      GameDev – Java Game Programming

                                                          vii.      The Java Game Programming Tutorial


  1. Basics to mobile device game development in Java
    1. A look at how java is integrated in mobile device programming
    2. Understanding Java mobile technology
    3. Creating a game which integrates graphics, double buffering, etc. for a mobile phone
    4. Resources:

                                                               i.      An Introduction to Developing for Mobile Devices Using J2ME-MIDP

                                                             ii.      MIDP 2.0 Games: a Step-by-Step Tutorial with Code Samples

                                                            iii.      Wireless Development Tutorial


  1. An Introduction to Java 3D (optional)
    1. A look at how 3D graphics is integrated in Java programming
    2. Understanding the math concepts behind 3D programming
    3. Simple 3D programming in Java
    4. Some resources on CD

Course Outline:


Basics to Java Game Development

  1. Review of GUI and applets
  2. Working with OOP
  3. Threads
  4. 2D Arrays
  5. User Interaction
  6. Simple AI
  7. 2D Graphics
  8. Double buffering
  9. Sprites & more animation
  10. Sound Effects & Music
  11. Exercise – Battleship
  12. Tile Map
  13. Collision detection
  14. Scrolling
  15. Project – design and create a 2D game in Java


Basics to mobile device game development in Java

  1. How Java programming is integrated in mobile technology
  2. Understanding J2ME
  3. Start programming….
  4. Project – design and create a 2D game in Java for a cell phone


An Introduction to Java 3D

  1. Understanding math for 3D programming
  2. Basic 3D programming