|Prerequisites||Students taking this class should have obtained a good mark for CS105 Programming Foundations (60% or more) and ideally have performed well in semester 1 of CS207 Advanced Programming.|
|Availability||Possible elective available only to Computer & Information Sciences students. There are up to 50 places available.|
|Contact||Lectures: 14 | Tutorials/Labs: 20
Assignments/Self study: 56
|Assessment||30% classwork, 70% written 2-hour examination|
|Resit||Resit is by a 2-hour examination.|
|Lecturer||Kostas Liaskos (class contact – the class will be taught by J P Morgan)|
The class will enable students to gain practical experience of agile software delivery and developing for the cloud. Students will learn how great teams work together and how robust dynamic software is created in practice. It will provide them with valuable insights into these important areas, knowledge of cutting-edge development processes, and the opportunity to enhance their software development skills.
On completion of the class, a student should:
- Gain knowledge and understanding of agile software development.
- Gain an understanding of developing software for the cloud.
- Be able to design, implement and test a software application.
- Be able to reflect on the suitability of agile development practices for modern software development environments.
- Be able to critically assess the suitability of software engineering practices for complex, large scale problem domains.
Topics covered will include the following.
- Introduction to agile development techniques and planning.
- Test-Driven Development and group dynamics.
- Developer tools and the software development lifecycle.
- Continuous integration and continuous deployment: concepts, benefits, tools.
- Cloud introduction
- Financial trading: what it means for software developers.
- Cloud Security: cloud for enterprise.
Transferable Skills and Cognitive Ability Learning Outcomes
On completion of the course, a student should be able to:
- Demonstrate an enhanced and broadened programming knowledge and ability.
- Demonstrate the ability to engage in development practices used within industry.
- Present and communicate effectively on work carried out to team members and others.
- Work effectively as a member of a team to build a software-based solution to a problem.
* This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.