Undergraduate Teaching 2025-26

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

Engineering Tripos Part IIA Project, GF2: Software, 2025-26

Leader

Prof A Gee

Timing and Structure

Thursdays 11-1pm, Mondays 9-11am plus afternoons (set P2) or Fridays 11-1pm, Tuesdays 9-11am plus afternoons (set P3)

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 Python.

Content

The aim of this project is to develop a logic simulation program using the programming language Python. 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. 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 Python. Lecture on formal language theory, lexical analysis, grammars and parsing. Form development team. Start designing the logic specification language.

Week 2

Finish designing the logic specification language, document it in an interim report. Familiarization with provided software modules. Software design, implementation and unit testing.

Week 3

Software design, implementation and unit testing (continued).

Week 4

Integration and testing of the complete system. Implement the client's requested modifications and write a final report.

Coursework

Coursework Due date Marks

Interim report 1

4pm Saturday 23 May 2026 (set P2)

4pm Sunday 24 May 2026 (set P3)

15

(all group)

Interim report 2

11am Thursday 4 June 2026 (set P2)

11am Friday 5 June 2026 (set P3)

15

 (7 group 8 individual)

Final report

4pm Thursday 11 June 2026 (set P2)

4pm Friday 12 June 2026 (set P3)

50

(all individual)

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 01/12/2025 07:15

Engineering Tripos Part IIA Project, GF2: Software, 2024-25

Leader

Prof A Gee

Timing and Structure

Thursdays 11-1pm, Mondays 9-11am plus afternoons (set P2) or Fridays 11-1pm, Tuesdays 9-11am plus afternoons (set P3)

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 Python.

Content

The aim of this project is to develop a logic simulation program using the programming language Python. 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. 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 Python. Lecture on formal language theory, lexical analysis, grammars and parsing. Form development team. Start designing the logic specification language.

Week 2

Finish designing the logic specification language, document it in an interim report. Familiarization with provided software modules. Software design, implementation and unit testing.

Week 3

Software design, implementation and unit testing (continued).

Week 4

Integration and testing of the complete system. Implement the client's requested modifications and write a final report.

Coursework

Coursework Due date Marks

Interim report 1

4pm Saturday 18 May 2024 (set P2)

4pm Sunday 19 May 2024 (set P3)

15

(all group)

Interim report 2

11am Thursday 30 May 2024 (set P2)

11am Friday 31 May 2024 (set P3)

15

 (7 group 8 individual)

Final report

4pm Wednesday 5 June 2024 (set P2)

4pm Thursday 6 June 2024 (set P3)

50

(all individual)

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 29/11/2024 15:16

Engineering Tripos Part IIA Project, GF2: Software, 2023-24

Leader

Prof A Gee

Timing and Structure

Thursdays 11-1pm, Mondays 9-11am plus afternoons (set P2) or Fridays 11-1pm, Tuesdays 9-11am plus afternoons (set P3)

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 Python.

Content

The aim of this project is to develop a logic simulation program using the programming language Python. 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. 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 Python. Lecture on formal language theory, lexical analysis, grammars and parsing. Form development team. Start designing the logic specification language.

Week 2

Finish designing the logic specification language, document it in an interim report. Familiarization with provided software modules. Software design, implementation and unit testing.

Week 3

Software design, implementation and unit testing (continued).

Week 4

Integration and testing of the complete system. Implement the client's requested modifications and write a final report.

Coursework

Coursework Due date Marks

Interim report 1

4pm Saturday 18 May 2024 (set P2)

4pm Sunday 19 May 2024 (set P3)

15

(all group)

Interim report 2

11am Thursday 30 May 2024 (set P2)

11am Friday 31 May 2024 (set P3)

15

 (7 group 8 individual)

Final report

4pm Wednesday 5 June 2024 (set P2)

4pm Thursday 6 June 2024 (set P3)

50

(all individual)

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 27/11/2023 09:48

Engineering Tripos Part IIA Project, GF2: Software, 2022-23

Leader

Prof A Gee

Timing and Structure

Thursdays 11-1pm, Mondays 9-11am plus afternoons (set P2) or Fridays 11-1pm, Tuesdays 9-11am plus afternoons (set P3)

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 Python.

