The course aims to give students an insight into the object-oriented approach to the design and implementation of software systems. The course also considers specific features of the programming language Java, in particular, graphical interfaces and event driven applications. The second part of the course is intended to give students the necessary background to understand the technical software aspects of how computers communicate across the internet. Students will be introduced to the underlying principles of client-server computing systems and will gain the required conceptual understanding, knowledge and skills to enable them to produce simple web-based computing systems in Java.

This course is a component of the University of London's Computing and Information Systems Degree Programme. It is offered externally at SBCS. Further information about the course schedule can be found on the SBCS Website.


The following outline is only given as a guide. Topics are presented as needed to complete a practical application. Usually we would choose a game and attempt to implement the game in class learning techniques and concepts along the way.

Week Topic Links
1 Introduction. Review of Java basics. Installing the Java SDK. Configuring the system. Variables, Datatypes
2 Review continued. Conditionals, Loops, Arrays.
3 Introduction to Objects, Reference Types, The Heap
4 Class Design, Constructors
5 Encapsulation, Instance Variables
6 Method design.
7 Inheritance
8 Abstraction, Interfaces
9 Introduction to Swing
10 Handling Events
11 Introduction to 2D Graphics
12 Exception Handling
13 Collections
14 Introduction to Threads, Animation
15 Further Graphics
16 More about Threads
17 Composition and Aggregation
18 Input and Output
19 Object Serialisation
20 Networking
21 Servlets
22 JSP
23 RMI
24 Making a multi player game
25 Few minor topics that slipped through.
26 Deployment Options
27 Review
28 Review
29 Exam Preparation
30 Exam Preparation