Timetable information in the Course Catalogue may be subject to change.

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Applied Cloud Programming (INFR11245)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 11 (Year 4 Undergraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
SummaryThis 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-requisitesAs above.
High Demand Course? Yes
Course Delivery Information
Academic year 2023/24, Available to all students (SV1) Quota:  50
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
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:
  1. 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
  2. compare / contrast the differences between architecture styles like IaaS, PaaS, CaaS, SaaS, etc
  3. summarize cloud service offerings by the main providers and evaluate the differences
  4. contrast different contemporary cloud runtime environments
  5. differentiate the need and structure of Continuous Integration / Continuous deployment (CI/CD)-chains in cloud programming
Reading List
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
Course organiserDr Michael Glienecke
Course secretaryMiss Yesica Marco Azorin
Tel: (0131 6)505113
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information