Content

The aim of this project is to develop a logic simulation program using the programming language Python. 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. 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 Python. Lecture on formal language theory, lexical analysis, grammars and parsing. Form development team. Start designing the logic specification language.

Week 2

Finish designing the logic specification language, document it in an interim report. Familiarization with provided software modules. Software design, implementation and unit testing.

Week 3

Software design, implementation and unit testing (continued).

Week 4

Integration and testing of the complete system. Implement the client's requested modifications and write a final report.

Coursework

Coursework Due date Marks

Interim report 1

4pm Saturday 20 May 2023 (set P2)

4pm Sunday 21 May 2023 (set P3)

15

(all group)

Interim report 2

11am Thursday 1 June 2023 (set P2)

11am Friday 2 June 2023 (set P3)

15

 (7 group 8 individual)

Final report

4pm Wednesday 7 June 2023 (set P2)

4pm Thursday 8 June 2023 (set P3)

50

(all individual)

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 28/11/2022 10:28

Engineering Tripos Part IIA Project, GF2: Software, 2021-22

Leader

Prof A Gee

Timing and Structure

Thursdays 11-1pm, Mondays 9-11am plus afternoons (set P2) or Fridays 11-1pm, Tuesdays 9-11am plus afternoons (set P3)

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 Python.

Content

The aim of this project is to develop a logic simulation program using the programming language Python. 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. 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 Python. Lecture on formal language theory, lexical analysis, grammars and parsing. Form development team. Start designing the logic specification language.

Week 2

Finish designing the logic specification language, document it in an interim report. Familiarization with provided software modules. Software design, implementation and unit testing.

Week 3

Software design, implementation and unit testing (continued).

Week 4

Integration and testing of the complete system. Implement the client's requested modifications and write a final report.

Coursework

Coursework Due date Marks

Interim report 1

4pm Saturday 21 May 2022 (set P2)

4pm Sunday 22 May 2022  (set P3)

15

(all group)

Interim report 2

11am Thursday 2 June 2022 (set P2)

11am Friday 3 June 2022 (set P3)

15

 (7 group 8 individual)

Final report

4pm Wednesday 8 June 2022 (set P2)

4pm Thursday 9 June 2022 (set P3)

50

(all individual)

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 02/12/2021 12:47

Engineering Tripos Part IIA Project, GF2: Software, 2020-21

Leader

Dr A Gee

Timing and Structure

Thursdays 11-1pm, Mondays 9-11am plus afternoons (set P2) or Fridays 11-1pm, Tuesdays 9-11am plus afternoons (set P3)

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 Python.

Content

The aim of this project is to develop a logic simulation program using the programming language Python. 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. 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 Python. Lecture on formal language theory, lexical analysis, grammars and parsing. Form development team. Start designing the logic specification language.

Week 2

Finish designing the logic specification language, document it in an interim report. Familiarization with provided software modules. Software design, implementation and unit testing.

Week 3

Software design, implementation and unit testing (continued).

Week 4

Integration and testing of the complete system. Implement the client's requested modifications and write a final report.

Coursework

Coursework Due date Marks

Interim report 1

4pm Saturday 22 May 2021 (set P2)

4pm Sunday 23 May 2021  (set P3)

15

(all group)

Interim report 2

11am Thursday 3 June 2021 (set P2)

11am Friday 4 June 2021 (set P3)

15

 (7 group 8 individual)

Final report

4pm Wednesday 9 June 2021 (set P2)

4pm Thursday 10 June 2021 (set P3)

50

(all individual)

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 30/11/2020 09:05

Engineering Tripos Part IIA Project, GF2: Software, 2019-20

Leader

Dr A Gee

Timing and Structure

Thursdays 11-1pm, Mondays 9-11am plus afternoons (set P2) or Fridays 11-1pm, Tuesdays 9-11am plus afternoons (set P3)

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 Python.

Content

The aim of this project is to develop a logic simulation program using the programming language Python. 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. 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 Python. Lecture on formal language theory, lexical analysis, grammars and parsing. Form development team. Start designing the logic specification language.

Week 2

Finish designing the logic specification language, document it in an interim report. Familiarization with provided software modules. Software design, implementation and unit testing.

