Computer Science (COMP) 308

Java for Programmers (Revision 4)

COMP 308 Course website

Revision 4 is closed for registrations, replaced by current version

View previous syllabus

Delivery Mode: Individualized study online

Credits: 3

Area of Study: Science

Prerequisite: COMP 268 or permission of the course professor.
Note: Students who are concerned about not meeting the prerequisites for this course are encouraged to contact the course coordinator before registering.

Students in this course are required to contact their tutor using email or the course (Moodle) forums. Please see the Tutor and Coordinator Support page for more information.

Centre: School of Computing and Information Systems

SCIS Orientation

COMP 308 has a Challenge for Credit option

Course website

check availability


COMP 308 provides a solid grounding in object-oriented programming in Java for students who have a background in procedural programming and advanced features of OOP for students with introductory courses in OOP. This course may be used as an elective for students in the BSc (CIS), BA(IS) and BSc (CIS-PD).

Learning Objectives

Students successfully completing this course will be able to:

  • describe the new features of Java programming language.
  • understand advanced concepts of objects; and to create, manipulate, and control the objects.
  • understand the concepts of data abstraction, inheritance, and polymorphism.
  • understand Java runtime mechanism and use runtime type and runtime class information in Java applications.
  • use interfaces and abstract classes to separate interface from implementation.
  • create error handling with exceptions
  • use inner classes.
  • understand the concept of Java concurrent programming and use threading model in the program.
  • program using data structures.
  • understand the concept of annotation and its role in testing Java code.
  • understand the features of Java Bean and Swing, and implement GUI (graphic user interface) with Swing applications.
  • use Java I/O and network programming.
  • analyze and implement comprehensive Java applications by means of the approaches introduced in the course.


Unit 0: Introducing the Java Platform

Unit 1: Getting Started with the Java Programming Language

Unit 2: Object Oriented Programming with Java

Unit 3: Program Control

Unit 4: Object Orientation and Reusability

Unit 5: Collections, Arrays, Exceptions and Strings

Unit 6: Types, Generics and Containers

Unit 7: Java IO and Networking

Unit 8: GUI Development

Unit 9: Concurrency

Unit 10: Annotations and Java Documentation


To receive credit for COMP 308, you must achieve a course composite grade of at least “D” (50 percent), a grade of at least 50 percent on the final examination and an overall average of 50 percent on assignments. The weighting of the composite grade is as follows:

Quiz 1 TME 1 TME 2 TME 3 TME 4 Final Exam Total
3% 5% 10% 12% 20% 50% 100%

The final examination for this course must be taken online with an AU-approved exam invigilator at an approved invigilation centre. It is your responsibility to ensure your chosen invigilation centre can accommodate online exams. For a list of invigilators who can accommodate online exams, visit the Exam Invigilation Network.

To learn more about assignments and examinations, please refer to Athabasca University's online Calendar.

Course Materials


Eckel, B. 2006. Thinking in Java, 4th Edition. Upper Saddle River, NJ: Prentice Hall. ISBN: 0131872486.

Other materials

The remainder of the learning materials for COMP 308 is distributed in electronic format. At this time, those materials include:

  • COMP 308 Study Guide.
  • Detailed descriptions of the requirements for the individual tutor-marked exercises.
  • A course evaluation form.
  • Links to a variety of resources on the World Wide Web.

Additional supporting materials of interest to students of COMP 308 may become available electronically.

Special Course Features

COMP 308 is offered by computer mediated communications mode, and can be completed at the student's workplace or home. It is a core course in the BA Information Systems and the BSc Computer Information Systems. This course is recommended for all senior-level Computer Science students.

Challenge for Credit Course Overview

The Challenge for Credit process allows students to demonstrate that they have acquired a command of the general subject matter, knowledge, intellectual and/or other skills that would normally be found in a university level course.

Full information for the Challenge for Credit can be found in the Undergraduate Calendar.

Challenge Evaluation

To receive credit for COMP 308 challenge registration, you must achieve a grade of at least 50 per cent on the project and “D” (50 per cent) on the examination.

Project Exam Total
50% 50% 100%

Undergraduate Challenge for Credit Course Registration Form

Athabasca University reserves the right to amend course outlines occasionally and without notice. Courses offered by other delivery methods may vary from their individualized-study counterparts.

Opened in Revision 4, February 6, 2007.

View previous syllabus