Undergraduate Teaching 2025-26

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

Engineering Tripos Part IIB, 4M21: Software engineering and design (shared with IIA), 2025-26

Module Leader

Dr Elena Punskaya

Lecturer

Dr Elena Punskaya

Lecturer

Professor Per Ola Kristensson

Timing and Structure

Lent term. 16 lectures (including integrated examples classes). Assessment: 100% exam.

Objectives

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

  • Understand the main issues and processes necessary to achieve effective software product development.
  • Understand the benefits of modularity in design, be familiar with the main object oriented analysis and design concepts and processes.
  • Be familiar with formal design tools for object orientated design and analysis.
  • Understand software development methodologies.
  • Understand fundamental properties of users.
  • Have an awareness of user research methods and design theory.
  • Understand and apply user interface design principles.
  • Apply systematic design methods for user interface design and evaluation.

Content

Software forms an important part of many modern engineering products, from telecommunications to automotive to internet-based systems. This course will provide an understanding of the technical and management processes involved in the design of software systems, including human-computer interaction. Software engineering concepts are considered at a range of scales, from the manipulation of object-orientated concepts, through architectural design components, to the building of large complex software systems. 

Software Engineering and Design

  • Concepts behind software design: managing complexity of the software systems and 
minimizing risks.
  • Modularity in design and object-orientated software design and analysis: 
encapsulation, abstraction, polymorphism and inheritance.
  • Formal tools: introduction to UML.
  • Design patterns: frequently occurring design techniques and their role in building 
systems. 
  • Software development methodologies: from waterfall to agile programming.
  • Quality assurance and risk management: testing, automated testing, tools.
  • Software management: project lifecycle, release management, organising 
software teams, software innovation.

Human-Computer Interaction

  • Understanding people: perception, motor control, cognition, needs and motivations.
  • User research: interviews, field research, survey research, unobtrusive research.
  • Interaction: information and control, dialogue, artificial intelligence, tool use, practice.
  • User interfaces: input devices, displays, interaction techniques, commands and navigation, graphical user interfaces, reality-based interaction.
  • Design: design cognition, design processes, design practice.
  • Engineering: engineering processes, systems, safety and risk, engineering methods.
  • Evaluation: analytic methods, think-aloud studies, experiments.

Booklists

Please refer to the Booklist for Part IIB Courses for references to this module, this can be found on the associated Moodle course.

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 04/06/2025 13:33

Engineering Tripos Part IIB, 4M21: Software Engineering and Design, 2024-25

Module Leader

Dr Elena Punskaya

Lecturer

Dr Elena Punskaya

Lecturer

Professor Per Ola Kristensson

Timing and Structure

Lent term. 16 lectures (including integrated examples classes). Assessment: 100% exam.

Objectives

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

  • Understand the main issues and processes necessary to achieve effective software product development.
  • Understand the benefits of modularity in design, be familiar with the main object oriented analysis and design concepts and processes.
  • Be familiar with formal design tools for object orientated design and analysis.
  • Understand software development methodologies.
  • Understand fundamental properties of users.
  • Have an awareness of user research methods and design theory.
  • Understand and apply user interface design principles.
  • Apply systematic design methods for user interface design and evaluation.

Content

Software forms an important part of many modern engineering products, from telecommunications to automotive to internet-based systems. This course will provide an understanding of the technical and management processes involved in the design of software systems, including human-computer interaction. Software engineering concepts are considered at a range of scales, from the manipulation of object-orientated concepts, through architectural design components, to the building of large complex software systems. 

Software Engineering and Design

  • Concepts behind software design: managing complexity of the software systems and 
minimizing risks.
  • Modularity in design and object-orientated software design and analysis: 
encapsulation, abstraction, polymorphism and inheritance.
  • Formal tools: introduction to UML.
  • Design patterns: frequently occurring design techniques and their role in building 
systems. 
  • Software development methodologies: from waterfall to agile programming.
  • Quality assurance and risk management: testing, automated testing, tools.
  • Software management: project lifecycle, release management, organising 
software teams, software innovation.

Human-Computer Interaction

  • Understanding people: perception, motor control, cognition, needs and motivations.
  • User research: interviews, field research, survey research, unobtrusive research.
  • Interaction: information and control, dialogue, artificial intelligence, tool use, practice.
  • User interfaces: input devices, displays, interaction techniques, commands and navigation, graphical user interfaces, reality-based interaction.
  • Design: design cognition, design processes, design practice.
  • Engineering: engineering processes, systems, safety and risk, engineering methods.
  • Evaluation: analytic methods, think-aloud studies, experiments.

Booklists

Please refer to the Booklist for Part IIB Courses for references to this module, this can be found on the associated Moodle course.

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 16/10/2024 12:18

Engineering Tripos Part IIB, 4M21: Software Engineering and Design, 2023-24

Module Leader

Dr E Punskaya

Lecturer

Dr E Punskaya

Lecturer

Professor Per Ola Kristensson

Timing and Structure

Lent term. 16 lectures (including integrated examples classes). Assessment: 100% exam.

