Undergraduate Course: Applied Cloud Programming (INFR11245)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Credit level (Normal year taken) | SCQF Level 11 (Year 4 Undergraduate) |
Availability | Available to all students |
SCQF Credits | 10 |
ECTS Credits | 5 |
Summary | This course provides students with a hands-on introduction to programming in the cloud environment, contemporary tools and technologies and their application in individual software projects.
Students will gain the experience needed to differentiate between different architecture styles (like CaaS, SaaS, IaaS, PaaS, etc.) and explain the basic building blocks of cloud programming like containerization, micro-services, event-processing and the various communication protocols and methodologies used. They will be able to summarize cloud service offerings by the main providers like Amazon, Azure, Google and IBM and contrast differences and explain the need and structure of CI/CD-chains in cloud programming. |
Course description |
The course gives students experience in developing in cloud environments with their special requirements and the current toolset used. In this way, the course provides a working foundation and overview for later in-depth experiences in more specialized areas of cloud-programming.
All implementations are done in Java; some extra information (non-assessed) will be provided in Golang, Rust or other suitable languages for the problem at hand, thus exposing and equipping the student further in cloud-programming specific technologies.
In particular, the student gains practical experience of:
- Identifying cloud specific problems, patterns and solutions
- Understanding available tools and their application
- Identifying and formalising project requirements
- Identifying the most suitable toolsets and language environments to use for a given problem
- Constructing a detailed design which does not over-commit to implementation detail
- Implementing and testing a software application which realises the design
- Experimenting with the implementations to explore the solutions to the computational problems
- Writing a report which documents the solutions and the implementation
|
Entry Requirements (not applicable to Visiting Students)
Pre-requisites |
|
Co-requisites | |
Prohibited Combinations | Students MUST NOT also be taking
Applied Cloud Programming (UG) (INFR11249)
|
Other requirements | MSc students must register for this course, while Undergraduate students must register for INFR11249 instead..
Solid working knowledge of Java, Go or C# to accomplish the coursework. |
Information for Visiting Students
Pre-requisites | The nature of this course means that assessment is only possible while the course is running. Any students entitled to a resit (e.g., visiting students, resits for professional purposes, ordinary degree students, or students with null sits) would need to retake the course in the following academic year. |
High Demand Course? |
Yes |
Course Delivery Information
|
Academic year 2024/25, Available to all students (SV1)
|
Quota: 57 |
Course Start |
Semester 2 |
Timetable |
Timetable |
Learning and Teaching activities (Further Info) |
Total Hours:
100
(
Lecture Hours 14,
Seminar/Tutorial Hours 2,
Supervised Practical/Workshop/Studio Hours 2,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
80 )
|
Assessment (Further Info) |
Written Exam
0 %,
Coursework
100 %,
Practical Exam
0 %
|
Additional Information (Assessment) |
The coursework will be divided in 2 submissions:
CW1 will involve implementing a typical (rather small) problem scenario of the objectives discussed.
CW2 will involve implementing a typical, but more complex problem scenario of the objects discussed. In addition, there will be an essay (around 1,500 words) which assesses the students' critical evaluation skills
The nature of this course means that assessment is only possible while the course is running. Any students entitled to a resit (e.g., visiting students, resits for professional purposes, ordinary degree students, or students with null sits) would need to retake the course in the following academic year. |
Feedback |
A standard mid-semester course survey will be distributed during the course lectures. Feedback from this will be distributed as a report which is made available from the course web page.
Assessment results for CW1 and CW2 will be made available using standard UoE mechanisms.
To provide general feedback and feedforward suggestions relating to part 2 of the submission, a general discussion will be done in a lecture following the last submission date of part 1.
There a sample solution and an example reflective essay will be presented, as well as common errors and mistakes made, discussed with time for Q&A for the students. Students will also receive some individual feedback on their submissions. |
No Exam Information |
Learning Outcomes
On completion of this course, the student will be able to:
- implement the basic building blocks of cloud programming like containerization, micro-services, event-processing and cloud data storage using standard service offerings by the main cloud providers in combination with several communication protocols
- compare / contrast the differences between architecture styles like IaaS, PaaS, CaaS, SaaS, etc
- summarize cloud service offerings by the main providers and evaluate the differences
- contrast different contemporary cloud runtime environments
- differentiate the need and structure of Continuous Integration / Continuous deployment (CI/CD)-chains in cloud programming
|
Additional Information
Graduate Attributes and Skills |
- Research and enquiry: problem-solving, critical/analytical thinking, knowledge integration
- Personal effectiveness: planning and organizing, flexibility and change management
- Personal responsibility and autonomy: independent learning, creativity, decision-making
- Communication: written |
Keywords | Practical,Cloud,Programming,Kubernetes |
Contacts
Course organiser | Dr Michael Glienecke
Tel:
Email: michael.glienecke@ed.ac.uk |
Course secretary | Miss Yesica Marco Azorin
Tel: (0131 6)50 5194
Email: ymarcoa@ed.ac.uk |
|
|