Web programming

Units WEB1P and WEB2P

Coursework for WEB2P


All students must do a web application development project during WEB2P.

Students are expected to draw on material taught (and material otherwise learned) during all the units on their course in tackling this problem. This assessment thus integrates many of the elements covered during the course.

The coursework is individual, but students are expected to work in pairs to ensure that their solutions interoperate.


The School of Computing uses an online system for the management of student projects (both final-year undergraduate and masters). This is called SUMS (Student and Unit Management System). The aim of this coursework is for each pair of students to develop two modules of that system. While the modules can be developed separately, they must be capable of interoperation. This means they must:

It is recommended that the sharing be achieved by sharing a source code repository and other software engineering tools.

The two modules are:

Project Marking

The current marking system was developed using Apache Struts and pre-dated the introduction of JPA/Hibernate. It is thus riddled with overlapping entity class definitions and consequent JDBC access code. This needs to be "cleaned up" while retaining the existing functionality (though additional functionality is desirable).

Source code (in Kenai - see instructions)

Sample mark form

FAQ about the problem


Project Ideas

The School of Computing's MSc project ideas database is currently implemented in a non-MVC style. It also has limited searching functionality. It does not permit people who submit ideas to be able to edit them or withdraw them. This functionality needs to be added.

Database access instructions

FAQ about the problem.

In each case, your aim is to design and implement a Java web application that is superior to the existing systems. That superiority will be in using the Java EE technologies (at least JSF, EJB, JPA) PLUS one or more of the following:


  Module Module
A Jozef Salamon Jana Neuzilova
B James Mwangi Pasu Poonpakadee
C Adekunle Adetayo  
D Sanghyun Kim Dimitar Saykov

In the event that a student in a pair fails to complete the coursework (for extenuating circumstances or other reasons), the other student should carry on with their module, making changes to shared material as necessary, but without needing to meet the interoperation requirement.


Deadline Date Deliverable(s) Submission arrangements Marks
Week 4 practical Monday 21st February
  • First draft of requirements specification (see example of format)
  • Bring printed copy to practical session
Week 6 practical Monday 7th March
  • First draft of user interaction design (organisation structure diagrams and/or storyboards and/or architecture maps as covered in WDIEP)
  • Bring printed copy to practical session
Week 9 practical Monday 28th March
  • Alpha version of the web application (demonstrating some subset of the functionality)
  • Jim will download it from your Kenai project.
  • Demonstrate it at practical session
  • Ensure your web application is in the specified format
End of week 12


Friday 13th May
  • Demonstrable web application
  • Completed documentation
    • Requirements specification
    • User interaction design specification
  • Source code listings and Javadocs
  • Jim will download it from your Kenai project.
  • Allow all other students on the unit auditor rights on your Kenai project so that they can also view it.
  • Bring a working electronic copy of your web application to the SWS
  • Ensure your web application is in the specified format
  • Report on coursework
  • Submit report to CAM Admin Office

Notes on deliverables


Students are encouraged to use whatever resources and facilities are available to them. All material (including programming code) that is copied from elsewhere must be identified and its source cited. The member of staff who set this assessment may be consulted for guidance on your approach, and to a limited extent with technical problems that arise.


Last updated by Prof Jim Briggs of the School of Computing at the University of Portsmouth

The web programming units include some material that was formerly part of the WPRMP, WECPP, WPSSM and WEMAM units.