This web page describes the purpose of the course, and its
organisation, and contains a
course timetable. It also contains suggestions as to recommended textbooks and
other documentation.
Aims and Learning Outcomes
The
course thus aims to introduce people, who may not have previously done
any programming, to a collection of basic programming concepts and
techniques, including designing, testing, debugging and documenting
programs. We are particularly concerned that students learn not only to
write programs but to explain to others how they work.
For both absolute beginners and people with prior computing experience, the
course introduces the programming language Java. This language will also be used for other components of
the various undergraduate major courses. In particular it will be the primary
language used for programming assignments in nearly all first year courses taught by
the department of Informatics.
Basic knowledge of NT/Windows2000/XP will be assumed.
You should have received separate documents telling you about the actual
computers you will use and how to log in and get started.
In order to learn to program in Java on this course, you
will be using a system called BlueJ. So your main initial task is to work through the exercises in Chapter 1 of the textbook (see below).
NOTE: Java is a very rich language and we cannot possibly cover all its features in this course. However, the references below provide pointers to more advanced facilities for people who wish to explore them.
| Tutor | Room | |
| Rudi Lutz | PEVENSEY 3 3R346 | rudil@sussex.ac.uk |
Some lab classes may be supervised by other people.
Lectures: 3 per week, held at the following times:
| Day | Time | Place |
| Tuesdays | 10.00-11.00 | CHI-LT (Chichester 1 1-013) |
| Thursdays | 12.00-1.00 | CHI-LT (Chichester 1 1-013) |
| Fridays | 12.00-1.00 | CHI-LT (Chichester 1 1-013) |
After the first few weeks one of the 3 lectures each week will be used to go over solutions to the exercises.
All students on this course will have a supervised lab class every week (in PEV2-5A17/18). Details of the times of your lab class should already have been given to you. Attendance at this lab class is compulsory!
There will also be extra lab classes for people who have not programmed before. Such people will be expected to attend one of these extra classes per week. Arrangements for the extra classes will be announced soon. They will start in weeks 3 or 4.
A lot of the work on the course is based on exercises that you should do using the computer. In addition to the timetabled lab. classes you are expected to spend many hours a week using the computer. Programming is a skill which can only be learned by extensive practice, and we recommend that students spend at least 10 hours a week on this (but NOT at the expense of other courses, which should each have the same amount of time spent on them!), especially if you are starting from scratch. Some people find programming very easy to learn and may need to spend less time than this. Others find it quite difficult, and may need to spend more. If you find yourself in this category, do not be discouraged. Nearly everyone gets there in the end!! All students experience problems learning new concepts and skills and it is important not to be discouraged and give up. If you get stuck ask other students, a demonstrator, or a tutor for help.
Exercises will be set during the course, and it is very important that you try to finish these in the time suggested so that you do not fall behind. Details of how to submit assessed work will be given to you in due course.
Assessment for this course will be based:
The list below gives a provisional list of topics to be covered each week. Some lectures will incorporate important announcements, including changes in later lectures, so if you ever miss a lecture make sure you find out from another student exactly what was said.
| WEEK 1 | |
| Introduction to course | |
| Objects and Classes | |
| WEEK 2 | |
| Class Definitions | |
| Conditional Statements | |
| WEEK 3 | |
| Interacting Objects | |
| More on Methods | |
| WEEK 4 | |
| First part of assessed assignment due in this week | |
| Collections of Objects | |
| Loops | |
| WEEK 5 | |
| Arrays | |
| Using Libraries | |
| WEEK 6 | |
| Second part of assessed assignment due in this week | |
| Review of material covered so far | |
| WEEK 7 | |
| Third part of assessed assignment due in this week | |
| Testing | |
| Debugging | |
| WEEK 8 | |
| Fourth part of assessed assignment due in this week | |
| Designing Classes | |
| Developing Java programs without BlueJ | |
| WEEK 9 | |
| Final part of assessed assignment due in this week | |
| Recursion | |
| Miscellaneous | |
| WEEK 10 | |
| Review |