Course Outline

Instructor: Michael Winter, email:

Calendar description

Advanced object-oriented programming techniques such as graphical user interfaces, animation, sound, music, networking, parallelism, client-server and XML using game design as an example. Topics in object-oriented program design including UML and design patterns. Introduction to advanced Java APIs such as awt, swing, io, nio, sound, net and xml.

Prerequisites: two COSC credits or permission of the instructor.

Course Description

This course is about advanced object-oriented programming (OOP) including OO concepts, OO modelling, design patterns and the advanced Java APIs.

Course Outline

1 [2]/4,5,6.7,8 Introduction, review of OO concepts, basic UML, Utility classes, collection classes
2 [2]/7,8 I/O, Design patterns
3 [1]/1,[2]/7,8,11 XML, Threads, multitasking, Concurrency design patterns
4 [1]/2,[2]/8 GUI (AWT, Swing), 2D graphics, animation
5 [1]/3,4,6 Sound effects & music, Network programming


[1] (recommended) Developing Games in Java,  D. Brackeen, New Riders (2003), ISBN 1-5927-3005-1, Source code for the book
[2] (recommended) Object-Oriented Software Development Using Java, second edition, Xiaoping Jia, Pearson (2002), ISBN 0-201-73733-7

COSC Home Page
COSC 3P91 Home Page
© M. Winter, 2018