Module 19343 (2012)

Syllabus page 2012/2013

Software System Components B

Level 2/I

Alan Sexton:6:Parsing
Shan He:8:Graphics
Bob Hendley:6:HCI
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


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 lectures and at the same time practice the design and development of medium-scale programs. Together with its companion module, Software System Components A, 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 HCI, i/o and parsing, and graphics.


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 HCI, graphics, i/o and parsing

Learning Outcomes

On successful completion of this module, the student should be able to: Assessed by:
1describe and explain appropriate techniques for determining user requirements from an HCI perspective Examination
2design and evaluate a computer-based system which meets such user requirements Continuous Assessment, Examination
3explain and use the basic Java i/o class hierarchy Examination, Continuous Assessment
4explain and apply the structural principles of XML Examination, Continuous Assessment
5use grammars to describe formal notations such as programming languages Examination, Continuous Assessment
6explain what parsers do, particularly top-down parsers Examination, Continuous Assessment
7explain and apply the underlying concepts of 2D and some 3D object construction, manipulation and viewing Examination, Continuous Assessment
8apply 2D and 3D graphics techniques using appropriate Java libraries Continuous Assessment
9explain and apply basic techniques for the representation and processing of images and colour Examination, Continuous Assessment

Restrictions, Prerequisites and Corequisites




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


06-19321 (Software System Components A)


Teaching Methods:

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

Contact Hours:

Approx. 63


  • Sessional: 2 hour examination (80%), continuous assessment (20%).
  • Supplementary (where allowed): By examination only.

Recommended Books

TitleAuthor(s)Publisher, Date
Core JAVA 2 Volume 1 - Fundamentals (5th Ed) Cay Horstmann & Gary Cornell Prentice Hall / Sunsoft Press , 2001
Core JAVA 2 Volume 2 - Advanced Features (4th Ed) Gary Cornell & Cay Horstmann Prentice Hall / Sunsoft Press , 2000

Detailed Syllabus

  1. Introduction to HCI
    • Case studies of good and bad design
    • Human capabilities & limitations: perception & cognition
  2. HCI Design
    • HCI Design Methodologies
    • Personas and Scenarios
    • Prototyping Methods & Tools
    • Design Principles & Heuristics
  3. Usability Testing & Evaluation
    • Usability Testing methodologies
    • Techniques for evaluation
  4. Java I/O
    • Basic operations on streams in Java
    • Regular expressions and matching streams
    • Serializing objects to and from streams
  5. Introduction to parsing
    • Grammars contrasted with regular expressions
    • Predictive parsing
    • Writing parsing methods in Java
    • Parse trees
    • Java classes for representing parse trees
    • Overview of parser generators
  6. XML
    • XML syntax compared to the Dyck language
    • Well-formed and valid XML compared to grammars
    • XML and parsing
  7. 2D graphics
    • Java2D graphics
    • 2D Rendering
    • 2D Modelling
    • Colour
    • Raster data
    • Operations on images
  8. 3D graphics
    • Introduction to 3D graphics
    • World Space and Image Space
    • 3D rendering
    • Java OpenGL

Last updated: 10 July 2012

Source file: /internal/modules/COMSCI/2012/xml/19343.xml

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