Module Provider: |
Computer Science |
Number of credits: |
20 [10 ECTS credits] |
Level: |
I (Intermediate) |
Terms in which taught: |
Autumn, Spring and Summer |
Module Convenor: |
Dr
SA
Williams |
Pre-requisites: |
|
Co-requisites: |
|
Modules excluded: |
CS2TX5
|
Current from: |
2005/6 |
Aims:
This module covers design techniques suited to imperative and object-oriented program development. It will also introduce the student to scientific programming using C programming. |
Assessable learning outcomes:
By the end of the module, it is expected that the student will be able to:
describe design techniques suited to imperative and object-oriented program development from an informal specification be able to produce a design using UML notation from a UML design be able to produce a program explain how problems can be translated to algorithms and then programs explain how programming languages are used to produce computer applications identify the programming constructs available in C be able to program within the Windows environment |
Additional outcomes:
The module also aims to encourage the development of the following skills:
describe design techniques suited to imperative and object-oriented program development from an informal specification be able to produce a design using UML notation from a UML design be able to produce a program explain how problems can be solved using programs explain how programming languages are used to produce computer applications identify the programming constructs available in the C programming language an understanding of how software tools such as compilers, debuggers, language specific editors can aid programming. |
Outline content:
This module is designed to acquaint students with programming and design, the use of design will be integrated with the development of programming skills. Content will include: Design The use of a variety of design diagramming techniques, including: Use Case; Class Diagram; Interaction Diagram; Sequence Diagram; Collaboration Diagram; State Diagram; Activity Diagram Where appropriate using UML notation supported by a CASE tool (such as Rational Rose). Programming Imperative programming in C, including sequencing constructs (loops and conditionals), types (simple and structured), functions and parameters, pointers, modular |
Brief description of teaching
and learning methods:
Normally: one 1-hour lecture and one 2-hour practical each week. The lectures will cover the theoretical aspects of the topics. Practical assignments will be given out reularly, and these will give practice in design and programming; and assist appreciation of the lecture material. Practical work will be marked in practical sessions, and appropriate advice will be given. Some of the learning will require self study. |
Contact hours:
| |
Autumn |
Spring |
Summer |
| Lectures |
10 |
10 |
|
| Tutorials/seminars |
|
|
4 |
| Practicals |
20 |
20 |
|
| Other contact (eg study visits) |
|
|
|
| |
|
|
|
| Total hours |
30 |
30 |
4 |
| |
|
|
|
| Number of essays or assignments |
Weekly practical work/quizzes |
Weekly practical work/quizzes |
|
| Other (eg major seminar paper) |
1 |
1 |
|
|
Assessment:
Coursework Programming and design will be supported by regular practicals and quizzes that contribute 30% of the marks. Examinations Students will also sit a 2-hour paper that will constitute 70% of the marks overall. This is required to confirm students' understanding of the theoretical content. Requirements for a pass Students will be required to obtain a mark of 40% overall based on coursework and the examination. Re-assessment Students will be re-examined in September. |