|Owning Department/School:||Department of Computer Science|
|Level:||Certificate (FHEQ level 4)|
|Assessment Summary:||CW 50%, EX 50%|
|Assessment Detail:|| |
CM10228 Mandatory Extra Work (where allowed by programme regulations)|
|Requisites:||Before taking this module you must take CM10227|
To continue the practice of the programming process begun in Principles of Programming 1.
To extend the notion software development to include systemic problems such as exogenous and endogenous error handling, maintainability, efficiency, redundancy and robustness.
To increase practical skills at reading and writing programs and producing programs to solve real world problems and to provide students with further domain specific problem solving techniques.
To increase further students' confidence levels of programming in the taught languages and about being able to learn different programming languages and programming paradigms.
To develop within students the ability to distinguish between the underlying principles of computer programming against those that are development-environment or language specific.
To provide students with further motivation and mechanisms to become independent learners who take control over their education rather passively taking in information.
To provide students with a preliminary understanding of the roles and responsibilities of computer professionals.
On completion of this unit, students will be able to:
1. Understand the more advanced concepts of programming complete systems.
2. Understand the basics of writing multi-threaded, server-client and GUI software.
3. Design, construct, evaluate and analyse the efficiency of more complex data structures and algorithms.
4. Understand and appreciate the limits of computation.
5. Have some understanding and appreciation of the problems and responsibilities of system delivery, maintenance and administration, relationship to users.
Use of IT (T/F,A), Problem Solving (T/F,A), Communication (T/F,A).
Introduction to programming languages such as Python or Java.
Introduction to complexity analysis. More data-structures and algorithms: trees and hash tables.
Event handling, error handling, basic multi-threading and networking.
Graphical User Interfaces.
Complex data-structures: trees and hash tables.
CM10228 is a Designated Essential Unit on the following programmes:Department of Computer Science