Durham University
Programme and Module Handbook

Undergraduate Programme and Module Handbook 2022-2023 (archived)

Module COMP2281: SOFTWARE ENGINEERING

Department: Computer Science

COMP2281: SOFTWARE ENGINEERING

Type Open Level 2 Credits 20 Availability Available in 2022/23 Module Cap None. Location Durham

Prerequisites

  • COMP1051 Computational Thinking AND (COMP1101 Programming (Black) OR COMP1111 Programming (Gold))

Corequisites

  • None

Excluded Combination of Modules

  • None

Aims

  • To gain a detailed understanding of the phases of the software development lifecycle; appreciate the problems that are associated with each of the phases, and be able to identify best practice for their solution.
  • To understand the issues surrounding the project management activities required for the development of a significant piece of software within a team environment and gain an appreciation of the complexities and impact of legislation on the professional work environment.

Content

  • Software development practices: development models including Agile
  • Requirements discovery and analysis
  • Software Design
  • Software Testing
  • Human Computer Interaction
  • Software Quality and Process
  • Project Management
  • Legal and Social Issues

Learning Outcomes

Subject-specific Knowledge:
  • To have knowledge of current software development practices that is relevant and applicable to software development in industry
  • An appreciation of the challenges facing the software development industry in terms of the software development practices, processes and management
  • Have an understanding of basic project management theory and techniques
  • Be able to describe and analyse how each of the issues within software engineering interrelate
  • Have a detailed understanding of the important legal, ethical and moral issues relating to the building and use of computer applications
Subject-specific Skills:
  • An ability to describe and analyse the different core facets of software engineering and how they interrelate
  • An ability to critically analyse systems with regard to the principles of software engineering so that this analysis aids the production and maintenance of software applications
  • An ability to conduct self-study to further their knowledge in the integration of the topic areas
  • Have gained experience in planning, organising, managing and implementing a large scale software application as part of a team
  • Developed appraisal and evaluation skills through the use of peer and self-assessment and critical appraisal of others work
Key Skills:
  • An ability in technical writing, oral presentation and social interaction
  • An ability to apply methods and techniques to general software development
  • An ability to solve problems in a team environment

Modes of Teaching, Learning and Assessment and how these contribute to the learning outcomes of the module

  • Lectures enable students to learn the principles and methodology as regards software engineering, and appreciate how these are applied
  • Practical classes to enable students to correctly develop their knowledge and methodological skills in practical scenarios
  • Coursework to assess the knowledge acquired and ability to use this knowledge to solve problems

Teaching Methods and Learning Hours

Activity Number Frequency Duration Total/Hours
Lectures 40 2 per week 1 hour 40
Practicals 20 1 per week 2 hours 40
Self Study and Project Work 120
Total 200

Summative Assessment

Component: Coursework Component Weighting: 100%
Element Length / duration Element Weighting Resit Opportunity
Team Work 66% No
Individual Work 34% Yes

Formative Assessment:

Formative feedback will be given during the coursework students undertake


Attendance at all activities marked with this symbol will be monitored. Students who fail to attend these activities, or to complete the summative or formative assessment specified above, will be subject to the procedures defined in the University's General Regulation V, and may be required to leave the University