Undergraduate Teaching 2023-24

Engineering Tripos Part IIA Project, GF2: Software, 2017-18

Engineering Tripos Part IIA Project, GF2: Software, 2017-18

Not logged in. More information may be available... Login via Raven / direct.

PDF versionPDF version

Leader

Dr A Gee

Timing and Structure

Fridays 11-1pm, Tuesdays 9-11am plus afternoons

Prerequisites

Part I computing assumed

Aims

The aims of the course are to:

  • Introduce students to various issues in the development of large software systems.
  • Develop and test a logic simulator in C++ or Python.

Content

The aim of this project is to develop a logic simulation program using the programming language C++ or Python (for 2017-18, students choose which language to work in). The project introduces students to all major phases of software engineering practice, viz. specification, design, implementation, testing and maintenance.

The project is organised in the form of a 'real life simulation'. You are asked to imagine that you have joined a software development company. You have been assigned to a team of programmers who have just begun work on a contract to develop a logic simulation program. You are given the 'client's' original requirements document and asked to produce a detailed specification for part of the system. Following this, you move onto the design stage. You are told that the program has been divided into eight functional modules and your team has been given the responsibility for designing and implementing four of them. When you have completed these, you have to integrate them with the remaining four modules of the system and test it. Finally, the client requests some changes to be made to the program and you are asked to implement these.

FORMAT

Students work in groups of three, sharing the work. Each student in the group will write different parts of a large software system, test them independently and then integrate into a complete simulator.

Week 1

Introductory exercises in C++ or Python, lecture on logic circuit specification using a grammar, parsing and some concepts in Software Engineering.

Week 2

Design of specification grammar, familiarization with some modules that already exist, estimating and splitting the work involved, start work on individual modules.

Week 3

Software design, implementation and testing (continued)

Week 4

Integration and testing the complete system. Modification to system and final report.

Coursework

Coursework Due date Marks

Interim report 1

4pm Sunday 20 May 2018

15

(all group)

Interim report 2

11am Friday 1 June 2018

15

 (7 group 8 individual)

Final report

4pm Thursday 7 June 2018

50

(all individual)

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 24/10/2017 15:56