Module 19343 (2011)

Syllabus page 2011/2012

06-19343
Software System Components 1

Level 2/I

Hayo Thielecke:7.4
Shan He:7.2
Bob Hendley:5.4
20 credits in Semester 1

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 lectures and at the same time practice the design and development of medium-scale programs. Together with its companion module, Software System Components 2, 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.


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 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
3assess and explain the impact of computer technology on people and society through appropriate examples Examination
4explain and use the basic Java i/o class hierarchy Examination, Continuous Assessment
5explain and apply the structural principles of XML Examination, Continuous Assessment
6use grammars to describe formal notations such as programming languages Examination, Continuous Assessment
7explain what parsers do, particularly top-down parsers Examination, Continuous Assessment
8explain and apply the underlying concepts of 2D and some 3D object construction, manipulation and viewing Examination, Continuous Assessment
9apply 2D and 3D graphics techniques using appropriate Java libraries Continuous Assessment
10explain and apply basic techniques for the representation and processing of images and colour Examination, Continuous Assessment

Restrictions, Prerequisites and Corequisites

Restrictions:

None

Prerequisites:

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

Co-requisites:

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.

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: 22 March 2012

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

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