Assignment title: Management
Advanced Web Scripting ‐ Practical Assessment
Background / Requirements
Parkfordshire University has a timetabling system which allows for the production of personalised
timetables, based on the modules each student is taking as part of their course. PU are keen to
develop their system to allow students to choose the times to attend classes where a particular
session runs more than one once.
Your job is to complete a number of practical tasks to implement a client‐side front‐end that will
implement the desired functionality. A number of resources are available to help you complete
these tasks, all of which are described below.
In addition, you must complete the design commentary task by describing key design decisions and
features of your code.
Resources
To assist you in your development, PU have provided:
a sample timetable display page created using HTML and CSS
a default timetable in the form of JSON data to show how information can be accessed
a remote service that will provide personalised timetable data for individual students
a remote service for accepting proposed timetable choices
These resources are available on StudyNet along with the assignment briefing. You are free to use
or change these resources as you wish in order to complete the tasks outlined below.
Development Tasks
To complete this assignment, you need to undertake each of the following practical tasks. The
assessment of your work is described in the next section.
Practical Task 1: Display timetable information
Create a web page that will display a student's individual timetable using the sample timetable data
(contained in sample.js). The user view could be in the form of a "week at a view" layout as shown
in the sample timetable display (sample.html) ‐ although you are free to create your own alternative
design if you prefer.
The display should:
Show all the scheduled contact sessions for the sample timetable data
For each session, show the
o type of teaching (e.g. lecture, tutorial, practical)
o location, start and end time
o module code and group id
Practical Task 2: Dynamically populate content
Create a web page that will display a student's individual timetable, based on data retrieved from an
external service.
The display should:
Allow a user to enter their UH email and SRN for authentication purposes
Retrieve the personalised timetable for the specified student
Show all the scheduled contact sessions for a student's modules, as per task 1
Show which sessions in a module are repeated at alternative times, as shown by the data
returned from the service.
You are free to restructure the data returned by the service as required.Advanced Web Scripting ‐ Practical Assessment 2016/17
Practical Task 3: Allow choice of sessions
Create a web page that will allow users to choose between alternative times for sessions that run
more than once, i.e. have multiple occurrences.
The display should:
Allow a user to select a multi‐occurrence session
Highlight alternative choices for the selected session
Allow the user to select an alternative session
Highlight any clashes with other sessions occurring at that time
Practical Task 4: Upload session choices
Create a web page that will allow users to upload and register their choices for multi‐occurrence
sessions on their timetable.
The display should:
Check there are no clashes with two or more timetabled sessions chosen for the same time
Provide an option to register their choices if and only if no clashes are present
Upload the data
Show the upload has been successful
Task 5: Design Commentary
Write a commentary describing the decisions you have made in designing and writing the code for
each of the practical tasks. The commentary should be approximately 600 words in length in total.
You are free to structure your commentary in any way you wish. The content will be assessed
according to the criteria identified below.
Submission Requirements
All the code required for the practical tasks should be submitted as a single zip file. You may choose
to submit:
EITHER four separate pages ‐ called task1.html, task2.html etc – where each page implements
the requirements for one of the tasks
OR one single page that implements the requirements for all four practical tasks
Your web page(s) should link to supporting files, e.g. script or stylesheets, with a local reference that
will work when all the files are unzipped into a new directory.
Your design commentary should be submitted as either a Microsoft Word document or Adobe PDF
file.
Your submission should NOT include your name, either in file names or in your written commentary,
so that the University's anonymous marking policy can be applied.Advanced Web Scripting ‐ Practical Assessment 2016/17
Service Details
Task 2
A service is available at http://homepages.herts.ac.uk/~comqgrs/ads/timetable.php for you to use for
task 2. If you visit this page you will see information on how to call the service.
This service returns a more detailed JSON timetable compared to the sample (with a very small
element of personalisation) to allow for a better test of the functionality required for task 3. This
data will return pure JSON, without any padding.
A test page called timetableDataServiceTest.html is provided to check that you can access this
service from your working environment.
If you wish to get a padded version of the JSON data, use the service available
at http://homepages.herts.ac.uk/~comqgrs/ads/timetable+JSONP.php. As before, if you visit this page
you will see information on how to call the service to get the padding you require.
Task 4
A service is available at http://homepages.herts.ac.uk/~comqgrs/ads/submitChoices.php for you to
use for task 4. If you visit this page in your browser, you will see information on how to call the
service. However, if you read the information about the service you will see you need to send a POST
request to actually upload the information you wish to use.
A test page called timetableUploadServiceTest.html is provided to check that you can access this
service from your working environment.
The way you structure the data you upload for task 4 is entirely your choice but it should be uploaded
as text. Your text could be structured as a
paragraph or sentence of text
a string of characters or comma separated values
a JavaScript array
a JSON object
... or something else entirely different. However, the data does need to include a list of choices the
user has made in Task 3 for the sessions they wish to attend. It would also be useful if your data
included the student details. For the sake of testing purposes it wold be useful if they match your
email and SRN but this is not mandatory.