University of Portsmouth

Lecturer:

Dr Jim Briggs (with Mrs Penny Hart)

Unit Code:

PR.WPRMP

Unit Title:

Website Programming and Management

Date of Test:

Wednesday 28th April 2004

Time of Test:

9.30 – 4.30

Duration of Test:

6 hours (plus a lunch hour)

Requirements:

None

Office Code

 

Student Groups

 

 

Rubric:

Number of Questions

2

 

Mode and Restrictions

Open book - no restrictions

 

Pass mark as a percentage

40%

 

Weighting as percentage of Unit

40%

Website Programming and Management – Supervised Work Session

The supervised work session will begin at 0930 and finish at 1630. The timings assume an hour's lunch break that students can take when they wish and the assessors will take at approximately 1230.

Students will work in groups of 3 or 4 to be fixed at 0930. There will be two tasks to be carried out:

·        Task A is to be carried out in groups. 50% of the SWS marks are allocated for Task A.

·        Task B is to be carried out by individual students. 50% of the SWS marks are allocated for Task B.

Laboratory M3.3 is available for the whole day.

At 1630, each group must submit their group's work, plus the individual work of each member of the group.

Hints and tips

1.      Remember, a SWS is an educational experience as well as an assessment one. If you don't know, ask your group. If no one in your group knows, ask the assessor.

2.      Use the online documentation and your reference books.

3.      Don't leap into coding. Make sure you have a feasible design for your solution before you start programming it.

4.      Devise a way to even out the workload of your group, and so that you can work in parallel. Three people watching one person typing is unlikely to be the most productive means of solving the problem! Discuss the division of work among members of your group with the assessor to see whether they think the division is a reasonable one.

5.      Allow plenty of time to integrate separately developed parts of the program. It is often only at this stage that you find flaws in the design.

6.      You may reuse code taken from elsewhere (including textbooks and the web), but such code MUST be clearly distinguished and the source of it MUST be acknowledged by a comment in the program listing.

7.      Develop your code in small parts. Test each part as you implement it. Run your program frequently – don’t add more than about 10-15 lines of code (at maximum) without compiling it to check what you’ve done. Use the breakpoint debugger to run the program to find out whether variables have the values you think they should have. Think carefully about the design of each part of your program. Don’t reject well thought out code just because you get compilation errors – work out why you’ve got the error and correct it, don’t throw away the good with the bad. Don’t be over ambitious. Demonstrate your code to the assessor in small parts. Get feedback.

Task A - Group Work - 50 marks

(Suggested Task Time = 4-4½ hours)

Problem

The problem is to display timetable information in a variety of formats. You will be provided with a file called timetable.txt containing timetable information similar to the following:

WPRMP:5:1400:1600:Lecture:M5.1:101,102:ISD,IS,ECM,DM,SE

WPRMP:5:1600:1700:Practical:M3.3:101,102:ISD,IS,ECM,DM,SE

EMEDP:1:0900:1100:Lecture:LG2.4a:103:ISD,IS,ECM,DM,SE

EMEDP:1:1100:1300:Practical:LG2.4a:103:ISD,IS,ECM,DM,SE

SCADP:1:1400:1600:Lecture:LG2.2:104:ISD,IS,ECM,DM,SE

SCADP:1:1600:1800:Practical:M3.3:104:ISD,IS,ECM,DM,SE

This file contains one line per timetable event. For each event, the colon-separated fields are:

1.      The unit short code

2.      Day of the week  (Sunday = 0, Monday = 1, Tuesday = 2, etc.)

3.      The start time (24hr clock format)

4.      The finish time (24hr clock format)

5.      The type of event, chosen from: Lecture, Practical, Other

6.      The venue for the event (using University room numbers)

7.      The staff involved in the event – a comma-separated list of staff code numbers

8.      The courses involved in the event - a comma-separated list of course codes

The staff code numbers are references to a file called staff.txt which contains lines like:

101:Dr Jim Briggs

102:Mrs Penny Hart

The course codes are references to a file called course.txt which contains lines like:

ISD:MSc Internet System Development

IS:MSc Information Systems

Task

Your group's task is to implement a web application that allows a user to look at the timetable from a number of different viewpoints. The required viewpoints are as follows:

View

Table format

List format

Show all events

1.      Essential

2.      Essential

Show only events relating to a specified course (chosen from a list of all courses)

3.      Additional

