Implementation of fundamental concepts based on lab
exercises and lectures
A project
40
Viva
In-depth understanding of all the elements covered in the
module
Demonstration of project work
10
Written exam
50
Qualifying Condition(s)
A weighted aggregate of 50% is required to pass the module
Module Overview
REST over http supports the provision of services on the Web in a way that avoids the semantic overlay of SOAP and its related technology. Google, Amazon and even Microsoft are investing significant effort developing support for “RESTful” web services. In addition, Ruby on Rails is rapidly gaining constituency as a highly productive framework for developing web applications. Rails has comprehensive support for the development and deployment of RESTful web services. This module equip students to ride the wave of this combination of technologies that is set to transform the web application development industry.
Prerequisites/Co-requisites
Students will be expected to have basic computer programming ability.
Module Aims
The module aims to bring students to a high level of proficiency in developing interactive web applications with the Rails framework. In addition, their knowledge of REST will be at a sufficient level of generality that they will also be able apply this knowledge to the development of RESTful web services using other target languages. A key feature of this module is that it is strongly informed by the Digital Ecosystems research group in the Department of Computing at Surrey University. As such, although it may be accessible to Information Systems students with good programming skills, the Internet Computing MSc students will gain most benefit from it. Those intending to take the Collective Intelligence option, will find useful preparatory material in this module.
Learning Outcomes
By the end of the module students are expected to be able to: 1. Demonstrate adequate skills in carrying out a practical project in the field of Agile Web Development.
2. Comprehend the nature, concepts and techniques available in the field of Agile Web Development.
3. Apply appropriate technologies to solve a specific web development problem.
4. Critically evaluate Agile Development methods within the context of current trends in enterprise computing.
Module Content
• Introduction to the Rails framework o Weblog in 15 minutes, including Atom feeds • The Rails environment o Architecture of Rails applications o Convention over configuration • Working with controllers • Active Record o Tables and Classes o Managing migrations o Create, Read, Update, Delete (CRUD) o Validations o Callbacks • Routing: mapping requests to actions o Basic techniques o Defining and manipulating routes • Introduction to Representational State Transfer (REST) o Foundations o What Amazon and Google are doing with REST • REST, Resources and Rails • REST and Linked Data • ActionView and Helpers • Ajax on Rails • Securing Rails applications • Deploying Rails applications
Methods of Teaching/Learning
The module will develop an understanding through: • Lectures • Tutorials • In-class discussion The module will develop practical skills through: • Lab sessions • Coursework Additional support on taught content and student projects will be provided. All activities will be co-ordinated via the module webpage on the Ulearn.
Selected Texts/Journals
• Agile Web Development with Rails; Third Edition, Dave Thomas and David Heinemeier Hansson, Pragmatic Bookshelf. • The Rails Way, Obie Fernandez, Addison Wesley • Ajax on Rails, Scott Raymond, O’Reilly