Skip to navigation | Skip to main content | Skip to footer
Menu
Menu

Current postgraduate taught students

COMP60432: Building Web Applications (2011-2012)

This is an archived syllabus from 2011-2012

Building Web Applications
Level: 6
Credit rating: 15
Pre-requisites: No Pre-requisites
Co-requisites: No Co-requisites
Lecturers: Andy Brown, Caroline Jay
Course lecturers: Andy Brown

Caroline Jay

Additional staff: view all staff
Timetable
SemesterEventLocationDayTimeGroup
Sem 2 P4 Lecture 2.15 Wed 10:00 - 17:00 -
Assessment Breakdown
Exam: 70%
Coursework: 0%
Lab: 30%

Themes to which this unit belongs
  • Advanced Web Technologies

Introduction

The role of computer networks, more specifically Internet and Web applications, is one of the most important features of Computer Science/ICT today. It is also a field of continual expansion and its evolution is fast. ICT professionals should continually seek to strike the right balance between awareness of relevant advances, adequate understanding of their underlying principles and appropriate level of competence in their use.

Aims

The main aim of the course is to teach a carefully selected range of principles, methods and technologies sufficient to enable students to build powerful Web applications of high quality. The course is Java-oriented, although many topics are independent of this platform or easily transferable to other platforms e.g. Microsoft .Net and C#. Throughout, a balance is sought between consolidation of foundational material and state-of-the-art technologies. In particular, emphasis is placed on Java Servlet programming, as this may be used quite effectively on its own. Moreover, it is the foundation of other technologies such as JSP and JSF, and a good understanding of the former is essential to the mastery of the latter. Likewise, part of the course will be devoted to principles of good software development, including design principles relevant to Web applications.

As for latest advances, priority will be given to two main relatively recent developments. The first is JavaServer Faces (JSF). This can be regarded as an advanced realization of the Model-View-Controller (MVC) paradigm. It provides a powerful software development framework enabling the incorporation of features essential to robust Web applications.

The second is the idea of constructing Web applications able to invoke functions run on other Web applications automatically. This is the central principle underpinning so-called Web Services, a feature of growing importance in Web applications.

The development platform to be used is NetBeans 6.7.1, an Open Source Integrated Development Environment (IDE) provided by an affiliate of Sun Corporation. This offers a wide and well-integrated range of state-of-the-art development tools of high quality.

Programme outcomeUnit learning outcomesAssessment
G2Read the relevant Java programs and demonstrate understanding by carrying out such tasks as identifying and correcting logical errors, filling gaps, making changes, etc.
  • Lab assessment
  • Examination
G2Understand a semi-formal program specification for a system and correctly implement it; reason about a program in relation to its specification.
  • Lab assessment
  • Examination
G2Implement substantial Web applications realizing the 3-tier model using Java Servlet programming and other related technologies listed in the syllabus, such as JSP and JSF.
  • Lab assessment
  • Examination
G2Demonstrate a full grasp of the theoretical principles underpinning the various technologies listed in the syllabus.
  • Lab assessment
  • Examination
G2Apply these principles to the development of Web applications and explain how these principles relate to such applications.
  • Examination
  • Lab assessment
G2Use the program development tool of the course (NetBeans 6.7.1) effectively.
  • Examination
  • Lab assessment
G2Establish and apply effective strategies for testing Web application software, including detecting, identifying and correcting errors of all kinds.
  • Examination
  • Lab assessment
G4Apply a rigorous and systematic approach to the description of any type of system and to problem-solving.
  • Lab assessment
  • Examination
G4Plan activities akin to software engineering and ensure their execution in accordance with the plan (control).
  • Examination
  • Lab assessment
G4Understand a specification document correctly and construct an artefact consistent with it.
  • Lab assessment
  • Examination

Syllabus

Introduction to Web applications and review of basic concepts: client-server architecture, three- and n-tier models, static versus dynamic pages, server-database connectivity
Client-side technologies: HTTP protocol, HTML and related (CSS, JavaScript, etc.)
Java Servlet programming
JavaServer Pages (JSP) and concept of tag libraries
Server-database connections using Java Database Connectivity (JDBC)
Review of key features of Java relevant to Web applications
The Model-View-Controller (MVC) paradigm
Overview of JavaServer Faces (JSF)
JSF managed beans and navigation
JSF components and tag libraries
JSF event handling
JSF and external sources

ASSESSMENT: Lab work (programming exercises) accounts for 30% of the total mark.

Reading List

Core Text
Title: Core JavaServer faces (3rd edition)
Author: Geary, David and Cay S. Horstmann
ISBN: 9780137012893
Publisher: Prentice Hall
Edition: 3rd
Year: 2010