Unit name | Further Computer Programming |
---|---|
Unit code | EMAT10006 |
Credit points | 10 |
Level of study | C/4 |
Teaching block(s) |
Teaching Block 2 (weeks 13 - 24) |
Unit director | Dr. Benjamin |
Open unit status | Not open |
Pre-requisites |
EMAT10007 Introduction to Computer Programming. |
Co-requisites |
None. |
School/department | School of Engineering Mathematics and Technology |
Faculty | Faculty of Engineering |
This unit follows on from the introductory unit "Introduction to Computer Programming", and aims to provide students who require a deeper understanding of the principles of computer programming with the strong implementation and problem solving skills they will need in subsequent learning.
By the end of the unit student will acquire basic software engineering and collaborative skills, so that they are able to develop computer code efficiently in groups.
On successful completion of this unit, students will:
1) Be fluent in the fundamentals of programming in Python
2) Be able to follow a structured approach to requirement specification and software design
3) Be able to solve engineering problems using Python
4) Know how to develop and use code collaboratively in groups
5) Have supporting skills for making effective use of programming such as being able to use version control.
Lectures and computer laboratory sessions.
100% coursework.
Students will complete three assessments in groups of increasing size.
Coursework 1: Individual coursework. Students will be asked to write some code to meet a rigidly defined specification. They will learn how to document their code and how to use version control individually (25%)
Coursework 2: Pair coursework. This will be a semi-rigidly defined project. The goal of the project will be something resembling a simple research project involving a simulation. Students will learn how to collaborate in pairs and how to write simulation code that can be improved and re-used (25%)
Coursework 3: Group coursework: These will be more open-ended projects. Students will work in groups of 4-5. They will need to have an organised group structure and use techniques such as code review to collaborate on a consistent project (50%)
N/A