Module Descriptors
PRINCIPLES OF SOFTWARE ENGINEERING
COWB70210
Key Facts
Faculty of Computing, Engineering and Sciences
Level 7
15 credits
Contact
Leader: Desmond Keiher
Hours of Study
Scheduled Learning and Teaching Activities: 48
Independent Study Hours: 102
Total Learning Hours: 150
Assessment
  • ASSIGNMENT weighted at 60%
  • ASSIGNMENT - SECOND ASSIGNMENT weighted at 40%
Module Details
Module Special Admissions Requirements
Prior study of Computing Skills (CE00225-M) or equivalent is essential.
Module Texts
Recommended reading:
Software Engineering, 7th Edition, Ian Sommerville, 2004, Addison Wesley, ISBN: 0321210263
Data Structures and Algorithms in Java, 4th Edition, Goodrich, M. and Tamassia, R., 2005, Wiley, ISBN: 0471738840

Background reading:
Systems Analysis and Design Methods, 6th Edition, Whitten, Bentley and Dittman, 2004, McGraw Hill, ISBN: 0072474173
Software Design, David Budgen, 2003, Addison Wesley, ISBN: 0201722194

Various academic papers on the subjects covered by this module.
Module Learning Strategies
Normally two lectures and two practical sessions per week (1:n)2 (1:20)2

In addition to these 48 hours of class, each student will be expected to engage in a further 102 hours of independent learning, to reinforce and extend the learning that takes place in the formal classes.

Independent learning activities include but are not limited to completing the practical work, preparing and undertaking assessment, reading books and academic papers.
Module Indicative Content
Software system development lifecycles
Characteristics of design methods
Development paradigms
Modelling the real world
Modelling behaviour in all its aspects (function, data, ordering, concurrency, interaction)
Separation of concerns
Quality assurance and quality control
Development tools (Diagramming tools, Interactive Development Environments (IDEs), etc.)
Implementation issues - how to move from design to code
Data structures
Algorithm design
Module Additional Assessment Details
An assignment (60%), addressing learning outcomes 1 and 2, consisting of:
- Design and implement a solution to a given problem, using a recognised system development method.
- Answer questions about the underpinning body of knowledge that this assignment addresses

A second assignment (40%), addressing learning outcomes 3 and 4.
Module Resources
Software:
NetBeans 5.5.1 or later

Hardware:
Standard Windows-based computing provision