The University of Aberdeen
The Computing Science Department

CS5087: Lectures

All lectures and practicals are in Meston 311 

There will also be occassioinal guest speakers in the afternoons by arrangement, including a longer session with someone from Amazon Web Services, which is still to be arranged.

New for this year is not providing traditional lectures, but providing opportunities for you to ask questions and discuss issues. All of what you need to know is 'out there'. The slides from the previous year are there for the basics, but you can find more yourselves.

The focus for the Monday 'lecture slot' will instead be worked examples, and discussion points on issues you need to consider when building cloud applications. This should prove more useful than traditional lectures, as we can focus on your needs. The Friday 'lecture slot' will become a 'discussion and exercise session' covering other useful aspects of software development.

The lectures are from last year (and thus Java specific) , and the Monday ones will be updated as I deliver them. So if you work ahead for something, then do remember to update your slides after I've updated them. I sometimes will not update them until just before the lecture is delivered. You may also need to remove the copy from your browser cache in order to see the 'new' copy.

Week 1 (24 Sept) what's the simplest we can do to pull data for an app?

Lecture 1: Overview of the course Slides - Version Control and Build Tools Slides Readings: What is AWS Open Data (wikipedia , Guardian on data journalism

Lecture 2: Scrum and development process

Week 2 (1 Oct) the tools of the trade for your workflow in the cloud

Lecture 3: Comsuming Web Services Slides - The Simple App Slides Reading: PaaS for Dummies Understand these services: Heroku , AppHarbor , and the difference between BitBucket and github and why you'd pick one over the other

Lecture 4: Retrospectives with scrum

Week 3 (8 Oct) why and how to test your application's code

Lecture 5: Continuous Integration and Testing Applications Slides -  Reading: Testers Learning Journey BDD in the large 3 Laws of TDD 

Lecture 6: Service Orientated Architecture Slides elevator pitch and screen prototypes

Week 4 (15 Oct) architecture of cloud applications

Lecture 7: Amazon Web Services -AWS summit 2012 keynote -Web Services slides AWS reference architectures 

Lecture 8:  elevator pitch and empathy maps For the elevator pitch complete these sentences: X is for <target customer> who has <customer need>. X is a <market category> that <one key benefit>. Unlike <competition>, the X is < unique differentiator>. As you're not starting a real company, this only needs to be somewhat refined so that you have a better idea of who is using your app and why, when developing the paper wireframes in the next step.

Week 5 (22 Oct) breaking up your application to store data

Lecture 9: Agile Dev (slides) (book to read) Amazon Web Services Slides   - Putting your application on AWS Slides Netflix story 

Lecture 10: storyboards and service blueprints (storyboards: enginegroup on storyboard  (service blueprints: sdt version and customer touchpoints thsdt customer experience map Leeds GSJ writeup of blueprint collection of customer journey maps)

Week 6 (29 Oct) performance issues to make everything go faster

Lecture 11: Improving your AWS application Slides - Using Frameworks Slides   on Spring Roo Readings: Cloud testing 

Lecture 12: SP_LSP, or give them a hot tub game

Week 7 reading week (5 Nov)

Lecture 13:  no lectures use automated tests for project so can do full cycle: Bitbucket->Cloudbees->Heroku

Week 8 (12 Nov) beware the chaos monkey when the network is down

Lecture 13: Enhancing the Framework Slides - ???? Chaos monkey

Lecture 14: prototyping

Week 9 (19 Nov) ???

Lecture 15: Mobile Internet and Mobile Web Slides - Mobilising Your Site and WURFL slides examples

Lecture 16: worst nightmare game

Week 10 (26 Nov) dealing with security and authentication

Lecture 17: Security 1 Slides - Security 2 slides on Spring Security (docs ) overview for 3.0 and more indepth video and presentation

Lecture 18: ATDD session

Week 11 (3 Dec) location and privacy issues

Lecture 19:  no lecture on Monday  see Rod Johnson (inventor of Spring) talking about enterprise Java evolution (just over hour long)

Lecture 20: Scalability slides production issues slides

Week 12 - reading week (10 Dec)