School of Computer Science

Module 06-11224 (2015)

Introduction to Software Engineering

Level 1/C

Kashif Rajpoot Semester 2 10 credits
Co-ordinator: Kashif Rajpoot
Reviewer: Ela Claridge

The Module Description is a strict subset of this Syllabus Page.

Outline

Introduction to Software Engineering: the software life cycle and methodologies for software development.


Aims

The aims of this module are to:

  • introduce strategic and tactical thinking about program design and development
  • introduce issues and solutions for software engineering "in the small"
  • demonstrate the relationship between the practice of good program design and development and software engineering "in the small"

Learning Outcomes

On successful completion of this module, the student should be able to:

  1. demonstrate facility with basic strategies of program design
  2. demonstrate facility with recording and communicating program designs
  3. understand and be able to apply software engineering approaches in the small

Restrictions

Knowledge of a programming language and experience in programming are essential.


Co-requisites


Teaching methods

2 hrs lectures per week

Contact Hours: 23


Assessment

Sessional: 1.5 hr examination (80%), continuous assessment (typically class tests) (20%)

Supplementary (where allowed): 1.5 hr examination (100%)


Detailed Syllabus

  1. Talking about programs
    • Pseudo-code
    • Class Diagrams
    • Interface designs
  2. Program design strategies
  3. Eliciting and recording requirements
    • Specifications
    • Use Cases
    • Interviews
    • Useability
  4. Correctness
    • Testing
    • Debugging
    • Proving Correctness
  5. Managing code
    • Code quality
    • Documentation
    • Commenting
    • Coding Style
    • Code Walkthroughs
    • Versioning
    • Deployment

Programmes containing this module