To get the most out of the IJP course, it is important to understand the "philosophy" ...
IJP is not simply an introduction to the Java language; writing "real" programs involves a wider range of generic skills, such as the ability to locate and incorporate external resources, and to work with larger systems and other code which you may not fully understand.
This requires a lot of practice, but the IJP activities are deliberately structured to help develop these skills as much as possible within a very limited amount of time (100 hours).
Most of the time is allocated to practical work on the assignments. These are carefully designed to introduce realistic problems in a gradual way, and we aim to provide a high level of support for this so that nobody wastes time being "stuck" on any particular problem.
This approach has been effective and popular with previous students, but it does require careful time-management, and a proactive engagement with the course activities:
The lab sessions provide an opportunity for on-campus students to work on exercises or assignments with demonstrators on hand to answer questions and help solve problems. You will be allocated one of the following times by the ITO. The sessions are normally busy and there are a limited number of machines, so you should usually attend your allocated session. The following times are preliminary: depending on student numbers, not all of these sessions may be available.
|1||Monday||14:10-16:00||AT 4.12||Dave, Patrick|
|2||Tuesday||16:10-18:00||AT 4.12||Rui, Ilie|
|3||Wednesday||11:10-13:00||AT 4.12||Sefa, Chao|
|4||Thursday||15:10-17:00||AT 4.12||Sefa, Chao|
During two of the lab sessions, you will be required to demonstrate and discuss your assignment solutions (for assignment1 and assignment2). For these weeks, in particular, you must attend your allocated session, and you must arrive on time - this is a compulsory part of the assessment.
Distance students will have a similar to opportunity to discuss and demonstrate their work remotely.
The Piazza forum
The online forum (Piazza) is an important element of the course: it is monitored regularly by the course staff, and this is your opportunity to get answers to questions without waiting for the next lab session. Students are encouraged to reply to questions as well, and it is not uncommon to get answers within a few hours, even during the evenings or at weekends (but don't rely on this!). The forum is also used for course announcements, tips on the assignments and general discussions.
The contents of the forum are not public - your posts will only be seen by the course demonstrators and other students. It is possible to post private questions to course staff, but we discourage this unless there is a good reason - general postings are more likely to be answered quickly and other students will be able to benefit from the answers.
You should make sure that you are registered for the forum as soon as possible after deciding to take the course, and you should check regularly for new announcements. Please sign up for Piazza using your University email address, so that we know if someone is not signed-up (and therefore not getting the course announcements). If you cannot access the forum, please email email@example.com with the subject "Forum Account".
A full course of lectures would not be helpful for IJP: the range of possible topics is very large, the students have a very wide range of different starting points, and practical work is a more valuable use of the available time. However:
There is an initial lecture to introduce the course and discuss the first assignment.
There is a second lecture to provide feedback on the first assignment, and discuss the second assignment.
If there is sufficient demand, there may be a third lecture to provide feedback on the second assignment.
Short videos are provided for some topics which are not well covered by other resources (suggestions for further topics are welcome). There are also some older IJP presentations.
Links are provided to external resources (see the FAQ) for other material, including Java, BlueJ, and JavaFx.