Module 11224 (2007)

Syllabus page 2007/2008

06-11224
Introduction to Software Engineering

Level 1/C

Unknown/Left
Peter Coxhead (coordinator)
10 credits in Semester 2

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

Module Web Page


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:
1explain 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
2explain the concept of the software lifecycle Examination
3demonstrate knowledge of relevant concepts for each stage of the software life-cycle Examination
4understand 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:

24


Assessment

  • Sessional: 1.5 hr examination (100%).
  • Supplementary (where allowed): As the sessional assessment

Recommended Books

TitleAuthor(s)Publisher, Date
Software Engineering (8th ed)I SommervilleAddison Wesley, 2006
Software Engineering: a Practitioner's ApproachR S PressmanMcGraw Hill, 1998

Detailed Syllabus

  1. Introduction: definitions and history of software engineering; models of the software lifecycle.
  2. Requirements definition: outline, documentation, validation.
  3. Design: general concepts of traditional designs (structure, modularity, hierarchy), inheritance; design methods; validation.
  4. Implementation: choice of language and coding strategies; testing and debugging, including white-box and black-box testing.
  5. Validation: techniques for each stage - informal reviews, formal reviews, testing, formal proofs.
  6. Documentation: quality, types, techniques for each stage.
  7. 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