Objectives

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

  • Understand the main issues and processes necessary to achieve effective software product development.
  • Understand the benefits of object-oriented analysis and design, its concepts and processes.
  • Be familiar with formal design tools for object orientated design and analysis.
  • Recognise and understand some frequently used design patterns.
  • Understand software development methodologies.
  • Be aware of the principles and processes involved in user interface design.

Content

Software forms an important part of many modern engineering products, from telecommunications to automotive to internet-based systems. This course will provide an understanding of the technical and management processes involved in the design of software systems, including human-computer interaction. Software engineering concepts are considered at a range of scales, from the manipulation of object-orientated concepts, through architectural design components, to the building of large complex software systems. 

Software Engineering and Design

  • Concepts behind software design: managing complexity of the software systems and 
minimizing risks.
  • Object-orientated software design and analysis: 
encapsulation, abstraction, polymorphism and inheritance.
  • Formal tools: introduction to UML.
  • Design patterns: frequently occurring design techniques and their role in building 
systems.
  • Software development methodologies: from waterfall to agile programming.
  • Quality assurance and risk management: testing, automated testing, tools.
  • Software management: project lifecycle, release management, organising 
software teams, software innovation.

Human-Computer Interaction

  • Understanding people: perception, motor control, cognition, needs and motivations.
  • User research: interviews, field research, survey research, unobtrusive research.
  • Interaction: information and control, dialogue, artificial intelligence, tool use, practice.
  • User interfaces: input devices, displays, interaction techniques, commands and navigation, graphical user interfaces, reality-based interaction.
  • Design: design cognition, design processes, design practice.
  • Engineering: engineering processes, systems, safety and risk, engineering methods.
  • Evaluation: analytic methods, think-aloud studies, experiments.

Booklists

Please refer to the Booklist for Part IIB Courses for references to this module, this can be found on the associated Moodle course.

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 30/05/2023 15:35

Engineering Tripos Part IIB, 4M21: Software Engineering and Design, 2022-23

Module Leader

Dr E Punskaya

Lecturer

Dr E Punskaya

Lecturer

Professor Per Ola Kristensson

Timing and Structure

Lent term. 16 lectures (including integrated examples classes). Assessment: 100% exam.

Objectives

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

  • Understand the main issues and processes necessary to achieve effective software product development.
  • Understand the benefits of object-oriented analysis and design, its concepts and processes.
  • Be familiar with formal design tools for object orientated design and analysis.
  • Recognise and understand some frequently used design patterns.
  • Understand software development methodologies.
  • Be aware of the principles and processes involved in user interface design.

Content

Software forms an important part of many modern engineering products, from telecommunications to automotive to internet-based systems. This course will provide an understanding of the technical and management processes involved in the design of software systems, including human-computer interaction. Software engineering concepts are considered at a range of scales, from the manipulation of object-orientated concepts, through architectural design components, to the building of large complex software systems. 

Software Engineering and Design

  • Concepts behind software design: managing complexity of the software systems and 
minimizing risks.
  • Object-orientated software design and analysis: 
encapsulation, abstraction, polymorphism and inheritance.
  • Formal tools: introduction to UML.
  • Design patterns: frequently occurring design techniques and their role in building 
systems.
  • Software development methodologies: from waterfall to agile programming.
  • Quality assurance and risk management: testing, automated testing, tools.
  • Software management: project lifecycle, release management, organising 
software teams, software innovation.

Human-Computer Interaction

  • Understanding people: perception, motor control, cognition, needs and motivations.
  • User research: interviews, field research, survey research, unobtrusive research.
  • Interaction: information and control, dialogue, artificial intelligence, tool use, practice.
  • User interfaces: input devices, displays, interaction techniques, commands and navigation, graphical user interfaces, reality-based interaction.
  • Design: design cognition, design processes, design practice.
  • Engineering: engineering processes, systems, safety and risk, engineering methods.
  • Evaluation: analytic methods, think-aloud studies, experiments.

Booklists

Please refer to the Booklist for Part IIB Courses for references to this module, this can be found on the associated Moodle course.

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 29/09/2022 14:34

Engineering Tripos Part IIB, 4M21: Software Engineering and Design, 2021-22

Module Leader

Dr E Punskaya

Lecturer

Dr E Punskaya

Timing and Structure

Lent term. 16 lectures (including integrated examples classes). Assessment: 100% exam.

Objectives

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

  • Understand the benefits of object-oriented analysis and design, its concepts and processes.
  • Be familiar with formal design tools for object orientated design and analysis.
  • Recognise and understand some frequently used design patterns.
  • Be aware of the process involved in user interface design.
  • Understand software development methodologies.
  • Understand the main issues and processes necessary to achieve effective software product development.
  • Be familiar with main challenges of software innovation and the strategies and opportunities to address them

Content

Software forms an important part of many modern engineering products, from telecommunications to automotive to internet-based systems. This course will provide an understanding of the technical and management processes involved in the design of software systems. Software engineering concepts are considered at a range of scales, from the manipulation of object-orientated concepts, through architectural design components, to the building of large complex software systems. 

