Module 19321 (2006)

Syllabus page 2006/2007

06-19321
Software System Components 2

Level 2/I

Richard Dearden:8.55
Russell Beale:3.27
Unknown/Left:3.27
Behzad Bordbar:4.91
Richard Dearden (coordinator)
20 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.)

Relevant Links

Module Web Page


Outline

This module presents more advanced software development techniques, enabling the design and development of programs of medium-scale size and complexity. Through a series of lab exercises, students apply concepts taught in the lectures and at the same time practice the design and development of medium-scale programs. Together with its companion module, Software System Components 1, it is designed to equip students with programming abilities which may be needed in an individual final year project. The module covers the three topics of databases, web programming and concurrency, and distributed computing.


Aims

The aims of this module are to:

  • improve students' programming skills generally, and develop students' programming design and development skills to cope with large programs
  • provide programming experience with more advanced but commonly used Java class libraries and other packages as appropriate
  • teach specific skills in databases, web programming and concurrency, and distributed computing

Learning Outcomes

On successful completion of this module, the student should be able to: Assessed by:
1use Entity-Relationship diagrams to construct and explain conceptual models of databases, and then design tables for a relational database Examination, Continuous assessment
2write and explain SQL queries for a relational database Examination, Continuous assessment
3query and update a relational database from Java Continuous assessment
4explain the servlet model and structure, including the servlet lifecycle and application/session/request/page scope Examination, Continuous assessment
5configure, install and use servlet based web applications, implementing correct servlet request and response code, including html form processing, session handling, database connectivity and security Continuous assessment
6explain, apply and evaluate web application architecture and technologies Examination, Continuous assessment
7explain the concepts and issues of threads and synchronisation, including thread pools Examination, Continuous assessment
8implement, debug and test multithreaded programs with appropriate synchronisation, in a variety of contexts such as Swing, collection classes and network I/O mechanisms Continuous assessment
9explain and implement socket based communication Continuous assessment, Examination
10implement programmatic email sending Continuous assessment
11explain and use object serialisation and use RPC to interact with remote objects Examination, Continuous assessment
12explain and implement a web service Continuous assessment, Examination

Restrictions, Prerequisites and Corequisites

Restrictions:

None

Prerequisites:

06-18190 (Software Workshop 1), 06-18187 (Foundations of Computer Science), 06-11224 (Introduction to Software Engineering)

Co-requisites:

06-19343 (Software System Components 1), 06-19340 (Computer Systems & Architecture)


Teaching

Teaching Methods:

3 hrs/week lectures/tutorials, 2-3 hrs/week labs.

Contact Hours:

Approx. 63


Assessment

  • Sessional: 2 hour examination (80%), continuous assessment (20%).
  • Supplementary (where allowed): By examination only.
  • The continuous assessment will consist of programming exercises.

Recommended Books

TitleAuthor(s)Publisher, Date
Core JAVA 2 Volume 1 - Fundamentals (7th Ed)Cay Horstmann & Gary CornellSun Microsystems Press/Prentice Hall, 2005
Core JAVA 2 Volume 2 - Advanced Features (7th Ed)Cay Horstmann & Gary CornellSun Microsystems Press / Prentice Hall, 2005
Java Threads (3rd Ed)Scott Oaks and Henry WongO'Reilly, 2004
Concurrency: State Models & Java Programs Jeff Magee and Jeff KramerWiley, 1999
Core Servlets and JavaServer Pages (Enterprise Edition S.)Marty Hall, Larry Brown (Eds)Prentice Hall PTR, 2003

Detailed Syllabus

  1. Databases (4 weeks)
  2. Internet and distributed computing (4 weeks)
  3. Threads and concurrency (3 weeks)

Last updated: 20 Nov 2006

Source file: /internal/modules/COMSCI/2006/xml/19321.xml

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