Skip navigation
The Australian National University

Lecturer, Tutors, and Peers

Your lecturer, tutors, and your peers are all important resource:

Lecturer

As your lecturer, I will do my best to help you succeed in this course. However, it's up to you to make the most of what I have to offer. You can do this at least four ways:

  1. Attend and engage in lectures. Ask questions.
  2. Talk to me about your questions during the break in the Tuesday lectures.
  3. Come and see me during office hours (12:00-1pm, Tuesdays, N217, CSIT).
  4. Use the class forum. This is a great way to raise issues. I try to be very responsive to issues raised there. Students asking questions there benefit from feedback from their peers, and they benefit their peers by raising issues others may yet run into.
  5. Email me with "[COMP1110]" in the subject line.

Tutor

Your tutors are experts and are here to help you. Make the most of this by attending and engaging in your scheduled labs.

The course tutors are as follows:

Your Peers

Engage with your class mates and group members. Use the forums. If you don't understand something, ask others. Explaining something to one of your peers will help deepen your understanding.

Text Books

This course does not make use of a single text book. Rather, I recommend that you consider the five textbooks below (one of which is free), and the online resources, and decide which of these are the best match for your needs. You are not required to purchase any book.

  • Thinking In Java, Bruce Eckel (4th Edition), available from the Co-op bookshore.

    This book is comprehensive and highly regarded. I cross-reference it heavily from the lecture notes.

  • Thinking In Java, Bruce Eckel (3rd Edition), available for download and online.
  • The great thing about this book is that it is freely available. However, it is slightly outdated, only covering up to Java 2 (we're studying Java 7). One or two important concepts are not covered in this version of the book, but it remains an excellent resource.

  • Head First Java, Kathy Sierra and Bert Bates, available from the Co-op bookshore.

    This book is very popular and covers the material well, and does so in a very approachable style. I highly recommend you consider this book. I cross-reference the book heavily in my lecture notes. I could not find a paper copy, but instead purchased the ebook from the Co-op.

  • Effective Java, Joshua Bloch (2nd Edition), available from the Co-op bookshore.
  • This book is absolutely outstanding, but is not required. It takes you well beyond the material covered in this course. However, if you're interested in doing more Java, I highly recommend that you buy this book sooner rather than later.

Online Resources

The topics covered in this course is the subject of a large amount of online material, some of which is high quality. I encourage you to read widely, use diverse resources, and adopt a learning style that suits you.

Java

Waterloo University has made available a wonderful tool for understanding the basics of Java. This tool allows you to paste in basic Java programs and watch them execute step-by-step. It illustrates the underlying data structures and allows you to step backwards and forwards in time. I highly recommend that you use this tool to help you understand what is going on when a Java program executes.

Oracle has developed a rich set of Java tutorials. I will use the Learning the Java Language trail as part of the rapid introduction to Java in the first few lectures of the course. We cover a lot of ground at the start of the course, so you may find it helpful to work through the tutorials in your own time. You may also find the larger set tutorials useful beyond the first few weeks; they are generally well designed and thorough. (Note that the Swing tutorial is not relevant to this course because we are using Java FX, which replaces Swing.)

Stack Overflow is one of many online resources for troubleshooting technical problems. Questions like this one are typical. You'll find great answers to more exotic questions too. You should become proficient at using such resources for resolving troublesome problems. Whatever your problem, there's a fair chance someone else has encountered it, and that another person has written up an explanation and/or solution. Learning how to use such tools effectively (and ultimately contributing to them!) is an essential skill for a software developer.

Java FX

Oracle has also produced some good Java FX tutorials. You may find the tutorials on creating visual effects, transformations and transitions and timeline animation useful. The tutorials include a beautiful and detailed example of a tree animation, which is worth reading even if you don't follow it all. These tutorials are not as mature as Oracle's Java tutorials, but they are nonetheless a very useful reference. I recommend you use them.

Tools

Successful completion of this course will require mastery of basic Eclipse and Mercurial skills, the two main tools we will use. You will need to use ssh if you work remotely (i.e. from home or from your laptop). Not a lot of class time will be devoted to teaching you these -- you are expected to learn these tools yourselves. Fortunately there are some very good online resources to help you with each of these. I recommend you use them.

SSH

SSH is a key piece of software that allows users to connect to remote computer securely. The tools we will use will rely on you connecting without passwords. This means using public key encryption. While you don't really need to understand public key encription for COMP1110, I highly recommend you try to understand the key ideas since it is a fundamental technology which you will use throughout your career, and which underlies many secure transactions you conduct in day-to-day life. Some find the ideas behind public key encryption hard to follow. There is a very nice description of the ideas behind public key encryption here

Eclipse

Eclipse is a large and powerful IDE. Lars Vogel has an extensive online tutorial. Mark Dexter has created a series of video tutorials for Eclipse. The first set is for people developing Java in Eclipse who are new to both. Mark has also created more advanced tutorials, which you may find useful including Using the Eclipse Workbench and Eclipse and Java: Using the Debugger.

Mercurial

Joel Spolsky has created a very nice set of tutorials on how to use Mercurial. I encourage you to use the MercurialEclipse plugin when you're using Eclipse, but understanding how to use Mercurial from the command line is valuable. You should gain a good appreciation for how to use MercurialEclipse by following the lectures. I explain the basics during lectures in week 1.

Updated:  01 August 2013 / Responsible Officer:   JavaScript must be enabled to display this email address. / Page Contact:   JavaScript must be enabled to display this email address.