School of Computer Science

Teaching page


List of courses

Operating Systems and Networks (2015-16)

Syllabus page ICY and MSc for the module

Further reading

  • Operating system part: Read first four chapters and sections 8.1 to 8.5 of the book Operating systems concepts by A. Silberschatz, P. B. Galvin and G. Gagne.

  • Network part: Read chapters 3, 4, 5, 11, and 14 and section 2.4 from the book Distributed Systems: Concepts and Design by G. Coulouris, J. Dollimore, T. Kindberg and G. Blair

Assessment consists of examination (80%), continuous assessment (20%).

Assignment one is published. Go to the canvas page and then to Assignments. Deadline Feb 16. Submit through the canvas page.

Assignment two is published. Go to the canvas page and then to Assignments. Deadline March 13. Submit through the canvas page.

Enterprise Systems (2015-16)

Syllabus Page for the module

Assessment (only for undergraduate students)

  • Hibernate (45%)
  • Spring and Spring security (55%)

Assessment dates and time

All exams take place in LG04, Computer Science building.

  • Hibernate exam on 23 February from 13 -15
  • Spring exam on 15 March from 13-15


John Saxon (j.t.saxon [AT] is the demonstrator for the module. He will be available in the labs to help you with the exercises. Please approach him ONLY during the Lab sessions.

Lab sessions

You are strongly advised to attend as many lab hours as you can to take advantage of the demonstrator (and classmate) support available.

Day Time Room
Tuesday (John Saxon) 13:00-15:00 LG04, Computer Science
Friday (John Saxon) 15:00-18:00 LG04, Computer Science

Books and online help

There is a wide range of online material, books and tutorials available about Hibernate and Spring. Among other books, I have found the following books particularly helpful:

  • Christian Bauer and Gavin King, Java Persistence with Hibernate
  • Samudra Gupta, Pro Apache Log4j
  • S Craig Walls and Ryan Breidenbach, Spring in Action

Slides and code

Introducing the module

Practice your SQL, install postgresql and pgAdmin, and practice. There are many good tutorials include the postgres tutorial.

How to access the School's PostgreSQL DB from outside school's network (including wireless network)

To create the bookshop database use shop_create.sql and to drop the database use

Sample code for beginners in JDBC based on the bookshop example. This tutorial on JDBC by Oracle is also available.

Description of the Asset Management and Maintenance example.

JDBC Exercise: The exercise is based on the Asset Management and Maintenance which is described above. We have a script for creating a database that you can play with. Another script can be used to drop the database so that you can start fresh. Here is the source code used for the example exercise, extend this to fulfil the tasks within the AAM description.

Download maven and install it. The following lecture is about maven.

A small exercise to check if you have learnt maven. This example is based on Joda-time. Remember to complete a second exercise that we sent via canvas to practice your maven, learn exec:java and to learn more about Joda.

Code for Sample_SixSteps which builds on the Hello World example Message Example.

Message example in Hibernate 4.3.8. Import as a Maven project ....

  • in the hibernate.cfg.xml change create-drop to update to save into databse.

  • logging exercise: Modify the message example and log various variables and informations, as you would use println.

Hibernate exercise: This exercise is based on the AAM example described above. Download the worksheet from here and the source code from in zip here or in tar from here.

Sample code for the Hibernate mapping part, download the sample code of the examples and play with them.

A small Hello World for AoP program.

Download the sample code for ShopHibernateSpring from here.

Enterprise Systems Extended (2015-16)

Syllabus Page for the module

Course work (70% of the final mark). Three examinations are involved:

  • Hibernate (35%)
  • Spring and Spring security (35%)

Mini project (30% of the final mark) in form of a group project (groups of 5 students) to investigate and study further technologies. There are two deliverables:

  • 30-45 minutes lecture/presentation (last week of the term- date to be announced)

You will describe your findings and their relationship with the rest of the course. In particular, the motivation behind the creation of the technologies, its strength and weaknesses and competing technologies. You will illustrate the architecture of tools, frameworks, possible API, any methodology involved and your personal evaluation of the technology... I will help you in planning your presentation.2

  • a complete piece of software

We will have weekly supervision meetings and during the course of term you will develop a working software and demonstrate it during the last week of the term.


Lab sessions

Slides and code