|Level||SHE Level 2|
|Prerequisites||Basic programming skills, such as might be gained by taking the class CS105 Programming Foundations|
|Contact||Lectures: 11 | Labs: 22 | Assignments: 67|
|Assessment||The class is assessed 100% by coursework. The marks allocated to each of the projects will be based on written reports, oral presentations and practical demonstrations of work performed.|
|Resit||The resit for the class will take the form of a 2-hour exam.|
|Lecturer||Dr Clemens Kupke | Dr Dmitri Roussinov|
Aim and Objectives
To help the students to develop further their perspective of computer science and to enhance their problem solving, team working, and presentational skills.
On completion of the class, a student should be able:
- To understand the wider problems and challenges in computer science.
- To understand the importance of working effectively as a team in solving problems.
- To understand how to present effectively in written, oral and graphical form the results of investigation.
- To have extended their experience of a variety of resources such as the University library, databases and the internet to find relevant material.
- To understand the relationship between material from the range of computer science classes.
The class is based around a number (typically two) of group projects based on a variety of interesting challenges in computer science. Students work in teams to solve these with support from the teaching staff and present their results in a variety of formats (written reports, oral presentations, etc).
Projects will be either 6 or 12 weeks long and will typically involve the group in analysis, design, implementation, testing and documentation of computer-based artifacts. The class will draw on skills learnt in other first year classes such as CS105 Programming Foundations.
Typical projects might involve: implementation of interactive web pages; design of multimedia computer systems; design and implementation of novel algorithms; creation of autonomous mobile robots; collecting user requirements and building a system to meet those requirements; programming a simple computer game.