Computer Science (COMP) 308

Java for Programmers (Revision 5)

COMP 308 Course website

View previous syllabus

Delivery Mode: Individualized study online (with eTextbook)

Credits: 3

Area of Study: Science

Prerequisite: COMP 268 or permission of the course professor.

Faculty: Faculty of Science and Technology

Centre: School of Computing and Information Systems

COMP 308 has a Challenge for Credit option.

check availability

**Note: Students who are concerned about not meeting the prerequisites for this course are encouraged to contact the course coordinator before registering


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:

Activity Weighting
Quiz 1 3%
Assignment 1 5%
Assignment 2 10%
Assignment 3 12%
Assignment 4 20%
Final Exam 50%
Total 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


Registration in this course includes an electronic textbook. For more information on electronic textbooks, please refer to our eText Initiative site.

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

A print version of the eText may be available for purchase from the publisher through a direct-to-student link provided on the course website; you can also acquire the textbook on your own if you wish.

Other Resources

All other learning resources will be available online.

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 Overview

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

Full information about 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 D (50 percent) on the project and D (50 percent)on the examination.

Activity Weighting
Project 50%
Exam 50%
Total 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 5, December 12, 2013.

View previous syllabus