Module 06-19343 (2011)
Software System Components 1
Level 2/I
Hayo Thielecke Robert Hendley Shan He | Semester 1 | 20 credits |
Co-ordinator: Hayo Thielecke
Reviewer: Rami Bahsoon
The Module Description is a strict subset of this Syllabus Page.
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:
- describe and explain appropriate techniques for determining user requirements from an HCI perspective
- design and evaluate a computer-based system which meets such user requirements
- assess and explain the impact of computer technology on people and society through appropriate examples
- explain and use the basic Java i/o class hierarchy
- explain and apply the structural principles of XML
- use grammars to describe formal notations such as programming languages
- explain what parsers do, particularly top-down parsers
- explain and apply the underlying concepts of 2D and some 3D object construction, manipulation and viewing
- apply 2D and 3D graphics techniques using appropriate Java libraries
- explain and apply basic techniques for the representation and processing of images and colour
Teaching methods
3 hrs/week lectures/tutorials, 2-3 hrs/week labs.
Assessment
- Sessional: 2 hour examination (80%), continuous assessment (20%).
- Supplementary: By examination only.
Detailed Syllabus
- Introduction to HCI
- Case studies of good and bad design
- Human capabilities & limitations: perception & cognition
- HCI Design
- HCI Design Methodologies
- Personas and Scenarios
- Prototyping Methods & Tools
- Design Principles & Heuristics
- Usability Testing & Evaluation
- Usability Testing methodologies
- Techniques for evaluation
- Java I/O
- Basic operations on streams in Java
- Regular expressions and matching streams
- Serializing objects to and from streams
- 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
- XML
- XML syntax compared to the Dyck language
- Well-formed and valid XML compared to grammars
- XML and parsing
- 2D graphics
- Java2D graphics
- 2D Rendering
- 2D Modelling
- Colour
- Raster data
- Operations on images
- 3D graphics
- Introduction to 3D graphics
- World Space and Image Space
- 3D rendering
- Java OpenGL
Programmes containing this module
- BEng Computer Science/Software Engineering [4753]
- BEng Computer Science/Software Engineering with an Industrial Year [9500]
- BSc Artificial Intelligence & Computer Science [0144]
- BSc Artificial Intelligence & Computer Science [9502]
- BSc Computer Science [4436]
- BSc Computer Science with an Industrial Year [9499]
- BSc Computer Science with Business Management [5914]
- BSc Computer Science with Business Management with an Industrial Year [9503]
- BSc Computer Science with Study Abroad [5571]
- BSc Mathematics and Computer Science [5196]
- BSc Mathematics and Computer Science with an Industrial Year [9495]
- BSc Pure Mathematics and Computer Science [5249]
- BSc Pure Mathematics and Computer Science with an Industrial Year [9497]
- MEng Computer Science/Software Engineering [4754]
- MEng Computer Science/Software Engineering with an Industrial Year [9501]
- MSci Mathematics and Computer Science [5197]
- MSci Mathematics and Computer Science with an Industrial Year [9496]
- MSci Pure Mathematics and Computer Science [5256]
- MSci Pure Mathematics and Computer Science with an Industrial Year [9498]