Software Design

  • Concepts Behind Software Design: managing complexity of the software systems and 
minimizing risks.
  • Object-Oriented Software Design Principles: abstraction, problem partitioning, how 
to identify components.
  • Object-Orientated, Design and Analysis: classes and objects, 
encapsulation and data hiding, abstraction and inheritance, polymorphism.
  • Formal Tools: introduction to UML.
  • Design Patterns: frequently occurring design techniques and their role in building 
systems.
  • Principles of Good Design and User Interface Design: designing experiences, 
designing for the user, use cases, process and main elements, usability. 
 

Software Systems and Engineering

  • Quality Assurance and Risk Management: testing, automated testing, tools.
  • Software Development Methodologies: from waterfall to agile programming.
  • Software Management: project lifecycle, source code control, code reviews, testing, 
the nightly build, release management, maintenance and refactoring, organising 
software teams.
  • Software Innovation and Entrepreneurship.

Booklists

Please refer to the Booklist for Part IIB Courses for references to this module, this can be found on the associated Moodle course.

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 25/06/2021 13:17

Engineering Tripos Part IIB, 4M21: Software Engineering and Design, 2020-21

Module Leader

Dr E Punskaya

Lecturer

Dr E Punskaya

Timing and Structure

Lent term. 16 lectures (including integrated examples classes). Assessment: 100% exam.

Objectives

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

  • Understand the benefits of object-oriented analysis and design, its concepts and processes.
  • Be familiar with formal design tools for object orientated design and analysis.
  • Recognise and understand some frequently used design patterns.
  • Be aware of the process involved in user interface design.
  • Understand software development methodologies.
  • Understand the main issues and processes necessary to achieve effective software product development.

Content

Software forms an important part of many modern engineering products, from telecommunications to automotive to internet-based systems. This course will provide an understanding of the technical and management processes involved in the design of software systems. Software engineering concepts are considered at a range of scales, from the manipulation of object-orientated concepts, through architectural design components, to the building of large complex software systems. 

Software Design (10L)

  • Concepts Behind Software Design: managing complexity of the software systems and 
minimizing risks.
  • Object-Oriented Software Design Principles: abstraction, problem partitioning, how 
to identify components.
  • Object-Orientated, Design and Analysis: classes and objects, 
encapsulation and data hiding, abstraction and inheritance, polymorphism.
  • Formal Tools: introduction to UML.
  • Design Patterns: frequently occurring design techniques and their role in building 
systems.
  • Principles of Good Design and User Interface Design: designing experiences, 
designing for the user, use cases, process and main elements, usability. 
 

Software Systems and Engineering (6L)

  • Quality Assurance and Risk Management: testing, automated testing, tools.
  • Software Development Methodologies: from waterfall to agile programming.
  • Software Management: project lifecycle, source code control, code reviews, testing, 
the nightly build, release management, maintenance and refactoring, organising 
software teams.
  • Software Innovation and Entrepreneurship.

Booklists

Please refer to the Booklist for Part IIB Courses for references to this module, this can be found on the associated Moodle course.

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 01/09/2020 10:45

Engineering Tripos Part IIB, 4M21: Software Engineering and Design, 2019-20

Module Leader

Dr E Punskaya

Lecturer

Dr E Punskaya

Timing and Structure

Lent term. 16 lectures (including integrated examples classes). Assessment: 100% exam.

Objectives

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

  • Understand the benefits of object-oriented analysis and design, its concepts and processes.
  • Be familiar with formal design tools for object orientated design and analysis.
  • Recognise and understand some frequently used design patterns.
  • Be aware of the process involved in user interface design.
  • Understand software development methodologies.
  • Understand the main issues and processes necessary to achieve effective software product development.

Content

Software forms an important part of many modern engineering products, from telecommunications to automotive to internet-based systems. This course will provide an understanding of the technical and management processes involved in the design of software systems. Software engineering concepts are considered at a range of scales, from the manipulation of object-orientated concepts, through architectural design components, to the building of large complex software systems. 

Software Design (10L)

  • Concepts Behind Software Design: managing complexity of the software systems and 
minimizing risks.
  • Object-Oriented Software Design Principles: abstraction, problem partitioning, how 
to identify components.
  • Object-Orientated, Design and Analysis: classes and objects, 
encapsulation and data hiding, abstraction and inheritance, polymorphism.
  • Formal Tools: introduction to UML.
  • Design Patterns: frequently occurring design techniques and their role in building 
systems.
  • Principles of Good Design and User Interface Design: designing experiences, 
designing for the user, use cases, process and main elements, usability. 
 

Software Systems and Engineering (6L)

  • Quality Assurance and Risk Management: testing, automated testing, tools.
  • Software Development Methodologies: from waterfall to agile programming.
  • Software Management: project lifecycle, source code control, code reviews, testing, 
the nightly build, release management, maintenance and refactoring, organising 
software teams.
  • Software Innovation and Entrepreneurship.

Booklists

Please see the Booklist for Group M Courses for references for this module.

 

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 31/05/2019 12:21

Pages

Subscribe to CUED undergraduate teaching site RSS