University of Surrey - Guildford

Registry > Module Catalogue
View Module List by A.O.U. and Level  Alphabetical Module Code List  Alphabetical Module Title List  Alphabetical Old Short Name List  View Menu 
2010/1 Module Catalogue
Module Provider: Computing Short Name: CS294
Level: HE2 Module Co-ordinator: BRIFFA JA Dr (Computing)
Number of credits: 10 Number of ECTS credits: 5
Module Availability

Spring Semester

Assessment Pattern

Assessment Pattern


Unit(s) of Assessment


Weighting Towards Module Mark( %)


Design Review


Following their analysis of given user and system requirements, the group produces an initial design report to deliver a software system.


The design report will contain an initial idea for a system and examine its feasibility within the set software framework and requirements to check that appropriate methods have been used, that there is sufficient detail, and that the design is consistent and appropriate to proceed to coding and feasible with the available resources.


The aim here is that the group develops an idea, demonstrates an awareness of the requirements and how to realise both within a given API framework




Interim project audit


The group's project documentation, its internal procedures and the produced source code will be audited to ensure that they are adhering to the required project standards, including planning, documentation and coding standards, management, risk, quality and team organisation.


The aim is to demonstrate that the group follows good practise in documentation, coding and project management.




Final project audit


During the user acceptance stage, the group project will be audited again to ensure that they maintained their adherence to the required project standards.


The aim is to demonstrate that the group follows good practise in documentation, coding and project management.




User acceptance


The final developed system will be peer reviewed for user acceptance testing both to determine if the group has successfully met the user and system requirements and delivered a product of good quality. 




Qualifying Condition(s) 


A weighted aggregate mark of 40% is required to pass the module.



Peer assessment will be used to moderate individual marks for the module, based upon the combined group assessment.  Individual vivas may be used to assess the contribution of a team member to the project.



Module Overview


Module Overview


Software engineering projects are run in teams.  Different members of the team have varying responsibilities and roles that include project management, acquisition of appropriate knowledge about available resources, risk management, quality control, design, programming, testing, documentation and training.


In this module students gain first-hand experience of this process by designing and delivering a software system in a team.  The team take on the responsibility of developing a system to a pre-defined specification, acquire the required level of knowledge of the APIs to be used and by following software engineering standards and procedures.  Through this, the students will gain an understanding of how to successfully create a design to meet the specification, how to independently acquire the required knowledge of the API used and how to implement and test their system before finally delivering this to the user and . Throughout the project, the team is expected to plan and document their activities, hold regular project meetings, and will be audited on how they approach the different tasks and adhere to the required standards.



COM2003 Object Oriented Software Engineering

Module Aims

Module Aims


The aim of this module is to allow students to experience the development of a larger software system in a team.  At the end of this module, students should have practical experience of the software development life cycle, and should appreciate the need for appropriate task division and documentation, communication and adherence to standards and procedures.


Learning Outcomes

Learning Outcomes


By the end of the module, students should be able to:


·         Translate knowledge gained on the systems development lifecycle into practical experience of the processes and tasks required.


·         Apply appropriate methods for the design, implementation and testing of the software as well as required background research.


·         Deliver a working software system through the effective planning, management and organisation of the team to achieve defined milestones.


·         Recognise the need to adhere to appropriate project procedures and standards to successfully execute a project development and produce high-quality documents and code that are maintainable.


·         Work within a team, contributing to the development of a software system, and evaluating their own strengths and weaknesses.


Module Content

Module Content


Following an overview lecture and an introductory lab session, groups will start to meet with their project managers (one of the module lecturers) in supervised group meetings once a week and without their managers at least once a week in unsupervised group meetings. It is up to the groups to document both supervised and unsupervised group meetings. The supervised group meetings serve to give advice to the group on organisational, managerial and technical questions and empower them to work in a independent manner on their project. Agendas for these meetings need largely to be set by the group itself in a proactive way. Hence the concrete contents of the group meetings will depend on the group's needs to deliver a successful project.



The project will support the development of the following skills:



·         Evaluation of project requirements,


·         Appreciation of procedures and standards.


·         Independent work to acquire relevant knowledge to use the given API


·         Project management, planning, quality management and testing.


·         Use of development environments and tools.


·         Design and design patterns.



Methods of Teaching/Learning

Methods of Teaching/Learning


Practical experience of the project during weeks 1 to 10, consisting of:


·         2 hours of lectures/labs in week 1.


·         Group meetings (supervised and unsupervised) in weeks 1-10.


·         Project reviews in weeks 11-12.


Selected Texts/Journals

Selected Texts/Journals


Required Reading :


Sommerville, I.  (2007).  Software Engineering, 8th Ed.  Harlow, Essex: Pearson Education Ltd.



Recommended Reading :


Vliet, H. van, (2008).  Software Engineering: Principles and Practice.  Chichester, West Sussex :  John Wiley & Sons Ltd.



Freeman, E., Freeman, E., Sierra, K. & Bates, B. (2004).  Head First Design Patterns.  Sebastopol, CA :  O’Reilly Media, Inc.



Barker, J. (2000).  Beginning Java Objects. Birmingham, : Wrox Press Ltd.



Other Relevant Sources:


Vermeulen, A. et al (2000).  The Elements of Java Style.  Cambridge, UK.: Cambridge University Press.






Last Updated

AUG 2010 jg