|
Module Availability |
Autumn Semester |
|
|
Assessment Pattern |
Assessment Pattern
Unit(s) of Assessment
|
Weighting Towards Module Mark (%)
|
Individual project work
· An individual project whose specification will be customised slightly for each student. We reserve the option to invite selected students to attend a viva as part of the assessment of their work. This will focus on learning outcomes 2, 3, and 4.
|
40%
|
In class test
· Students will be required to make a specified modification to the code of their project under examination conditions during a lab class. This will specifically be focused on learning outcome 3.
|
10%
|
Written exam. This will primarily focus on learning outcomes 1, 5 & 6. However, although detailed coding skills will not be assessed, awareness of how the technologies covered under learning outcomes 2, 3 and 4 are used to help deliver web application will be assessed.
|
50%
|
Qualifying Condition(s)
A weighted aggregate mark of 40% is required to pass the module.
|
|
|
|
Module Overview |
This module will demonstrate some of the latest technologies for building interactive web applications. The students will learn how to choose the appropriate tools and the foundations of how to develop such applications. Although there is a focus on Java for the server side computing, a range of different technologies will be explored.
|
|
|
Prerequisites/Co-requisites |
COM1017 Programming Fundamentals
COM1018 Software Engineering
COM1001 Web Publishing or similar background in web technologies |
|
|
Module Aims |
This module aims to provide an overview of the technologies that support the development of client-server systems and interactive web applications. In addition, it aims to bring students up to a sufficient level of development skill to be able to develop a basic interactive web application |
|
|
Learning Outcomes |
By the end of the module students are expected to:
1. Understand the concepts of client and server, and how a 3-tier architecture supports the development of client-server based applications.
2. Understand the Module View Controller (MVC) design pattern in the context of developing web applications, and how it differs from 3-tier architecture.
3. Be proficient in the basics of JavaScript and other “
Ajax
” techniques.
4. Be proficient in the use of server side scripting and the use of servlets.
5. Be aware of the main MVC-based frameworks: Spring, Rails and Django.
Have a basic knowledge of how to architect a web-based information system |
|
|
Module Content |
· Introduction to JavaScript and the other Web 2.0 technologies and concepts
· Introduction to building Ajax-enabled web applications
· Object-relational mapping and persistence using a relational database
· Introduction to web services and REST over http
· JSP and Servlets for the server side
· Use of JavaBeans for the model
· The MVC design pattern and how it differs from 3-tier architectures
· Introduction to Information Architecture
· Introduction to search algorithms and search engine optimisation
|
|
|
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 Ulearn.
There will be 11 weeks of taught material before the Christmas break, followed by a revision week after the break. The module will be delivered as 2h of lectures per week, plus 2h of lab class. |
|
|
Selected Texts/Journals |
Essential:
Internet & World Wide Web How to Program, 4/e
Harvey M. Deitel and Paul J. Deitel
© 2008, 1400pp., paper (0-13-175242-1)
Background:
JavaPassion, http://www.javapassion.com/
The Zen of CSS Design, Dave Shea and Molly E. Holzschlag, Peachpit Press, 2005
HTML 5 Up and Running, Mark Pilgrim, 2010
Pragmatic Guide to JavaScript, Christophe Porteneuve, The Pragmatic Programmers, O’Reilly, 2010
Information Architecture for the World Wide Web, Peter Morville and Louis Rosenfeld, O’Reilly, 2006
Django, http://docs.djangoproject.com
Ruby on Rails, http://rubyonrails.org |
|
|
Last Updated |
8 DEC JG (due to issues with eVision) |
|