INCO - Innovation and Complexity Management

This class is about exploring complexity and innovation through the lens of advanced interactive data visualization. Understanding how to co-evolve complex ecosystems and how to allow for distributed organizing to happen demands a thorough understanding of data visualization techniques. The course builds on basic knowledge in calculus and software development. It builds the basics for developing smart interactive web-based healthcare data displays.

Sessions

  • Backend Lecture: 60min
  • Hands-on: 120 min

  • Project Presentation/Feedback (in 2 Sessions) full time

Course Materials

This course relies on two streams of content from different resources for each of the 90min sessions.

Backend: Web Application Development

The web application development part of the course closely follows:

“0 to Production in Rust” by Luca Palmieri

Phases

  1. Technical Basics and Use Case Definition (October)
  2. Building the System Components (November)
  3. Connecting all Components (December)
  4. Analyzing, Testing, and Optimizing (January)

Schedule:

SessionDateDONEBackend
110.10.[ ]Introduction
217.10.[ ]Backend Technologies
324.10.[ ]Architectures
431.10.[ ]Testing, Monitoring and Analysis
507.11.[ ]Data Storage and HTML Forms
614.11.[ ]Queries and Data Provision
721.11.[ ]Telemetry (Logging)
828.11.[ ]Going Live: Continuous Integration (Devenv, Github, Codespaces)
905.12.[ ]Subscriber Validation and Rejection
1012.12.[ ]Deployments and Zero-Downtime Strategies
1119.12.[ ]Error Handling
1209.01.[ ]Building a Real-Time Backend
1316.01.[ ]Securing our Application

Deliverables

  • As part of the course you need to prepare a Web Application with a real-time data visualization project based on your groups health sensor data project in the Media Management Module.
  • The form of delivery is a two-tier architecture with a backend emitting fhir-compliant json and a frontend using d3.js to visualize and interact on the data. The data transmission for the real-time parts may differ (e.g. pure binary).

Development Checklist & Evaluation Criteria

Levels: Basic (3.0–4.0), Advanced (2.0–3.0), Excellent (1.0–2.0)

PointDo’sDon’tsBasic (3.0–4.0)Advanced (2.0–3.0)Excellent (1.0–2.0)
1. Development Environment SetupUse Git with meaningful commits; configure hooks; ensure environment portabilityHardcode secrets; ignore version controlGit initialized, commits made, env variables/configs separated, code runs across machinesHooks for lint/tests; CI/CD pipeline; reproducible environment with Docker/NixFully automated setup including pre-commit hooks, CI/CD, dependency caching, cross-platform reproducibility, automatic environment validation
2. Unit & Integration TestingCover core logic, edge cases, failure paths; test APIs, DB, FHIRSkip error/edge case tests; brittle test dataUnit + integration tests for core modules and edge casesHigh coverage, mock external services, automated test reportsProperty-based tests, fuzz testing, continuous regression detection, test coverage analytics integrated with CI/CD
3. Configuration ManagementSeparate Dev/Stage/Prod configs; use env variablesHardcode credentials or pathsConfigs exist per environment; app switches manuallyDynamic config loading; secrets managed securely (Vault/KMS)Fully automated config deployment, validation, secrets rotation; environment isolation; CI/CD integration
4. LoggingLog important events, errors, key metrics; structured loggingLog sensitive data in plaintext; missing/excessive logsLogs for errors and key actions; structured with timestampsCentralized logging, correlation IDs, severity levels, dashboardsHIPAA-compliant logging, real-time anomaly detection, alerting, log-driven decision automation
5. Deployment & System ArchitectureUse containers/virtual envs; modular componentsMonolithic deployment; ignore container size/performanceContainerized app; modular architecture; env-specific deploymentOptimized containers; auto-scaling ready; CI/CD pipelineMicroservices with dynamic orchestration, automated scaling, high availability, advanced monitoring, minimal downtime
6. Input Validation & SecurityValidate and sanitize all inputs; reject invalid/malicious dataTrust raw input; allow injections/malformed dataType, format, and range validation; parameterized queriesFull schema validation against FHIR; protection against SQLi, XSS, buffer overflowsAutomated validation pipelines, continuous threat modeling, runtime security monitoring, real-time anomaly detection
7. Error HandlingGracefully handle errors; log meaningfully; avoid crashesSwallow exceptions; expose sensitive infoErrors caught and logged; user messages safeCentralized error handling; categorized errors; recovery from common failuresSelf-healing mechanisms, alerting, retry/backoff, fault isolation in real-time pipelines
8. Authentication & EncryptionStrong auth and session management; encrypt data in transit & at restHardcoded credentials; weak encryptionToken-based auth; TLS; encrypted storageRole-based access control, key rotation, audit loggingZero-trust design; end-to-end encryption; MFA; automated compliance verification; granular auditing
9. Fault-tolerancyHandle network/service failures gracefully; retry; isolate failuresSingle points of failure; crashes on first errorApp recovers from minor errors; basic retry logicCircuit breakers, fallbacks, retries with backoff, redundancyDistributed fault-tolerant architecture; auto-healing, load balancing, graceful degradation, continuous monitoring
10. Compliance with Healthcare Data Standards (FHIR)Model sensor data using FHIR; validate against schemasIgnore standards; expose sensitive data without auditingData modeled using FHIR resources; basic validationFull FHIR compliance, schema validation, audit logsEnd-to-end FHIR system integration; automated compliance checks; interoperability with external FHIR servers; HIPAA-ready logging, encryption, access control