Jump to content

ADA502 Cloud Computing and Software Systems

Course description for academic year 2023/2024

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 software technologies that can be used to develop systems employing a combination of web application front-ends, cloud-based compute-, communication- and data-storage services, and IoT devices.  This will include coverage of Django, REST APIs and services, HTTP, MQTT, CoAP, WebSockets, and selected services provided by Azure, Amazon EC 2, Google Cloud Platform.  

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 devices
  • 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 front-end web applications providing access to cloud-based applications and data services
  • can assess the applicability of data base paradigms for storage of meta- and sensor data, application data, and for providing cloud-based services
  • can integrate IoT devices with sensor and actuators into cloud-based software systems solutions

General competency

The student

  • can assess the applicability of cloud computing services and middleware in the development of software systems
  • can identify security requirements and standard technology solutions in systems employing cloud computing services and IoT devices
  • can apply automated containerized test and deployment pipelines in the development of software systems

Entry requirements

None

Teaching methods

Lectures, labs on programming, and group work.

Compulsory learning activities

Five programming assignment and one final report based on the assignments.

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

Assessment

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

Examination support material

None

More about examination support material