arrow-left

Find Modules

COMP41670 Software Engineering

COMP41670 examines software engineering practice in an era where AI tools routinely produce the first draft of code. Using Java 21, students learn to design, build, test, and defend non-trivial software systems, and develop the critical judgment to evaluate AI-generated code for correctness, security, and long-term maintainability. The module applies a consistent evaluation framework (the Five Questions: does it compile, is the logic right, are invariants preserved, is the design sound, would it survive review) across object-oriented design (encapsulation, inheritance, SOLID, design patterns), testing and technical debt, security (the OWASP AI risk categories), specification and contracts, and the ethical and legal dimensions of AI-assisted development. Assessment weights individually verified performance — an invigilated code-review exam, a closed-book written exam, and an individual project viva — so AI-assisted coursework builds skill without becoming the sole measure of it. Students complete a team-based software project (teams of 4–5) building a Java system from a written specification, with each member individually defending their design decisions and AI use in a project viva.
Show More

REVIEWSMODULE INFO

@anonymous
2 years, 9 months ago

80% project based which is ideal for a software module (develop 2 games (10%, 70%))

REVIEWSMODULE INFO

Subject: Computer Science

Level: 4

Module Coordinator: Assoc Professor Avishek Nag

Trimester: Autumn

Credits: 5

Old info?

Module Info

Subject: Computer Science

Level: 4

Module Coordinator: Assoc Professor Avishek Nag

Trimester: Autumn

Credits: 5

Old info?