Learning Outcomes:
On successful completion of this module, the student should be able to:
1 General competency in Dynamic User Interface Development.
2 Understand the difference between Simple and Rich Internet Applications.
3 Understand the benefits of Rich Internet Applications at both technical and business levels and identify applications that are best suited for RIAs.
4 Identify and compare existing technologies enabling the development of Rich Internet Applications based on characteristics such as ubiquity, industrial strength and usability.
5 Be familiar with the evaluation of user interfaces according to usability principles.
6 Be familiar with the implementation of user interfaces, understand the implication of human cognition on user interface design and distinguish between good and bad user interface.
7 Use object-oriented languages for the design of Dynamic User Interfaces
8 Be able to reuse and create libraries for the design of dynamic interfaces
9 Be capable of designing and delivering a Rich Internet Application.
Syllabus Content:
Building on an undergraduate-level software development knowledge base, the central focus of the module is to enable the understanding and critical evaluation of highly interactive User Interfaces.
This module will build on the previous module ÒDynamically Types ProgrammingÓ where students have acquired a sound understanding of Object Oriented Programming. It will allow to develop Rich Internet Applications (RIA) with an emphasis on scalability and usability. It will also draw a parallel between existing technologies.
Pre-requisites:
á Basic understanding of computer architecture and of operating systems.
á Programming experience in an Object Oriented Programming Language (graduate of an Honours BSc or BEng involving significant programming experience).
Indicative syllabus content:
1. Principles
1.1 Introduction to Dynamic UIs
- RIAs Characteristics
- Benefits of RIA
- Overview of Available Technologies for RIAs
1.2 Creating Usable Interfaces
- Introduction to Usability Principles
- Applying Usability Principles to Dynamic User Interfaces
2. Development of Dynamic User Interfaces
2.1 Using JavaScript/AJAX
- DOM, XML and CSS
- Event handling
2.2 Using Java
- Java FX
- Java Applets
2.3 Using Dedicated IDEs
- Overview of Flash and Flex
- Scripting
- Built-in libraries
3. Technology Integration
Design, develop and deploy a commercial application using a combination of RIA technologies.
Practical Programme:
This module has a strong emphasis on practical applications. Lectures will be used to introduce new topics and their related concepts. Computer based practicals will be used to illustrate principles introduced in the lectures.
Best practice in Object Oriented Development and Interface Usability will be introduced and tested in the submitted assignments.
Students will be required to submit two completed assignments. The first assignment is to be presented by the students early in the module, showing a good understanding of the design of Dynamic user Interfaces. The second assignment will expect students to develop a commercial solution implementing rich content.