• Offered by Research School of Computer Science
  • ANU College ANU College of Engineering and Computer Science
  • Classification Transitional
  • Course subject Computer Science
  • Areas of interest Computer Science, Computer Systems, Computational Foundations
  • Academic career UGRD
  • Mode of delivery In Person
This is a Java-based programming course that includes basics of object-oriented programming, algorithms and data structures, graphical user interface, good programming practice and software engineering.
The content covered will include, but not be limited to:
• Java's Syntax and Program Structure. Procedural Programming
• Objects, Classes and Object-Oriented Programming
• Introductory Algorithms and Data Structures; Java Collections Framework
• Graphical User Interface Programming: principles, event-driven programming, Model-View-Controller architecture, JavaFX Framework
• Elements of Functional Programming with λ-expressions and streams API
• Annotations and Self-Documentation of Java Programs
• Good Programming Practices and Software Development Principles

Learning Outcomes

Upon successful completion, students will have the knowledge and skills to:

  • Read and understand Java-based software code of medium-to-high complexity.
  • Use standard and third party Java's API’s when writing applications.
  • Understand the basic principles of creating Java applications with graphical user interface (GUI).
  • Create rich user-interface applications using modern API’s such as JAVAFX.
  • Understand the fundamental concepts of computer science: structure of the computational process, algorithms and complexity of computation.
  • Understand the basic approaches to the design of software applications.
  • Apply the above to design, implement, appropriately document and test a Java application of medium complexity, consisting of multiple classes.

Indicative Assessment

  • Homework and Labs (10%)
  • Assignments (30%)
  • Mid Semester Test (10%)
  • Final Theory/Lab Examination (50%)

The ANU uses Turnitin to enhance student citation and referencing techniques, and to assess assignment submissions as a component of the University's approach to managing Academic Integrity. While the use of Turnitin is not mandatory, the ANU highly recommends Turnitin is used by both teaching staff and students. For additional information regarding Turnitin please visit the ANU Online website.


One two-hour lecture and one one-hour lecture each week for 12 weeks. One two-hour practical lab session for each of 8 weeks. Naturally a considerable amount of self study is expected; with an approximate 120 hours of work for the course.

Requisite and Incompatibility

To enrol in this course you must have completed COMP1040. You are not able to enrol in this course if you have completed COMP1110 or COMP1510 or COMP1140.

Prescribed Texts

Core Java for the Impatient, 2015 edition or later, by Cay S Horstmann (Addison-Wesley Professional, ISBN 9780321996329)

Preliminary Reading

Java Concepts, 7th ed., by Cay Horstmann (John Wiley, ISBN 978-1-1184-3112-2)


Tuition fees are for the academic year indicated at the top of the page.  

If you are a domestic graduate coursework or international student you will be required to pay tuition fees. Tuition fees are indexed annually. Further information for domestic and international students about tuition and other fees can be found at Fees.

Student Contribution Band:
Unit value:
6 units

If you are an undergraduate student and have been offered a Commonwealth supported place, your fees are set by the Australian Government for each course. At ANU 1 EFTSL is 48 units (normally 8 x 6-unit courses). You can find your student contribution amount for each course at Fees.  Where there is a unit range displayed for this course, not all unit options below may be available.

6.00 0.12500
Domestic fee paying students
Year Fee
2018 $4080
International fee paying students
Year Fee
2018 $5400
Note: Please note that fee information is for current year only.

Offerings, Dates and Class Summary Links

ANU utilises MyTimetable to enable students to view the timetable for their enrolled courses, browse, then self-allocate to small teaching activities / tutorials so they can better plan their time. Find out more on the Timetable webpage.

There are no current offerings for this course.

Responsible Officer: Registrar, Student Administration / Page Contact: Website Administrator / Frequently Asked Questions