Week 3

Software design, implementation and unit testing (continued).

Week 4

Integration and testing of the complete system. Implement the client's requested modifications and write a final report.

Coursework

Coursework Due date Marks

Interim report 1

4pm Saturday 16 May 2020 (set P2)

4pm Sunday 17 May 2020  (set P3)

15

(all group)

Interim report 2

11am Thursday 28 May 2020 (set P2)

11am Friday 29 May 2020 (set P3)

15

 (7 group 8 individual)

Final report

4pm Wednesday 3 June 2020 (set P2)

4pm Thursday 4 June 2020 (set P3)

50

(all individual)

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 04/10/2019 14:03

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

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

Engineering Tripos Part IIA Project, GF1: Control Systems, 2025-26

Leader

F Forni

Timing and Structure

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

Prerequisites

3F1 & 3F2 useful

Aims

The aims of the course are to:

  • The project will involve the modelling and control of an 'evaporator', which is a process used in many industries (eg. dairy products, chemicals).
  • As a first step a simulation model will be built and tested.
  • Then a control system will be designed for the process, and its performance checked by simulating its operation with the evaporator.
  • Modern simulation and analysis software will be used throughout.

Objectives

As specific objectives, by the end of the course students should be able to:

  • To take students through the simulate/analyse/design/test cycle for an industrial control system (unfortunately omitting implementation).
  • To expose students to state-of-the-art software for control engineering.
  • To give students experience of simulating dynamic systems.

Content

For the first three weeks students will work in pairs, with all pairs producing similar simulation models. For the final week, students will work in groups of 4, with each group having the option of using a different methodology for designing the final control system.

Week 1

Familiarisation with Simulink simulation and Matlab software. Familiarisation with description and mathematical model of evaporator. Construction and test of Simulink model of the evaporator.

Week 2

Completion of testing Simulink model of the evaporator. Refining the model. Closing one control loop. First interim report.

Week 3

Initial control design for the whole model. Investigation of performance when model behaviour changes. Investigation of integrator wind-up. Second interim report.

Week 4

Group Activity. Choice of further control system design project. Final report.

Coursework

Coursework Due date Marks

Interim report 1

Friday 22 May 2026 (5pm)  20

Interim report 2

Friday 29 May 2026 (5pm) 

20

Final report

Friday 12 June 2025 (5pm) 

40 (of which 20 are group work)

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 10/04/2026 15:04

Engineering Tripos Part IIA Project, GF1: Control Systems, 2024-25

Leader

F Forni

Timing and Structure

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

Prerequisites

3F1 & 3F2 useful

Aims

The aims of the course are to:

  • The project will involve the modelling and control of an 'evaporator', which is a process used in many industries (eg. dairy products, chemicals).
  • As a first step a simulation model will be built and tested.
  • Then a control system will be designed for the process, and its performance checked by simulating its operation with the evaporator.
  • Modern simulation and analysis software will be used throughout.

Objectives

As specific objectives, by the end of the course students should be able to:

  • To take students through the simulate/analyse/design/test cycle for an industrial control system (unfortunately omitting implementation).
  • To expose students to state-of-the-art software for control engineering.
  • To give students experience of simulating dynamic systems.

Content

For the first three weeks students will work in pairs, with all pairs producing similar simulation models. For the final week, students will work in groups of 4, with each group having the option of using a different methodology for designing the final control system.

Week 1

Familiarisation with Simulink simulation and Matlab software. Familiarisation with description and mathematical model of evaporator. Construction and test of Simulink model of the evaporator.

Week 2

Completion of testing Simulink model of the evaporator. Refining the model. Closing one control loop. First interim report.

Week 3

Initial control design for the whole model. Investigation of performance when model behaviour changes. Investigation of integrator wind-up. Second interim report.

Week 4

Group Activity. Choice of further control system design project. Final report.

Coursework

Coursework Due date Marks

Interim report 1

Friday 23 May 2025 (4pm)  20

Interim report 2

Friday 40 May 2025 (4pm) 

20

Final report

Friday 13 June 2025 (4pm) 

40 (of which 20 are group work)

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 07/04/2025 17:24

Pages

Subscribe to CUED undergraduate teaching site RSS