- Course Code
- EG 3568
- Credit Points
- 15
- Course Coordinator
- To be confirmed
Pre-requisites
EG 2069 (CAS 9).
Notes
Available only to students following an Honours degree programme.
Overview
This course concentrates on methodology for design of software systems. It covers the software life cycle (waterfall model) from requirements analysis through to testing and maintenance, explaining what is meant by well engineered software and how the necessary disciplines differ from those required for small-scale programming. Specification is emphasised, with coverage of natural language specification, data-flow diagrams, and an introduction to formal methods. Object-oriented and functional approaches to design are introduced and illustrated through case studies. Styles and design guides for user interfaces are introduced, as are points on programming style, and use of abstract and concrete data structures (sets, sequences, functions, etc). Practical work is provided to illustrate some of the formal course content and is in the form of a guided design exercise, in which the student takes an outline user requirement through specification, design, implementation and testing, using the C language.
Structure
24 one-hour lectures, 6 one-hour tutorials, and 6 three-hour practicals in total.
Assessment
1 three-hour written examination paper (80%) and in-course assessment (20%).