The University of Aberdeen
The Computing Science Department

CS5087 Practicals:

The practicals show you what you need to do for the assessment. You need to do them by the time they are scheduled in order to ensure that your assessment is on track. You will also see that there are submission components for a number of these practicals so that I know you are on track with your coursework. Think of these as milestones, or demo deadlines to show your application.

You must work your way through the different stages of the four stages of the development process (discover, define, develop and deploy - the handout) to complete this application over the term. You will need to submit evidence in the form of a portfolio that shows you worked through all four stages on the project. What follows is one way to ensure you have something to submit for each section of the assignment.

Part A is paperwork describing how you intend to do Part B. You need feedback from me on A before you proceed with B.

Stage one 'discover':

(a) Write a one page document describing your site,where you plan to get data to populate site, and something about who your clients are, or a sales pitch, and hand in by end of week two.
(b) Build a rough prototype to use with potential clients so that you have some real feed back on the potential application. Be adventurous and try several versions with people to see which works better.

Stage two 'define': 

(a) Write a one page document defining possible solutions based on the information, and  explaining how you'll deternine which should be built by end of week three.
(b) Build a rough prototype of the site based on feedback with 100 records and some user data to fill out the site and host this in Heroku or AppHarbor.

Stage three 'develop':

(a) Write a one page document describing how you'll build a minimum viable features app, and how you'll transition it to hosting at Amazon Web Services by end of week 4.
(b) Implement your MVF and move to a hosted application in AWS.

Stage four 'deploy':

(a) Write a one page document describing how you'll integrate some aspect of continuous integration of the application and ensure the two of you can build the app simultaneously by end of week 5.
(b) Implement your plan and keep improving it as you proceed.

HELP and Warnings: Troubleshooting Page 

Background practicals:
General Java practicals see the Enterprise Computing practials and advanced work in Java Web App practical, and the JSP+Servlet+ JavaBeans and Web Services uing RPC
General Ruby and Rails practical are found in the Web Application Development page

Spring specific practicals: Spring Roo and Spring do the complete Travelagent example, and then read Practical 4-2 to see how to enhance movie example plus WURFL with Spring

Mobile applications and developing mobile web applications in general

Week 1 (24 Sept): Practical 1 - Setup your laptop - what's the simplest we can do to pull data for an app?

Week 2 (1 Oct): Practical 2 - Consuming Web Services - the tools of the trade for your workflow in the cloud - stage one part (a) due

Week 3 (8 Oct): Practical 3  - (or developing RESTful apps) Testing web applications and continuous integration - stage two part (a) due

Week 4 (15 Oct): Practical 4 - minimal cloud setup architecture of cloud applications - stage one part (b)  & stage three part (a) due

Week 5 (22 Oct): Practical 5 - do practical 3 on testing today - get the new part hooking Bitbucket, Cloudbees and Heroku working - breaking up your application to store data - stage four part (a) due

Week 6 (29 Oct):  Practical 6 - performance issues to make everything go faster - stage two part (b)

Week 7 (5 Nov): Practical 7 - no lectures

Week 8 (12 Nov): Practical 8 - beware the chaos monkey when the network is down - stage three part (b) due

Week 9 (19 Nov): Practical 9 - ???

Week 10 (26 Nov): Practical 10 - dealing with security and authentication 

Week 11 (3 Dec):  location and privacy issues

Week 12 (10 Dec): Reading Week - demonstrations