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
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
Module Info
Subject: Computer Science
Level: 4
Module Coordinator: Assoc Professor Avishek Nag
Trimester: Autumn
Credits: 5