Welcome to the Advanced Software Engineering course! This course is designed to provide you with a deep understanding of software engineering principles, practices, and techniques.
- LO1: Critically apply software engineering principles and techniques to software engineering problems, taking into account recent advances in the field;
- LO2: Analyse, develop and evaluate a software artefact from inception to deployment employing professional engineering approaches to developing software systems and taking into account entrepreneurial considerations;
- LO3: Demonstrate and apply a critical understanding of the role of software engineers in the development of software systems;
- LO4: Apply social, ethical and professional practices and critically analyse their applicability to current software engineering systems.
The course covers the following topics:
- Software Engineering Methodologies
- Software Requirement Engineering
- Software Architecture Design/Modelling
- Component Based Software Development
- Human Computer Interaction (HCI)
- Software Testing/Evaluation
- DevOps and CI/CD
- Project Management & Planning
- Legal, Ethical and Professionalism
- Object Oriented Programming in Python and OOP Exercises - Week 2 and 3 of the module
- Developing requirements specification - Week 4 of the module
- System design/modelling using UMLs - Week 6 of the module
- Create Python library for software reuse and component-based engineering - Week 7 of the module
- List of Open Source Projects for Assignment 2
More content is introduced as we progress in the module