ES50171: Principles of programming and software engineering
[Page last updated: 23 October 2023]
Academic Year: | 2023/24 |
Owning Department/School: | Department of Economics |
Credits: | 10 [equivalent to 20 CATS credits] |
Notional Study Hours: | 200 |
Level: | Masters UG & PG (FHEQ level 7) |
Period: |
|
Assessment Summary: | CW 100% |
Assessment Detail: |
|
Supplementary Assessment: |
|
Requisites: | |
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. |
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. |
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. |
Course availability: |
ES50171 is a Designated Essential Unit on the following courses:Department of Economics
|
Notes:
|