Module 11224 (2007)
Syllabus page 2007/2008
06-11224
Introduction to Software Engineering
Level 1/C
Peter Coxhead (coordinator)
Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus
The Module Description is a strict subset of this Syllabus Page. (The University module description has not yet been checked against the School's.)
Relevant Links
Outline
Introduction to Software Engineering: the software life cycle and methodologies for software development.
Aims
The aims of this module are to:
- introduce the software life-cycle and its main stages
- demonstrate that the production of quality software in a cost-effective and productive way requires a systematic and disciplined approach
Learning Outcomes
| On successful completion of this module, the student should be able to: | Assessed by: | |
| 1 | explain why the production of a large, quality-assured piece of software is a task demanding a disciplined approach to all stages, closely analogous to the methodology used in more traditional engineering activities | Examination |
| 2 | explain the concept of the software lifecycle | Examination |
| 3 | demonstrate knowledge of relevant concepts for each stage of the software life-cycle | Examination |
| 4 | understand the application of software engineering approaches, both as an introduction to professional practice and as an aid to project work | Examination |
Restrictions, Prerequisites and Corequisites
Restrictions:
None
Prerequisites:
None
Co-requisites:
06-18190 (Software Workshop 1) (or equivalent)
Knowledge of a programming language and
experience in programming are essential.
Teaching
Teaching Methods:
2 hrs lectures per week
Contact Hours:
Assessment
- Sessional: 1.5 hr examination (100%).
- Supplementary (where allowed): As the sessional assessment
Recommended Books
| Title | Author(s) | Publisher, Date |
| Software Engineering (8th ed) | I Sommerville | Addison Wesley, 2006 |
| Software Engineering: a Practitioner's Approach | R S Pressman | McGraw Hill, 1998 |
Detailed Syllabus
- Introduction: definitions and history of software engineering; models of the software lifecycle.
- Requirements definition: outline, documentation, validation.
- Design: general concepts of traditional designs (structure, modularity, hierarchy), inheritance; design methods; validation.
- Implementation: choice of language and coding strategies; testing and debugging, including white-box and black-box testing.
- Validation: techniques for each stage - informal reviews, formal reviews, testing, formal proofs.
- Documentation: quality, types, techniques for each stage.
- Management of software projects: principles; personnel issues; estimation, scheduling and costing.
Last updated: 4 Jun 2007
Source file: /internal/modules/COMSCI/2007/xml/11224.xml
Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus