Module N0097 (2007)

Syllabus page 2007/2008

06-N0097
Advanced Software Workshop

Level 4/M

Alan Sexton (coordinator)
30 credits in Semester 2

Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus


The Module Description is a strict subset of this Syllabus Page. (The University module description has not yet been checked against the School's.)

Changes and updates

Proposed new module for 2008/09. Draft only; not yet approved.


Relevant Links


Outline

Building on students' prior knowledge of programming in Java (or a closely related language), the module introduces specific technologies and toolkits for building internet-based software. Through lectures and extensive practical work, the module prepares students to make an effective contribution to building large internet-based software systems as professional software engineers.


Aims

The aims of this module are to:

  • introduce and analyse technologies, standards and toolkits for secure enterprise level internet-based software
  • develop skills for designing and implementing software using such technologies

Learning Outcomes

On successful completion of this module, the student should be able to: Assessed by:
1employ technologies for the world-wide web, web-based systems and component software Exercises
2use software toolkits for internet-based software Exercises
3make use of application frameworks for web-based systems Exercises
4develop large internet-based software systems from specification through design and implementation Exercises

Restrictions, Prerequisites and Corequisites

Restrictions:

Students without substantial experience of programming with Java (or a closely related language) will be required to take 06-N0096 (Integrated Sofware Workshop) instead of this module.

Prerequisites:

No formal prerequisite modules.
However, as noted under Restrictions, substantial experience of programming with Java (or a closely related language) is essential.

Co-requisites:

None


Teaching

Teaching Methods:

2 hrs lecture, 1 hr tutorial and 3-5 hrs laboratory sessions per week
The module is taught through a combination of lectures, tutorials and laboratory work. The module has a strong practical element. The lectures introduce and develop the major topics of internet-based software development. Practical work is assigned, discussed and assessed through tutorials.

Contact Hours:

33


Assessment

  • Sessional: Continuous assessment (100%).
  • Supplementary (where allowed): As the sessional assessment

Recommended Books

TitleAuthor(s)Publisher, Date
Java Persistence with HibernateChristian Bauer & Gavin KingManning, 2006
Spring in Action (2nd ed.)Craig Walls with Ryan BreidenbachManning, 2007
Professional Java Development with the Spring FrameworkRod Johnson, Juergen Hoeller, Alef Arendsen, Thomas Risberg & Colin SampaleanuJohn Wiley & Sons, 2005
Wicket in ActionMartijn Dashorst & Eelco HilleniusMEAP, 2007
Enjoying Web Development with Wicket (Covering Wicket 1.3)Ka Iok Kent Tong
How to Break Web Software: Functional and Security Testing of Web Applications and Web ServicesMike Andrews & James A. WhittakerAddison Wesley, 2006

Detailed Syllabus

  1. Advanced Programming (7)
    • Graphical user interfaces
    • Applets
    • Database connectivity
    • Threads and synchronization
    • Network communication
    • Remote method invocation
  2. Web technologies (7)
    • Languages for the web, including HTML, WML, CSS, DOM, XML and DTD
    • Client-side processing, including JavaScript and VBScript
    • Server-side processing, including server-side includes, CGI, servlets, JSP and ASP
    • Scripting languages such as PHP and Python
  3. Server-side application design (7)
    • State handling, session tracking
    • Connection pools
    • Design criteria: Reliability, consistency, security, maintainability
    • Component techniques: ActiveX, JavaBeans
  4. Distributed Components (6)
    • Component technologies: CORBA, COM, EJB
    • Web services
    • Naming services
  5. Web application frameworks (10)
    • Design criteria: modularity, scalability, availability
    • Model-view-controller paradigm
    • View frameworks, such as Echo
    • Model frameworks, such as Spring
  6. Design patterns for web applications (5)

Last updated: 27 Jan 2008

Source file: /internal/modules/COMSCI/2007/xml/N0097.xml

Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus