This schedule shows the recommended activites for each week of the course. IPPO students have a wide variety of previous experience and you may want to spend different amounts of time on different topics; the schedule is flexible enough to support this, but you should not to assume that it will be easy to catch up if you slip significantly behind.

Tasks marked with this symbol are essential: R


Week 0

Make sure that you are prepared for the start of the course next week:

  • Browse this schedule and the course Handbook so that you understand what is involved in the course and are sure that it is suitable for for you. Please do contact me (Paul Anderson) if you would like to discuss this.
  • You are very strongly recommeded to get a copy of the Course Textbook. This book covers the fundamental principles of the course much more clearly than any other materials.
  • Make sure that you are registered for the Piazza forum using your University email address, and that you are able to access it - this is the main source of help, information and announcements for IPPO and you should check this regularly. If you cannot access the forum, please email me with the subject "Forum Account".
  • Read the document explaining the Development Tools which will be used on the course. This is especially important if you want to use your own machine for the exercises.

Especially if you don't have a lot of previous programming experience, you may want to look at next week's activities in advance.

Week 1

There are no scheduled lectures, or lab sessions this week. This is to allow time for all students to confirm their course choices. However, you will be expected to understand the material from the first two chapters of the book, and be able to run the development tools, before the lecture next week.

  • Read the Getting Started document and make sure that you can use the development tools, either on your own machine, or on a DICE (lab) machine.
  • Study the first two chapter(s) of the textbook and make sure that you understand the basic concepts, including classes, objects, methods, parameters, state, etc. We recommend working through some of the examples using the BlueJ software.
  • Please make sure that you are formally registered for the course (usually by your PT). If you are not registered, we may not be able to allocate you a lab session, and you may not have an account on the DICE machines (if you are not an Informatics student). R

Especially if you don't have much previous programming experience, you may find this challenging. Please do make use of Piazza where tutors will be happy to answer your questions.

You should contact the ITO if you have not received information about your lab session.

Week 2

The first lecture will be held at 3.10 on Tuesday this week, in G.01 in the Lister Building (this is in Roxburgh Place, so please allow time to find the building). This will provide an introduction to the course, and some advice for the first assignment.

The first assignment will be released this week. This will make use of the material to be studied over the next few weeks, so be careful not to rush into this without understanding the relevant book chapters - it is particularly important that you understand how to use the classes and objects correctly.

  • Download and browse the Assignment Sheet
  • Attend the lecture.
  • Study chapters 3 and 4 of the textbook (collaborating objects, collections). Again, We recommend working through some of the examples using the BlueJ software.

If you are finding the material easy, you may like to look at chapter 5 (lambdas) as well. Otherwise, you can omit this chapter (the material is optional).

Remember to use Piazza if you have any questions or problems.

Week 3

This week, you should be starting to work on the first assignment and reading the relevant background materials.

Lab sessions also start this week where demonstrators will be on hand to help and answer questions about the exercises, or the assignment.

  • Start work on the assignment.
  • Study the chapters 6 and 9 of the textbook (libraries, testing).
  • If you would like to practice some basic exercises with the development tools on some non-assessed material, you should look at the Getting Older exercise.
  • Attend your scheduled lab session

Notice that the recommended reading is out of sequence. Chapter 9 is recommended here because it is relevant to the assignment. Chapters 7 and 8 can be deferred until later.

Week 4

This week you should be focussing on completing the first assignment which must be submitted on Friday. One book chapter is recommended, but this is not essential at this stage and can be deferred until later if you are short of time.

  • Study chapter 7 of the textbook (arrays).
  • Attend your scheduled lab session.
  • Submit the first assignment by 4.00pm on Friday, using the submission form available on the Assignment Page. R

We strongly recommended that you attempt a submission well before the deadline to confirm that you are able to use the system. You may submit multiple copies and only the final copy will be assessed - so you do not need to wait until the assignment is complete before attempting a submission.

Note that the online submission system will close automatically at 4.00pm on Friday. Demonstrators will be giving feedback and discussing assignment solutions in the lab sessions next week - this means that no extensions will be available for this assignment.

