- Academic Registry
Programme & Unit Catalogues


CM50308: Principles of programming and software engineering

[Page last updated: 27 October 2020]

Follow this link for further information on academic years Academic Year: 2020/1
Further information on owning departmentsOwning Department/School: Department of Computer Science
Further information on credits Credits: 10      [equivalent to 20 CATS credits]
Further information on notional study hours Notional Study Hours: 200
Further information on unit levels Level: Masters UG & PG (FHEQ level 7)
Further information on teaching periods Period:
Semester 1
Further information on unit assessment Assessment Summary: CW 100%
Further information on unit assessment Assessment Detail:
  • Assessment detail for this unit will be available shortly. (CW 100%)
Further information on supplementary assessment Supplementary Assessment:
Like-for-like reassessment (where allowed by programme regulations)
Further information on requisites Requisites:
Description: Aims:

* To introduce students to the development of computer software, including problem analysis, establishing requirements, designing, implementing and evaluating.
* To provide students with the terminology and concepts of programming, irrespective of the language being used. To provide practical skills at reading and writing programs and producing programs to solve real world problems.
* To make students feel confident about programming in the taught languages and about being able to learn different programming languages and programming paradigms.
* To develop an understanding of how the principles behind software development are much more important than the chosen programming language, and how specification, design choices and development methodology may have a major impact on the correctness and suitability of the final software solution.
* To develop a systemic understanding of software development paradigms for complex software system building.

Learning Outcomes:
At the end of this unit students should be able to:
* Describe the design of a computer program separately from its implementation;
* Explain the basic concepts of procedural and object oriented programming in the design and implementation of computer programs;
* Explain debugging and testing methods and how they contribute to robust code;
* Design, construct and evaluate simple data structures and algorithms;
* Plan, organise and implement program code to support reuse and maintainability of the software;
* Demonstrate an understanding of the principles of software development paradigms and their relationship to the appropriateness of eventual software solutions.

Skills:

* Ability to use information technology
* Ability to solve problems
* Ability to think critically and communicate programs, code, and output effectively
* Choosing appropriate design techniques.

Content:

* Design of a computer program separately from its implementation;
* Basic concepts of procedural and object oriented programming in the design and implementation of computer programs;
* Debugging and testing methods and how they contribute to robust code;
* Simple data structures and algorithms;
* Program code to support reuse and maintainability of the software;
* Principles of software development paradigms and their relationship to the appropriateness of eventual software solutions.
Further information on programme availabilityProgramme availability:

CM50308 is a Designated Essential Unit on the following programmes:

Department of Economics
  • THES-AFM30 : MSc Economics for Business Intelligence and Systems

Notes: