Course Description
Course Name
Software Engineering
Session: VLNS3425
Hours & Credits
Prerequisites & Language Level
Taught In English
- There is no language prerequisite for courses at this language level.
Overview
Software Engineering explores the modern methods, tools, and culture of the software development industry. The module focuses on students forming agile teams that work together to deliver a software product using iterative methods. The module begins by examining software lifecycle models, focusing on agile and forming of Scrum teams. The methods are continued with exploration of lean software development, DevOps, and Kanban. The module requires students to deliver software using modern tools, such as an Integrated Development Environment (IDE) such as Visual Studio or IntelliJ, containerisation tools such as Docker, and cloud delivery platforms such as Google Cloud Engine, Amazon Web Services, and Azure. These tools provide a technology stack from which students will deliver their software solution, using appropriate requirements analysis via UML and user stories, and testing methods built into a continuous integration tool. Software Engineering is completed with an examination of ethical and professional issues of software engineering, including legal and security considerations.
Software Engineering blends the tools, methods, and cultural ideals of modern software engineering to deliver a cohesive experience aimed at emulating how a modern software development team works. Although the tools are necessary to allow students to gain experience in delivering software, the core learning is in team-working methods and managing how to deliver a project. The technology is interchangeable based on different tool preferences.
Software Engineering builds on the cooperative technique of pair-programming used throughout the Software Development theme. Software Engineering introduces team-working practices to the students, which are used in the second module of the Software Engineering theme: Data Engineering. Software Engineering also continues the tools learning from the Software Development theme, expanding what an IDE can do, and exploring how cloud-based solutions are delivered. The idea of a technology stack is continued into the Data Engineering module.
*Course content subject to change