Computer Science (COMP) 268

Introduction to Computer Programming (Java) (Revision 12)

COMP 268 Course Cover

View previous revision

Delivery Mode: Individualized study online

Credits: 3

Area of Study: Science

Prerequisite: COMP 200 or Course Coordinator approval.

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

Faculty: Faculty of Science and Technology

Centre: School of Computing and Information Systems

SCIS Software and Hardware Requirements

COMP 268 has a Challenge for Credit option.

Check availability

Course entry skill set: You are expected to have a basic knowledge of computers in general and to be able to set up and use the Java or other programming language(s) in a relevant programming environment. You are expected to be a proficient user of the internet and to be able to use word processors, text editors, and file manipulation tools (including zip compression) effectively. You should have completed high school algebra. If you do not have these skills, you are less likely to succeed, and we highly recommend you take COMP200.


COMP 268 is designed to introduce you to programming in the Java computer language. The course progresses from first principles to advanced topics in object-oriented programming using Java.

The course builds on the basic elements of Java programming and culminates in a final project (Assignment 4) that incorporates the skills acquired in the course: a text-based adventure game.

Students are also required to reflect on their progress and learning throughout the course, and to engage in online discussions with their peers, in an effort to increase problem-solving and critical analysis skills.


The course consists of the following Study Guide units, which are based on their corresponding textbook chapters. Units denoted with an asterisk (*) are supplementary reading and are considered outside the scope of the course:

  • Unit 1: Overview: The Mental Landscape
  • Unit 2: Programming in the Small I: Names and Things
  • Unit 3: Programming in the Small II: Control
  • Unit 4: Programming in the Large I: Subroutines
  • Unit 5: Programming in the Large II: Objects and Classes
  • * Unit 6: Introduction to GUI Programming
  • Unit 7: Arrays and ArrayLists
  • Unit 8: Correctness, Robustness, Efficiency
  • * Unit 9: Linked Data Structures and Recursion
  • * Unit 10: Generic Programming and Collection Classes
  • Unit 11: Input/Output Streams, Files, and Networking
  • * Unit 12: Threads and Multiprocessing
  • * Unit 13: GUI Programming Continued

Learning Outcomes

Upon successful completion of this course, you will be able to

  • articulate the principles of object-oriented problem solving and programming.
  • outline the essential features and elements of the Java programming language.
  • explain programming fundamentals, including statement and control flow and recursion.
  • apply the concepts of class, method, constructor, instance, data abstraction, function abstraction, inheritance, overriding, overloading, and polymorphism.
  • program with basic data structures using array, list, and linked structures.
  • explain the object-oriented design process and the concept of software engineering.
  • program using objects and data abstraction, class, and methods in function abstraction.
  • analyze, write, debug, and test basic Java codes using the approaches introduced in the course.
  • analyze problems and implement simple Java applications using an object-oriented software engineering approach.


To receive credit for COMP 268, students must score at least D (50 percent) in each of the following assessment activities. Assignments 1 through 4 require the student to write programs in Java and document their reflections on their work. A participation mark is awarded based on student involvement in online discussions.

Activity Weighting
Assignment 1 15%
Assignment 2 15%
Assignment 3 15%
Assignment 4 25%
Participation 15%
Final Exam 15%
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


Eck, D. J. (2019, July). Introduction to Programming Using Java (Version 8.1).

Other Materials

All course learning materials for COMP 268, including Java compilers and web editors, are distributed in electronic format through the course site and other websites.

Special Course Features

COMP 268 is offered through Moodle, a learning management system that is accessed through the myAU portal. COMP 268 can be completed at the student’s workplace or home. COMP 268 is an elective in all undergraduate programs offered by the School of Computing and Information Systems.

See for general computer equipment information.

Challenge for Credit Overview

The Challenge for Credit process allows you to demonstrate that you 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 about Challenge for Credit can be found in the Undergraduate Calendar.

Challenge Evaluation

To receive credit for the COMP 268 challenge registration, you must achieve a grade of at least B (75 percent) on the examination and B (75 percent) on EACH assignment.

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 12, March 5, 2020.

View previous revision