Course - Cloud Technologies - PROG2005
Cloud Technologies
Assessments and mandatory activities may be changed until September 20th.
About
About the course
Course content
The field of cloud computing and cloud technologies is dynamic and highly interdisciplinary, capturing aspects of programming, operations, economics, management as well as being constrained by social and legal considerations. This course aims at developing a comprehensive picture of the decision factors and aspects relevant to cloud technology, ensuring that students are able to situate ongoing innovations in this area There are some fundamental concepts that stay relatively unchanged, and there is an innovation in tools and technologies that often change. Due to those characteristics, the course lectures are subject to change, based on contemporary market adjustments. The typical coverage includes, but is not limited to:
- Architectural Types and Principles (IaaS, PaaS, SaaS)
- Cloud Technologies (Processing, Storage, Network, Virtualisation)
- API Standards (e.g., REST) and Standardisation Bodies (i.e., IETF)
- Cloud Vendors and Economics of Cloud Services (Business models, Pricing models, Service-level agreements)
- Cloud Operations Basics
- Development and Deployment of Cloud Applications
Learning outcome
At the end of the course students shall possess specialized knowledge and skills:
Knowledge
- Understand fundamentals of networking relevant to cloud technologies
- Understand cloud operations, requirements and challenges
- Differentiate SaaS, PaaS, and IaaS with respect to functionality and design choice
- Understand motivations underlying the use of cloud technology (e.g., economic aspects)
- Understand the social and legal implications of cloud computing
- Be familiar with a typical service portfolio offered by public cloud providers (e.g., AWS, GCP, Azure)
- Be familiar with relevant API standards (e.g., REST) and the concept of standardisation bodies
- Be familiar with relevant data transmission formats (e.g., JSON)
Skills
- Be able to discuss cloud technologies and concepts related to SaaS, PaaS, IaaS
- Be able to design RESTful service APIs
- Be able to conceptualise cloud-based solutions for a given problem and/or domain
- Be able to evaluate cloud vendors under consideration of economic, legal and security considerations
- Be able to program against third-party APIs
- Be able to deploy and operate developed cloud services
General competence
- Have improved programming abilities
- Perform, discuss and reflect on constructive code reviews
- Be able to discuss solutions with network and cloud computing administrators, as well as general audience
- Be able to reflect on social, ethical, economic, legal and security concerns more broadly
Learning methods and activities
- Lectures
- Web-based learning (e.g., videos)
- Assignments
- Various cloud-related topics presented and discussed in this course, specific topics are subject to contemporary developments and available expertise
Compulsory assignments
- Compulsory assignment
Further on evaluation
Several evaluated exercises contribute toward the portfolio grade, all of these require a serious attempt (equate to at least passing grade for each submitted exercise - which corresponds to meeting the oblig for the course; submitting an empty or limited solution, but overcompensating otherwise is not sufficient). In addition, the students need to participate in peer review, and are encouraged to further engage proactively (e.g., posting/supporting other students via issue tracking). The portfolio mark is formed by a combination of those components and comprises 60 percent of the final grade.
The written exam (40 percent) consists of a combination of multiple choice questions as well as short answer questions that draw on lecture/class-room discussion content (spoken and written content).
Resit examination (written exam) generally occurs in August, and depending on number of students, may be held in written or oral form.
There is no resit for the portfolio.
Approval of selected components of a previous year's portfolio (in the case of retaking the course) may be possible depending on the shift in course content. This is subject to discussion with the coordinator.
Specific conditions
Admission to a programme of study is required:
Computer Science - Engineering (BIDATA)
Programming (BPROG)
Recommended previous knowledge
- Background in programming
- Algorithms and data structures
- Operating systems
- Networking foundations
- Recommended courses:
- Object-Oriented Programming or equivalent
Required previous knowledge
Fundamental Programming or equivalent
Course materials
Publications and relevant teaching materials, including lecture information, and software, are available on the Course LMS (generally Gitlab) introduced during the first week of the course.
Subject areas
- Information Technology and Informatics