Skip to content

spotflow-io/courses-mff-cloud-app-development

Repository files navigation

MFF/NSWI152 - Cloud Application Development - Data Intensive Systems, IoT backends & Observability

This repository contains materials for a subcourse of NSWI152 (Cloud Application Development / Vývoj cloudových aplikací) course at the Faculty of Mathematics and Physics, Charles University in Prague. The subcourse is focused Data Intensive Systems, IoT backends & Observability.

The goal of the subcourse is to:

  • introduce students to the specifics of software engineering for IoT and cloud,
  • give an example of how an IoT solution can be designed on various levels of complexity and
  • to provide an understanding of how fundamental Azure services can be used to implement IoT solutions.

There will be 5 lessons and one semestral project in total. First four lessons will be used to deliver most of the planned content and the last lesson will be dedicated for the presentation of the semestral projects.

Course Outline

  • Lesson 1 (23. 04. 2026)

    • Introduction.
    • Specifics of software engineering for IoT and cloud.
    • Overview of relevant Azure resources - SQL, Functions with HTTP trigger, ARM Templates.
    • Case study (basic solution).
    • For more details visit lesson-1.
  • Lesson 2 (30. 04. 2026)

    • Horizontal vs. vertical scalability.
    • Partitioning & replication.
    • CAP/PACELC theorem.
    • Types, scalability and economic aspects of various storages.
    • Overview of relevant Azure resources - Storage (Tables, Blobs), App Service.
    • Case study (continued - scalable storage).
    • For more details visit lesson-2.
  • Lesson 3 (07. 05. 2026)

    • Asynchronous communication, messaging.
    • Overview of relevant Azure resources - Event Hubs, Service Bus, Functions with Event Hub trigger.
    • Case study (continued - asynchronous communication)
    • For more details visit lesson-3.
  • Lesson 4 (14. 05. 2026)

    • Observability, OpenTelemetry, Instrumentation and Troubleshooting of Cloud Services.
    • Case study (continued - observability).
    • For more details visit lesson-4.
    • Course summary.
    • Semestral project assignment. For more details see Semestral project.
  • Lesson 5 / Presentation (21. 05. 2026)

    • Additional topics.
    • Presentations of semestral projects.

Prerequisites

Students are expected to have a basic understanding of the following topics:

  • computer programming,
  • asymptotic analysis and big O notation,
  • software engineering,
  • databases and indexes,
  • cloud computing.

During the lessons, some topics will be accommpanied with examples in C# programming language. This examples are available in this repository and following software is required to run them:

Semestral project

The semestral project will require students to create a system design for a simple IoT solution. Students are expected to deliver the design in the form of text documents and diagrams. Students can work on the assignment individually or in pairs.

Last lesson of the subcourse will be dedicated to the presentation of the semestral projects. Students who decide to present during this last lesson will have 15 minutes to present their solution followed-up with a discussion. During the discussion, additional questions asked and possible problems in the solution might be resolved. Authors of presented solutions for which all major problems identified are resolved during the discussion will receive the subcourse credit right away. For remaining students, suitable later timeslots will be found to present their projects.

Formal assignments can be found in:

Students presenting during the last lesson will receive one of assignments and the remaining students will receive the other one.

Additional recommended resources

About

Subcourse of NSWI152 (Cloud Application Development) course at the Faculty of Mathematics and Physics, Charles University in Prague. The subcourse, is taught by Spotflow and is focused Data Intensive Systems, IoT backends & Observability.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages