Jump to content

ADA502 Cloud Computing and Software Systems

Course description for academic year 2024/2025

Contents and structure

Cloud computing and the Internet-of-things (IoT) constitute key enabling technologies for digital transformation and most software systems today involve the application of cloud computing services interoperating with IoT devices equipped with sensor and actuators.The course covers methodology and technologies that are used to develop modern software systems, which employ a combination of web application front-ends, cloud-based compute-, middleware-, storage- and security services, and IoT devices.

Technologies, that will be covered include databases (relational and non-relational), networking protocols (TCP, HTTP, WebSockets), messaging (MQTT), distributed architectures (REST APIs, microservices), as well as continuous integration and deployment using Git, Docker, and Kubernetes.

The students will gain experience working with major cloud platforms such as Microsoft Azure, Amazon Web Services (AWS), and Google Cloud Platform (GCP). The programming language used in the course will predominantly be Python.

Learning Outcome

Knowledge

The student

  • can explain cloud computing models and the services provided by common cloud computing platforms
  • can relate the software architectural principles providing the foundation for integrating cloud computing and IoT
  • has a comprehensive overview of the protocols and middleware used to develop IoT and cloud computing software
  • can enumerate the components of IoT devices and associated computing and communication capabilities

Skills

The student

  • can apply frameworks and programming models supporting the deployment of software components on cloud computing platforms
  • can develop web applications providing access to cloud-based applications and data services
  • can assess the applicability of various cloud-based database/storage paradigms for storing sensor-, application-, and meta-data
  • can integrate IoT devices with sensor and actuators into cloud-based software systems solutions by applying appropriate network programming protocols and technologies.

General competency

The student

  • can assess the applicability of cloud-based computing services and middleware in the development of software systems
  • can identify safety and security requirements and apply standard technology solutions in systems employing cloud computing services and IoT devices
  • can apply automated test and deployment pipelines in the development of software systems using state-of-the-art technologies such as containers.

Entry requirements

None

Teaching methods

Lectures, labs on programming, and group work.

Compulsory learning activities

Software product and software technology assignments and one final report based on the assignments.

In order to take the examination all the course requirements must be approved.

The number of assignments will be announced at the beginning of the semester.

Assessment

30-minutes oral exam. Grading scale A-F, where F is a fail.

Examination support material

None

More about examination support material