Informatics 1: Object Oriented Programming

Welcome to the home page of Inf1OP. Here you will find all the information you need about the course.


Lecturer: Professor Perdita Stevens
TA: tba

News and change log

this page is gradually being updated for 2016; many things tba

Course Description

This course presents a conceptual and practical introduction to imperative and object oriented programming, exemplified by Java. As well as providing a grounding in the use of Java, the course will cover general principles of programming in an imperative object oriented paradigm. The course should enable you to develop programs that support experimentation, simulation and exploration in other parts of the Informatics curriculum (e.g. the capacity to implement, test and observe a particular algorithm).

Introductory video (made a few years ago — in particular it talks about the labs being in Appleton Tower, whereas right now they're at Forrest Hill — but still a useful introduction to the course).


There will only be one Inf1OP Lecture per week, at 14.10 until 15.00 on Mondays, in Lecture Theatre 4, Appleton Tower. The first lecture will be on Monday 11th January 2016.

Details of weekly topics, and slides, tba. In case it's useful in the meantime, here ar last year's lab exercises.


Tutorials will start in Week 2. You must attend every week.

Scheduled labs

Allocation to lab groups (link tba)

Clicking the link above, you will see that you have been allocated to a two-hour scheduled lab. Scheduled labs take place in the Drill Hall, Forrest Hill. If you want to move to a different group, please ask the ITO. You may, in fact, attend any lab where there is space, e.g. if you need extra time or can't make one particular session. However, if there were ever more people than seats, those not allocated to the lab would be asked to leave.

Provided you are making good progress, you may choose to work elsewhere, e.g. at home, rather than attending your scheduled lab. However, in the scheduled labs, help from demonstrators is available. If your progress gives cause for concern, you will be asked to sign in with the demonstrator in your scheduled lab, who can help you catch up. See under tutorials concerning the status of lab exercises: in brief, very strong students who already know the examinable material of this course may wish to omit them; everyone else should do them.

The Fundamental labs cover the core course material. Some (less developed) Advanced labs are also provided, as a suggested ingredient for Individual Learning Plans of stronger students - see below on tutorials.

Progress reporting

So that we can check that you are staying engaged with the course, and offer help if needed, you must, please, fill in the progress form (link tba) every Friday/Saturday from week 2 to week 10 inclusive. If you have been unable to attend a tutorial, say so on there; there is no need to mail separately.


The course is assessed by an open-book Programming Exam. See the first and last lectures for more information on this. Be aware in particular that a file you submit will only get marks if it compiles without error and passes the basic JUnit tests provided.

There will be a mock exam, done on the same machines and under the same conditions as the real exam, in week 10. This is not for credit, but you are very strongly advised to attend.

Past papers are available on the university's site; files needed to do them, such as the provided JUnit tests, are here. For a few recent papers, an automarking service is available. (to be added)

Put file:///group/examreadonly/index-java.html into your browser on a DICE machine to see the information you'll have access to from your browser in the exam; you may also take in any books, papers etc. you like, but nothing electronic except USB sticks, which can be read but not written.





The recommended book for the course is The Java Tutorial: A Short Course on the Basics, Addison-Wesley. This contains far more than is needed for this course, and would be a good resource for the rest of an Informatics degree, too. If you expect to go beyond the basic syllabus of this course, this book is strongly recommended. It is available in the library both on paper and electronically.

Book choice is very personal, however, and you may use any book you like, or none. The library has many, both on paper and electronically.


Some of the lectures are supplemented by additional video segments, linked in the schedule above. These are part of the course material. Let me know if you have any technical difficulty watching them.

Additionally, videos of the ordinary in-person lectures should be available shortly after each one here (as are videos of some previous years' lectures). You may find these useful for revision or if you have to miss a lecture. In my experience the recordings fairly often fail to appear for technical reasons, though, so I don't recommend relying on them instead of coming to lectures.

This page is maintained by Perdita Stevens (

Home : Teaching : Courses : Inf1 

Informatics Forum, 10 Crichton Street, Edinburgh, EH8 9AB, Scotland, UK
Tel: +44 131 651 5661, Fax: +44 131 651 1426, E-mail:
Please contact our webadmin with any comments or corrections. Logging and Cookies
Unless explicitly stated otherwise, all material is copyright © The University of Edinburgh