Current postgraduate taught students
COMP60432: Building Web Applications (2010-2011)
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 so fast that it is very difficult to keep abreast of its developments. 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. Inevitably, the coverage of topics is bound to be very selective.
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 the practical use of formal specification methods and 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 outcome||Unit learning outcomes||Assessment|
|G2||Read the relevant Java programs and demonstrate understanding by carrying out such tasks as identifying and correcting logical errors, filling gaps, making changes, etc.|
|G2||Understand a semi-formal program specification for a system and correctly implement it; reason about a program in relation to its specification.|
|G2||Implement 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.|
|G2||Demonstrate a full grasp of the theoretical principles underpinning the various technologies listed in the syllabus.|
|G2||Apply these principles to the development of Web applications and explain how these principles relate to such applications.|
|G2||Use the program development tool of the course (NetBeans 6.7.1) effectively.|
|G2||Establish and apply effective strategies for testing Web application software, including detecting, identifying and correcting errors of all kinds.|
|G4||Apply a rigorous and systematic approach to the description of any type of system and to problem-solving.|
|G4||Plan activities akin to software engineering and ensure their execution in accordance with the plan (control).|
|G4||Understand a specification document correctly and construct an artefact consistent with it.|
Introduction to Web applications and review of basic concepts: client-server architecture, three- and n-tier models, static versus dynamic pages, server-database connectivity
Java Servlet programming
JavaServer Pages (JSP) and concept of tag libraries
Server-database connections using Java Database Connectivity (JDBC)
Using formal methods in the development of Web applications
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 and is subject to confirmation: if the mark for Question 1 of the paper is lower, the lab mark will be reduced accordingly.
Core TextTitle: Core JavaServer faces (3rd edition)
Author: Geary, David and Cay S. Horstmann
Publisher: Prentice Hall