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