Week 5

If you have not already done so, you must show your running assignment code to a demonstrator during this week's lab session. The demonstrator will confirm that your code runs as described in your assignment submission, and provide you with some feedback on your solution.

  • Study chapters 10, 11 and 12 of the textbook (inheritance, classes).
  • Attend your registered lab session, and be prepared to briefly explain and demonstrate your solution for the first assignment to a demonstrator. R

Three book chapters are recommended this week - chapter 10 is important, and you should make sure that you understand this material well. If you are finding the material difficult, you do not need to study the other two chapters in so much depth, but you should understand the main concepts (look at the "concept summary" at the end of each chapter).

Please attend this week's lab session on time, otherwise it may be difficult to schedule all of the demonstrations.

Week 6

This week, you should be studying material required to help you design the solution to the Second Assignment which will be released this week. You should not work on the implementation of the assignment yet - you will later have an opportunity to see alternative designs, and it is likely that you will want to revise your initial design before starting the implementation.

The second lecture will be held at 3.10 on Tuesday this week, in G.01 in the Lister Building (This is in Roxburgh Place). This will provide some feedback on your solutions to the first assignment, and advice for the second assignment.

  • Study chapters 8 and 15 of the textbook (designing classes and applications).
  • Attend the lecture.
  • Attend your lab session.

Notice that the book chapters are out of sequence. These chapters are particularly relevant to the lecture, and the design of the second assignment.

Week 7

This week, you should be studying material required to help you build a graphical interface for the second assignment. Notice that you must use JavaFx for the GUI in your assignment. This means that you should study JavaFx, instead of the material in chapter 13 of the textbook (although you may want to skim this). The Resource Page includes some references to JavaFx materials and some example code which you can run using the development tools.

You should also be completing and submitting a preliminary design for the second assignment.

  • Study JavaFx.
  • Attend your lab session.
  • Submit your design for the second assignment by 4.00pm on Friday, using the submission form available on the Assignment Page. R

Note that the online submission system will close automatically at 4.00pm on Friday. Next week, you will have an opportunity to look at other solutions to the design problem - this means that no extensions will be available for this assignment.

Week 8

The third lecture will be held at 3.10 on Tuesday this week, in G.01 in the Lister Building (This is in Roxburgh Place).

The lecture will provide some feedback on the design for the second assignment. You will also have an opportinuty to discuss the design with other students and see their solutions. It is likely that you will then want to revise your own design before starting work on the implementation.

This is also an opportunity to complete the remaining chapters of the textbook, and consolidate previous material before starting on the implementation of the second assignment.

  • Study chapters 14 and 16 of the textbook (error handling, case study).
  • Attend the lecture.
  • Attend your lab session.

Week 9

This week is available to work on your assignment.

  • Work on the second assignment.
  • Attend your lab session.

Week 10

This week is available to work on your assignment.

  • Work on the second assignment.
  • Attend your lab session.

Week 11

The course finishes this week, but you must:

  • Submit your implementation for the second assignment by 10.00am on Monday, using the submission form available on the Assignment Page. R
  • Attend your registered lab session, and be prepared to briefly explain and demonstrate your solution for the second assignment to a demonstrator and a small group of other students. R

This deadline has been extended to allow you additional time over the weekend. But this is the absolute latest possible submission time, and no submissions will be accepted after the system has automatically closed at exactly 10.00am on Monday. We will be discussing solutions in the demonstrations later on Monday, so extensions beyond this deadline are not possible.

Note that the University does not guarantee computing support over the weekends, so in the unlikely event that there is a problem with the submission system during the weekend, you must be available to (re)submit on the Monday morning once any problems have been fixed.

It is strongly recommended that you attempt a submission well before the deadline to confirm that you are able to use the system. You may submit multiple copies and only the final copy will be assessed - so you do not need to wait until the assignment is complete before attempting a submission.

The assignment demonstration will be used to confirm your understanding, and the functionality of your program, as part of the assessment. But it will also be an opportunity for you to discuss your work with other students and to see other people's different approaches to the same problem.