Module Identifier CS22420  
Module Title ARTIFICIAL INTELLIGENCE AND VISION, GRAPHICS AND VISUALISATION GROUP PROJECT  
Academic Year 2005/2006  
Co-ordinator Dr Simon M Garrett  
Semester Intended for use in future years  
Next year offered 2006  
Next semester offered 2  
Other staff Dr Frederic Labrosse, Professor Mark H Lee, Dr Simon M Garrett  
Co-Requisite CS21120 and either CS26210 or CS32110  
Mutually Exclusive CS22120  
Course delivery Lecture    
  Seminars / Tutorials   Up to 12 workshops  
Assessment
Assessment TypeAssessment Length/DetailsProportion
Semester Assessment A1: Project documentation that describes the finished project product.  100%
Supplementary Assessment There is no Supplementary or External Resit available for this module.   
Further details http://www.aber.ac.uk/compsci/ModuleInfo/CS22420  

Learning outcomes

On successful completion of this module students should be able to:
work in a team to produce a piece of software.

understand the need for project management structures such as quality control, software engineering principles and version control.

produce documentation that usefully describes aspects of the project.

apply software quality procedures.

use version and configuration management.

produce the key deliverables in software life cycles.

Aims

Brief description

The objectives of the lecture course are first to introduce students to the best traditional practices for the specification, design, implementation, testing and operation of large software systems; and second to provide the first opportunity for students to face the challenge of a significant AI/VGV problem. The AI students will solve the AI elements of the problem posed, and the VGV students will solve the VGV elements of the problem. The AI/VGV content will be balanced according to the ratio of these student types in the group.   The practical work is a group project.

Content

1. Introduction- 1 Lecture

The approach and the obligations of the professional engineer. Software as an engineering artifact. Analogies between software and other branches of engineering.

2. The Software Life Cycle - 3 Lectures

Description of the phases of a range of software life cycles (including the Waterfall, Prototyping, Extreme Programming and Spiral models) and the major deliverables and activities associated with each phase. Software process improvement.

3. Project Management - 2 Lectures

Planning and cost estimation. Progress monitoring. Team structure and team management.

4. Quality Management - 2 Lectures

Validation, verification and testing. Quality plans. Walkthroughs, code inspections and other types of review. Role of the quality assurance group. Standards (international, national and local).

5. Configuration Management - 2 Lectures

Baselines. Change control procedures. Version control. Software tools to support configuration management.

6. Requirements Engineering - 2 Lectures

The IEEE standard for requirements specifications. Validation of requirement by e.g., prototyping. Deficiencies in the traditional approach to requirements. Introduction to UML Use cases

7. Design - 3 Lectures

Outline (architectural) design and detailed design. Use of abstraction, information hiding, functional and hierarchical decomposition at levels higher then the individual program. Contents of design documentation. State diagrams. Relevant UML notations: packages, sequence and activity diagrams, active objects.

8. Implementation and maintenance - 2 Lectures

Choice of language. Cutover. Types of maintenance. Maintenance process. Refactoring.

9. Testing - 1 Lecture

Testing strategies. Testing tools: static and dynamic analysers, test harnesses and test data generators, simulators. Performance testing. Regression testing. User documentation and training.

Tutorials: A weekly tutorial will be associated with this course. The tutorial will be used to organise group project activities and to discuss software engineering issues.

The AI and VGV elements will be provided by other courses

Module Skills

Problem_solving 7  
Research skills The students will need to explore several solutions to the problems given.  
Communication It will be impossible to successfully complete the group project without effective communication.  
Improving own Learning and Performance Reflection and self-learning will be encouraged during the workshop sessions.  
Team work The entire group project exercise depends on team work.  
Information Technology Methods of storing and retrieving information to be used by a group will be taught.  
Personal Development and Career planning This exercise has proved to be one of the most useful in terms of PDP, and can help students assess which aspects of a Computer Science career are appropriate for them.  

Notes

This module is at CQFW Level 5