Home Admissions Students Careers Research Business People Help
Text size A A A A A

| STUDENTS > Practical Software Engineering |

Practical Software Engineering

Note: Whilst every effort is made to keep the syllabus and assessment records correct for this course, the precise details must be checked with the lecturer(s).


Code: 3093
Year:3
Prerequisites:Successful completion of years 1 and 2 of the Computer Science programme
Term: 1 and 2
Taught By: Graham Roberts (lectures); Licia Capra (project co-ordination) (100%)
Aims:This is an advanced course in software engineering. Software engineering is an inherently practical subject and experiential learning is a vital component of developing expertise in this area. Consequently, the major aim of this course is practical learning, supported by background lectures and workshops both to describe a range of generic techniques and to put into the context of industrial practice what can only be a relatively limited practical experience. The work will be conducted largely in groups, to mirror widespread industrial practice, and will, wherever possible, involve external customers that will determine the precise nature of the work performed. Students will be supervised, but will be expected largely to organize themselves and their work, learning key transferable skills in management and presentation.
Learning Outcomes:After completing the course attendees will be able to: appreciate the wider engineering issues which form the background to developing complex, evolving (software-intensive) systems; plan a software engineering process to account for quality issues and non-functional requirements; employ a selection of concepts and techniques to complete a small-scale study into one of the advanced topic areas. Interaction with a client to elicit input, and communicate progress. Group working skills - including general organization, planning and time management, inter-group negotiation, etc. Use of programming tools. Program design, testing, and debugging. Ability to communicate design and programming issues to other programmers. Demand-driven requirements to learn new programming languages, tools, methodologies. Ability to take, understand, and modify existing code where necessary. Translate a specification into a design, and then realize that design practically, all using an appropriate software engineering methodology. Reflect on the appropriateness of different software engineering methodologies in different circumstances. Knowledge of the wider software engineering context, software engineering processes and their applicability, software architectures, and modelling.

Content:

Course Introduction - Stipulation of Contract (Week 3 - Term 1)Group formation: Students are split into project groups with 6-8 members, each group having a supervisor who is a member of academic staff. The supervisor provides support and guidance. Project groups are selected by the course organiser, with students having no choice. Supervisors, in conjunction with external customers where possible, select the project ideas. The project runs continuously through both teaching terms with the groups responsible for organising themselves, with advice from their supervisor. Groups are expected to meet with their supervisor once per week. A series of deliverable deadlines are set and must be met by the project groups. A group diary needs to be kept to record the progress of the group, including the minutes of meetings held.
Project Management - First output: agreed and signed contract.
Lecture coursePlease see syllabus for COMP3015 at http://www.cs.ucl.ac.uk/teaching/syllabus/ug/3015.htm"
Past project assessmentOne of the first activities of the group is to perform a critical assessment of the reports delivered by a group from a previous year. This starts the development of critical assessment skills and also provides an indication of what is expected.
Software engineering processUnified Software Development Process
Software Process Improvement
Software Quality
Requirements Management
Configuration Management
Risk Management
Testing
Reviews and Inspections
Advanced ModellingUML Extension Mechanisms
Object Constraint Language
Model Checking
Project workInterim report (due Week 7 - Term 1). The first stage of a project, during term 1, is to complete Inception and Elaboration of the project. The Interim report documents the requirements, analysis, architecture and provides a plan for completing the project.
Project work: The end of term 1 and up until week 8 of term 2 are devoted to Construction and Transition phases, with the aim of producing a working system.
Final and individual report (both due Week 9 - Term 2). The main report documents the results of the project, focusing on design, implementation and testing. A user manual should be included. A 1 page is required (Executive Summary) to provide a concise description of the project and its results. The group diary, including meeting minutes is also included. At the same time, each student is required to submit a personal report giving a) an assessment of the structure, organisation and progress of the project group, b) an assessment of the project results and the effectiveness of the group as a whole, c) an assessment of each group member, d) an assessment of their own role, including a summary of what they contributed.
Presentation (Week 7- Term 2). Each group is required to give a 15 minute formal presentation of their work, making use of suitable AV equipment. The presentation should explain what the project is about, what were the challenges and give an overview of the design and implementation approach. A demonstration of the working prototype should be included.
Weekly reports. Each student is required to email their supervisor once per week reporting on the work done towards the project. Supervisors keep the reports to help keep a record of individual progress.

Method of Instruction:

Lecture presentations and group working with support from tutorials held by the group supervisor. Students registered for this module attend COMP3015 (Advanced Software Engineering) lectures. Two workshops are organised in collaboration with Goldman Sachs that focus on: 'team building' (week 3 - Term 1) and 'presentation skills' (week 1 - Term 2).

Assessment:

The course has the following assessment components:

  • Reports (300 hours, 100%)
To pass this course, students must:
  • Pass the Coursework (40% or more)

Resources:

Books, papers, manuals etc. relevant to the project.

Course homepage

This page last modified: 26 May, 2010 by Nicola Alexander

Computer Science Department - University College London - Gower Street - London - WC1E 6BT - Telephone: +44 (0)20 7679 7214 - Copyright © 1999-2007 UCL


Search by Google
Link to UCL home page