For a successful career as a software developer, engineering skills enable us to solve complex problems and build innovative solutions.
To deepen your knowledge, you will explore critical tools and practices essential for contemporary software development. You will expand on previous knowledge and deepen your expertise with version control, containerization, continuous integration and deployment technologies. You will learn about the principles of infrastructure-as-code for scalable and maintainable software projects and gain hands-on experience with technologies used in the industry. You will learn how to use profiling and debugging techniques to enable you to analyse, correct, and optimise code more effectively. Hands-on experience with technical aspects such as build systems, as well as the breadth of approaches for effective communication from issue tracking to versioning will empower you to contribute to the complete lifecycle of complex software systems.
By the end of the module, you will be well-equipped with practical knowledge and skills, preparing yourself to contribute meaningfully to modern software engineering projects and navigate the intricacies of collaborative development in dynamic environments, based on experience with real-world scenarios.
Total contact time (Lectures and Classes) 38, Independent Study 112, Assessment Preparation 50
Autumn
Group Software Development Project 1 - 20%
Group Software Development Project 2 - 30%
Examination - 50%
Reassessment Method: Like-for-like - Including composite form of reassessment for failed practical components – Practical individual mini project, and Examination.
On successfully completing the module, students will be able to:
Design and create and use complex software systems.
Apply dynamic analysis tools for system understanding and debugging.
Analyse and critique the software development lifecycle of existing complex software projects.
Evaluate and use modern tooling for developing, testing, and deploying software.
Identify, select, and use the effective techniques to communicate and collaborate with other software engineers.
University of Kent makes every effort to ensure that module information is accurate for the relevant academic session and to provide educational services as described. However, courses, services and other matters may be subject to change. Please read our full disclaimer.