4.      Additional

Show only events relating to a specified member of staff (chosen from a list of all staff)

5.      Additional

6.      Additional

Show only events relating to a specified unit (chosen from a list of all units associated with events)

7.      Additional

8.      Additional

Show only events relating to a specified venue (chosen from a list of all venues associated with events)

9.      Additional

10.  Additional

The table views should be similar to the table in http://www.tech.port.ac.uk/students/on/post/compmsc/TimetableSem2.pdf, but including the names of the staff involved and the type of event. The list views should show the events in chronological order, one event per list item.

Your group should implement views 1 and 2 above and at least 4 of the others.

Notes

You should develop your code using the Model-View-Controller (MVC) architecture, using Java servlets and JSPs as appropriate.

The Java code written should be of "good quality", viz. exhibit good layout and readability, and possess good structure (using classes, packages and inheritance where appropriate). The reuse of existing code is encouraged, but must be acknowledged.

You may add additional data to the provided files for the purposes of testing your system.

The precise format of the table and list views is up to you, but you are encouraged to consult with the assessor over the design. You are recommended to get a simple "basic" format working first and then refine it to improve it.

Constraints

1.      While your program need not be developed or run in NetBeans, it must be capable of being run in NetBeans.

2.      Your solution should be written in Java.

3.      The assessment will take into account the quality of the structure of your code, so use classes and other features of Java well.

4.      Your solution should be entirely server-side, i.e. not include any code run on the client side.

Deliverables

Each group must submit the following deliverables:

1.      A group cover sheet (to be provided).

2.      A printed copy of the final version of any Java code you wrote or amended.

3.      A printed copy of the final version of any HTML or JSP pages you wrote or amended.

Ensure that all of the above are securely fastened together by staples, or contained in a wallet or folder.

4.      A demonstration of all aspects of your system to the assessor during the SWS.

5.      One email to the assessor (Jim.Briggs@port.ac.uk) that meets the following specification:

a)      Subject line: WPRMP SWS 2004b – Group [X] where X is the letter identifying your group

b)      Body contains the names of the members of the group

c)      One attachment - a Zip file containing your web application (including source code). (Hint: zip up the root folder of your web application.)

Task B - Individual Work - 50 marks

Suggested Task Time = 1½-2 hours

Write a brief report (approximately 2 sides of A4) describing and reflecting upon one or more of the following:

1.      the way your group organised its time and other resources in accomplishing (or otherwise) Task A

2.      the technical approach(es) adopted by your group to the problem

3.      specific technical problems you encountered and how you overcame them

4.      how you would do things differently if presented with the same problem again

In addition, your report should contain a statement of the relative contribution to Task A made by each member of your group. This should be in the form of a table, similar to the following, appended to the report:

Group member's name

Relative contribution

Me

25%

Alan Adams

25%

Brenda Boyce

25%

Charlie Cox

25%

The relative contributions must add up to 100%. It should reflect both intellectual effort (e.g. the number of ideas proposed), intellectual importance (e.g. the number of ideas proposed that the group accepted) and effort (e.g. the amount of actual code written, debugged and tested). The normal case is for the members of the group to have made equal contributions, but we recognise that for a variety of reasons this is not always the case and we seek to be equitable and fair.

Deliverables

Each individual should submit the following deliverable:

1.      A printed copy of your report. Ensure that your name and HEMIS number appear at the top of the first page, and that all pages are securely fastened together.

Marking scheme

Task A

Functionality and correctness of the essential functionality (views 1 and 2)

10 marks

Functionality and correctness of the additional functionality (views 3-10)

4 x 5 = 20 marks

Quality of code written (structure)

10 marks

Quality of code written (readability & maintainability)

10 marks

TOTAL

50 marks

The functionality and correctness will include assessment of how well the MVC architecture has been applied.

The mark obtained by an individual for Task A will be the group mark awarded to his/her group, but this may be varied at the discretion of the marker taking into account the "relative contributions" stipulated by the group members in Task B. A mark of 0 for Task A may, at the discretion of the marker, be recorded for any individual who does not complete Task B. The marker also reserves the right to vary the mark according to other factors in the interests of fairness, equitability and the maintenance of academic standards. Where the latter occurs, it will be reported to the Unit Assessment Board.

Task B

Technical and project management aspects described

25 marks

Quality of reflection

25 marks

TOTAL

50 marks