Server Cloud und zuverlässiger IT-Betrieb – Dienste mit reproduzierbarer Konfiguration einrichten
Server Cloud und zuverlässiger IT-Betrieb – Dienste mit reproduzierbarer Konfiguration einrichten
QR-Code
Server Cloud und zuverlässiger IT-Betrieb – Dienste mit reproduzierbarer Konfiguration einrichten
Einleitung
Zielgruppe: IT-Ausbildung (z. B. Fachinformatik Systemintegration) · Umfang: ca. 60–90 Minuten · Voraussetzung: Python 3, Texteditor, lokaler Rechner.
Dein Auftrag: Richte einen kleinen Statusdienst so ein, dass seine Einstellungen dokumentiert, prüfbar und wiederherstellbar sind. Du arbeitest ausschließlich in einer fiktiven, lokalen Laborumgebung.
Sicherheitsregel: Keine fremden Netze, Cloud-Konten, Produktivsysteme, Zugangsdaten oder Kundendaten verwenden. Das Labor legt nur temporäre Dateien an und kontaktiert für den HTTP-Test ausschließlich die eigene Loopback-Adresse 127.0.0.1. Die absichtlich unsichere Adresse 0.0.0.0 erscheint nur als Text in einer Testdatei; an sie wird niemals ein Dienst gebunden. Der Python-Testserver ist nicht für den Produktivbetrieb geeignet.

Echte Servertechnik als Kontext – Du veränderst im Kurs keine reale Serveranlage.
Ausbildungsfall und Lernpfad
Ausbildungsfall: Die fiktive Firma Musterwerk braucht einen internen Statusdienst demo-health. Bei einer manuellen Änderung wurde versehentlich die Netzbindung erweitert und der Debugmodus eingeschaltet. Du erkennst die Abweichung, stoppst eine unsichere Freigabe und stellst den dokumentierten Sollzustand wieder her.
| Kurze Lerneinheit | Zeit | Dein Ergebnis |
|---|---|---|
| 1. Dienst und Netz | 8 min | Architektur verstehen |
| 2. Sichere Parameter | 10 min | Soll-Konfiguration prüfen |
| 3. Änderungsprozess | 8 min | Drift und Idempotenz erklären |
| 4. Lokales Python-Labor | 20 min | Drift, Audit, Reparatur ausführen |
| 5. Test und Daten | 8 min | Healthcheck belegen |
| 6. Transfer und Reflexion | 8 min | Änderung begründet freigeben oder ablehnen |
Lerneinheit 1: Was läuft wo?
Ein Serverdienst beantwortet Anfragen eines Clients. Cloud Computing stellt unter anderem Rechenressourcen als Dienst bereit; das Prinzip Sollzustand statt Handarbeit gilt auch lokal.

Beobachte: Anfrage und Antwort sind verschiedene Schritte.

Cloud-Darstellung als Architekturmodell; das Labor selbst nutzt keine Cloud.
Merksatz: Ein funktionierender Dienst ist noch nicht automatisch sicher oder reproduzierbar.
IBM Technology: „What is Infrastructure as Code?“ – optionales Erklärvideo (Englisch).
Lerneinheit 2: Baseline und sichere Vorgaben
Eine Baseline ist die freigegebene Referenz. Ist bezeichnet die tatsächlich vorliegende Konfiguration. Drift ist eine Abweichung.
| Parameter | Sollwert im Labor | Zweck / Prüfregel |
|---|---|---|
bind |
127.0.0.1 |
Nur lokal binden, nicht von außen erreichbar machen |
port |
0 |
Betriebssystem wählt einen freien lokalen Testport |
debug |
false |
Keine Debugausgaben als Standard |
health_path |
/health |
Nur den definierten Prüfpfad anbieten |
Wichtig: Die zufällige Portnummer darf pro Lauf wechseln; reproduzierbar sind Vorgabe, Prüfverfahren und Dienstverhalten, nicht die zufällig zugeteilte Nummer. Der SHA-256-Wert im Bericht kennzeichnet die Soll-Dateiinhalte; er ist keine digitale Signatur und ersetzt keine Zugriffskontrolle.

Firewall-Schema für den späteren echten Betrieb. Im Labor ersetzt es keine Netzfreigabe: Es wird ausschließlich Loopback verwendet.
Mini-Entscheidung: Ist 0.0.0.0 hier sicher? Nein. Diese Bindung könnte alle IPv4-Schnittstellen öffnen; unser Prüfprogramm weist sie deshalb zurück.
Lerneinheit 3: Änderungen kontrollieren
Arbeitsfolge: Soll dokumentieren → Änderung prüfen → lokal testen → Ergebnis begründen → erst dann freigeben → Abweichung überwachen.


Versionsverwaltung macht Änderungshistorien nachvollziehbar. Eine lokale Datei ist noch kein freigegebener produktiver Rollout.
Idempotenz: Wiederholtes Anwenden desselben Sollzustands führt zu keiner weiteren Änderung. Rollback: Bei einem Problem wird ein zuvor freigegebener Zustand wiederhergestellt.
IBM Technology: „What is Ansible?“ – achte besonders auf Playbooks, deklarative Vorgaben und Idempotenz.
Lerneinheit 4: Interaktives Labor ohne Fremdnetz
Benötigt: Python 3.8 oder neuer, keine Zusatzpakete. Speichere den folgenden vollständigen Code als labor.py. Nur auf Deinem lokalen Rechner bzw. in einer ausdrücklich genehmigten Übungs-VM ausführen.
Zwei voneinander getrennte Prüfpfade: (A) reine JSON-Konfiguration in einem temporären Ordner; (B) kurzlebiger HTTP-Test auf 127.0.0.1 mit einem dynamischen Port. Die Testdateien werden beim Beenden gelöscht.
from hashlib import sha256
from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
from pathlib import Path
from tempfile import TemporaryDirectory
from threading import Thread
from urllib.request import ProxyHandler, build_opener
import json
import sys
SOLL = {
"bind": "127.0.0.1",
"port": 0,
"debug": False,
"health_path": "/health",
}
def speichern(pfad, daten):
pfad.write_text(json.dumps(daten, indent=2, sort_keys=True), encoding="utf-8")
def laden(pfad):
return json.loads(pfad.read_text(encoding="utf-8"))
def fehler(ist):
probleme = []
if set(ist) != set(SOLL):
probleme.append("Schluesselmenge ungleich Soll")
if ist.get("bind") != "127.0.0.1":
probleme.append("Bind-Adresse nicht lokal")
if type(ist.get("port")) is not int or ist["port"] != 0:
probleme.append("Port nicht dynamisch")
if ist.get("debug") is not False:
probleme.append("Debug-Modus aktiv oder unklar")
if ist.get("health_path") != "/health":
probleme.append("Health-Pfad abweichend")
return probleme
def pruefbericht(ist):
abweichungen = {
k: {"soll": v, "ist": ist.get(k)}
for k, v in SOLL.items() if ist.get(k) != v
}
return {
"passend": sum(ist.get(k) == v for k, v in SOLL.items()),
"gesamt": len(SOLL),
"abweichungen": abweichungen,
"freigabe": not fehler(ist),
"gruende": fehler(ist),
"soll_sha256": sha256(
json.dumps(SOLL, sort_keys=True).encode("utf-8")
).hexdigest(),
}
def healthcheck(ist):
if fehler(ist):
return "GESPERRT: unsichere oder unklare Konfiguration"
class NurHealth(BaseHTTPRequestHandler):
def do_GET(self):
if self.path != "/health":
self.send_error(404)
return
antwort = b'{"status":"ok"}'
self.send_response(200)
self.send_header("Content-Type", "application/json")
self.send_header("Content-Length", str(len(antwort)))
self.end_headers()
self.wfile.write(antwort)
def log_message(self, format, *args):
pass
with ThreadingHTTPServer(("127.0.0.1", 0), NurHealth) as server:
thread = Thread(target=server.serve_forever, daemon=True)
thread.start()
try:
opener = build_opener(ProxyHandler({}))
url = f"http://127.0.0.1:{server.server_port}/health"
with opener.open(url, timeout=2) as antwort:
korrekt = (antwort.status == 200 and
json.loads(antwort.read(100)) == {"status": "ok"})
return "OK: lokaler Healthcheck" if korrekt else "FEHLER: Healthcheck"
finally:
server.shutdown()
thread.join(timeout=2)
def selbsttest():
assert fehler(SOLL) == []
assert pruefbericht(SOLL)["passend"] == 4
assert pruefbericht(SOLL)["abweichungen"] == {}
drift = dict(SOLL, bind="0.0.0.0", debug=True)
assert pruefbericht(drift)["passend"] == 2
assert not pruefbericht(drift)["freigabe"]
assert healthcheck(drift).startswith("GESPERRT")
assert healthcheck(SOLL).startswith("OK")
assert fehler({**SOLL, "fremd": "wert"})
print("8/8 lokale Pruefungen bestanden")
def menue():
with TemporaryDirectory(prefix="aimooc_lab_") as ordner:
soll = Path(ordner) / "soll.json"
ist = Path(ordner) / "ist.json"
speichern(soll, SOLL)
speichern(ist, SOLL)
while True:
print("\n1 Soll 2 Drift 3 Audit 4 Reparatur 5 HTTP-Test 0 Ende")
wahl = input("Wahl: ").strip()
if wahl == "0":
break
if wahl == "1":
print(soll.read_text(encoding="utf-8"))
elif wahl == "2":
daten = laden(ist)
daten.update({"bind": "0.0.0.0", "debug": True})
speichern(ist, daten)
print("Nur Testdatei veraendert; keine externe Bindung")
elif wahl == "3":
print(json.dumps(pruefbericht(laden(ist)), indent=2))
elif wahl == "4":
vorher = laden(ist)
speichern(ist, SOLL)
print("Geaendert" if vorher != SOLL else "Unveraendert")
elif wahl == "5":
print(healthcheck(laden(ist)))
else:
print("Bitte 0 bis 5 waehlen")
print("Temporaere Dateien entfernt")
if __name__ == "__main__":
if sys.argv[1:] == ["--selftest"]:
selbsttest()
elif len(sys.argv) == 1:
menue()
else:
print("Nutzung: python3 labor.py [--selftest]")
raise SystemExit(2)Start und Selbsttest:
python3 labor.py --selftest
python3 labor.pyUnter Windows kann der Python-Starter py statt python3 heißen.
Teste genau diese Eingabefolge: 1 → 3 → 5 → 2 → 3 → 5 → 4 → 4 → 3 → 0. Die Zahl 2 verändert nur die temporäre Ist-Datei; die spätere Startprüfung verweigert eine unsichere Konfiguration.
| Schritt | Erwartetes Feedback | Begründung |
|---|---|---|
| Selbsttest | 8/8 lokale Pruefungen bestanden |
Sollwerte, Drift, Sperre und lokaler Healthcheck wurden getestet |
| Audit vor Drift | passend: 4 und freigabe: true |
Alle dokumentierten Parameter stimmen überein |
| Audit nach Drift | passend: 2 und freigabe: false |
Bindung und Debugmodus verletzen die Vorgaben |
| HTTP-Test nach Drift | GESPERRT |
Keine unsichere Testinstanz starten |
| Zweite Reparatur | Unveraendert |
Wiederherstellung ist idempotent |
| Audit nach Reparatur | passend: 4 |
Der Ausgangszustand ist erneut erreicht |
Gestufte Hilfen zum Ausbildungsfall
- Hilfe 1 – Frage: Welche zwei Werte unterscheiden sich nach Wahl
2? Prüfe die Felderbindunddebug. - Hilfe 2 – Spur: Wahl
3zeigtabweichungenundgruende. Frage Dich, warum ein Start beifreigabe: falseverhindert wird. - Hilfe 3 – Lösung: Wahl
4schreibt die erlaubte Baseline zurück. Bei der zweiten Wiederholung entsteht keine weitere Änderung:Unveraendert.
Lerneinheit 5: Daten sichtbar machen und bewerten
Visualisierte Falldaten: Diese Zahlen ergeben sich aus den vier festgelegten Parametern des Demoablaufs und sind kein gemessener Produktionsbenchmark.
| Zustand | Passende Vorgaben | Ansicht | Entscheidung |
|---|---|---|---|
| Ausgangslage | 4 von 4 | 🟩🟩🟩🟩 | Laborfreigabe |
| Simulierte Drift | 2 von 4 | 🟩🟩⬜⬜ | Sperren |
| Nach Reparatur | 4 von 4 | 🟩🟩🟩🟩 | Erneut testen |
Zweites lauffähiges Beispiel: Speichere als balken.py; es visualisiert nur fiktive Kurswerte und öffnet keine Netzwerkverbindung.
daten = (("Ausgang", 4), ("Drift", 2), ("Reparatur", 4))
for phase, wert in daten:
print(f"{phase:10} {'#' * wert}{'.' * (4 - wert)} {wert}/4")python3 balken.py
Automatische Tests geben Rückmeldung, ersetzen aber weder Risikoabwägung noch Freigabe.

Zuverlässiger Betrieb verbindet Entwicklung, Betrieb und Qualitätssicherung.
IBM Technology: „What is Site Reliability Engineering?“ – Automatisierung und Zuverlässigkeit.
Lerneinheit 6: Transfer in den echten IT-Betrieb
Eine Laborfreigabe ist keine Produktivfreigabe. Im realen IT-Betrieb kommen unter anderem rollenbasierte Rechte, sicher verwaltete Geheimnisse, TLS, Patchstand, Backup, Änderungsfreigabe und nachvollziehbare Betriebsüberwachung hinzu. Diese Maßnahmen sind hier nicht implementiert.

Transferfrage: Welche zusätzlichen Freigaben wären für einen wirklichen Server notwendig?
Merksatz: Baseline + Validierung + Test + dokumentierte Entscheidung + Rückfallplan sind die Grundlage für kontrollierbare Änderungen.
Interaktive Aufgaben
Quiz: Teste Dein Wissen
Wozu dient eine freigegebene Baseline? (Als dokumentierter Sollzustand) (!Als geheimes Passwort) (!Als zufällig gewählter Port) (!Als Ersatz für Tests)
Welche Bind-Adresse darf das Labor verwenden? (127.0.0.1) (!0.0.0.0) (!192.0.2.10) (!255.255.255.255)
Warum steht in der Laborvorgabe Port 0? (Das Betriebssystem wählt einen freien Port) (!Der Dienst wird öffentlich erreichbar) (!Alle Netzports werden gesperrt) (!Der Dienst braucht kein Netzwerk)
Was ist Konfigurationsdrift? (Eine Abweichung vom Sollzustand) (!Eine neue Python Version) (!Eine Sicherungskopie) (!Eine erfolgreiche Freigabe)
Was passiert bei unsicherer Ist-Konfiguration? (Der lokale HTTP-Test wird gesperrt) (!Die Bindung wird automatisch öffentlich) (!Die Testdateien werden ins Internet gesendet) (!Die Sollwerte werden heimlich geändert)
Woran erkennst Du in diesem Labor Idempotenz? (Eine zweite Reparatur meldet Unveraendert) (!Jeder Durchlauf öffnet einen weiteren Port) (!Der Sollzustand ändert sich bei jedem Start) (!Die Hashfunktion ersetzt den Test)
Was belegt der Healthcheck im Labor? (Der lokale Endpunkt liefert den erwarteten Status) (!Die gesamte Produktionsumgebung ist sicher) (!Die Firewall ist korrekt konfiguriert) (!Ein Backup lässt sich wiederherstellen)
Warum ist der SHA-256-Wert allein kein Freigabenachweis? (Er beweist keine autorisierte Änderung) (!Er erkennt nie identische Dateiinhalte) (!Er ersetzt automatisch die Versionsverwaltung) (!Er schaltet den Debugmodus ein)
Welche Änderungspraxis ist angemessen? (Prüfen dokumentieren freigeben und Rückfall planen) (!Ungeprüft auf fremden Hosts testen) (!Änderungen nur mündlich abstimmen) (!Fehlermeldungen dauerhaft ausblenden)
Welche Daten gehören in den Übungsfall? (Ausschließlich fiktive lokale Testdaten) (!Echte Kundenpasswörter) (!Produktive Zugangsschlüssel) (!Ungefragt kopierte Systemprotokolle)
Begründetes Quiz-Feedback:
| Frage | Warum die obere Antwort richtig ist |
|---|---|
| 1–2 | Baseline ist die Referenz; Loopback begrenzt die Netzbindung auf den eigenen Rechner. |
| 3–4 | Port 0 fordert eine dynamische Portvergabe an; Drift bedeutet Soll-Ist-Abweichung. |
| 5–6 | Fehlkonfigurationen müssen blockiert werden; Wiederholungen dürfen nichts zusätzlich ändern. |
| 7–8 | Ein Healthcheck prüft nur einen Endpunkt; ein Hash ist weder Freigabe noch Signatur. |
| 9–10 | Änderungen brauchen Prüfung und Rückfalloption; Übungen nutzen keine sensiblen Echtdaten. |
Memory
| Baseline | Freigegebener Zielzustand |
| Istkonfiguration | Aktuell vorliegende Parameter |
| Drift | Abweichung vom Zielzustand |
| Idempotenz | Wiederholen ohne Zusatzänderung |
| Loopback | Kommunikation mit dem eigenen Rechner |
| Healthcheck | Kontrolle der Dienstantwort |
| Rollback | Rückkehr zu einem früheren freigegebenen Stand |
Drag and Drop
| Ordne die richtigen Begriffe zu. | Funktion |
|---|---|
| Baseline | Festgelegte Sollkonfiguration |
| Validierung | Sicherheitsvorgaben vor dem Start prüfen |
| Drift | Festgestellte Abweichung |
| Healthcheck | Lokale Dienstantwort prüfen |
| Rollback | Freigegebenen früheren Stand wiederherstellen |
| Idempotenz | Wiederholung ohne weitere Zustandsänderung |
Kreuzworträtsel
| Baseline | Wie heißt eine freigegebene Konfigurationsreferenz? |
| Drift | Wie heißt eine Abweichung vom Sollzustand? |
| Loopback | Wie heißt die lokale Netzwerkschleife? |
| Idempotenz | Wie nennt man die Eigenschaft einer folgenlosen Wiederholung? |
| Healthcheck | Wie heißt die technische Prüfung einer Dienstantwort? |
| Rollback | Wie heißt die Rückkehr zu einem freigegebenen Vorzustand? |
LearningApps
Optionaler öffentlicher Aufgabenindex; keine Echtdaten eingeben. Das Laden externer Inhalte kann Verbindungen zum jeweiligen Anbieter auslösen.
Lückentext
Offene Aufgaben
Hinweis: Alle Projekte ausschließlich lokal und mit fiktiven Informationen bearbeiten. Die Reihenfolge geht von Basis über Anwendung zu Transfer.
Leicht – Basis
- Architekturbild: Zeichne die kurze Anfrage-Antwort-Kette des lokalen Statusdienstes. Nachweis: beschriftete Skizze.
- Parameterkarte: Gestalte vier Karten für
bind,port,debugundhealth_pathmit Zweck und Sollwert. Nachweis: Tabelle. - Sicherheitsampel: Markiere die beiden absichtlich fehlerhaften Parameter nach Wahl
2. Nachweis: Screenshot oder Abschrift ohne Echtdaten. - Statusprotokoll: Führe den Selbsttest aus und notiere, was er belegt und was nicht. Nachweis: drei eigene Sätze.
Standard – Anwendung
- Soll-Ist-Vergleich: Führe Audit vor und nach Drift aus und begründe die unterschiedliche Freigabe. Nachweis: kleine Vergleichstabelle.
- Doppelreparatur: Setze den Sollzustand zweimal und erkläre das Ergebnis der zweiten Ausführung. Nachweis: Testprotokoll.
- Negativtest: Erkläre, warum der HTTP-Test nach Drift gesperrt wird. Nachweis: Entscheidungsdiagramm.
- Änderungsnotiz: Schreibe eine fiktive Change-Beschreibung mit Anlass, Prüfung und Rückfallweg. Nachweis: ausgefülltes Kurzformular.
Schwer – Transfer
- Cloud-Übertragung: Entwirf ein theoretisches Konzept für einen autorisierten Cloud-Test mit Netzwerksegmentierung und Geheimnisverwaltung, ohne irgendeine Cloud anzusprechen. Nachweis: Architekturentwurf.
- Risikovergleich: Vergleiche Loopback-Test und öffentlich gebundenen Dienst anhand Angriffsfläche, Verantwortlichkeit und Teststrategie. Nachweis: begründete Risiko-Matrix.
- Freigabegespräch: Führe ein Rollenspiel mit Ausbilder und Prüfer durch: Soll die absichtlich fehlerhafte Änderung freigegeben werden? Nachweis: dokumentierte Entscheidung.
- Qualitätssicherung: Entwirf eine lokale Prüfkette von Versionskontrolle über Konfigurationstest bis Rückfallplan. Nachweis: selbst gezeichnetes Ablaufdiagramm.


Begründetes Feedback zu den drei Niveaus
| Niveau | Gutes Ergebnis | Warum |
|---|---|---|
| Basis | Richtige vier Vorgaben und ihre Schutzwirkung | Sicherer Betrieb beginnt mit eindeutig dokumentierten Parametern. |
| Anwendung | Drift erkannt, Sperre begründet, zweite Reparatur ohne Änderung | Tests prüfen nicht nur Erfolg, sondern auch den sicheren Fehlerfall. |
| Transfer | Freigabegrenzen, Verantwortlichkeiten und Rückfallkonzept genannt | Eine lokale Demo ersetzt keine betriebliche Sicherheitsarchitektur. |
Lernkontrolle
- Fehlerszenario: Eine Kollegin will den Health-Dienst extern erreichbar machen. Entwickle ein Vorgehen zur Risikoanalyse, ohne die Einstellung selbst zu ändern.
- Sollzustandskonflikt: Zwei Teams haben unterschiedliche Baselines. Entwirf einen Freigabeprozess für eine gemeinsame verbindliche Version.
- Testgrenzen: Der Healthcheck liefert OK, aber Nutzer melden Fehler. Erkläre, welche zusätzlichen Prüfungen erforderlich sein können.
- Wiederholbarkeit: Begründe, warum ein immer wieder „erfolgreiches“ Skript trotzdem ungeeignet sein kann, wenn es bei jedem Lauf Dateien verändert.
- Rückfallentscheidung: Ein Change ist formal korrekt, verschlechtert aber den Dienst. Entwirf Kriterien für Abbruch und Wiederherstellung.
- Datenschutzgrenze: Entwirf ein Testdatenkonzept, das Fehlersuche ermöglicht, ohne Kundeninformationen zu verwenden.
Lernnachweis
Für einen bestandenen Lernnachweis reichst Du nur fiktive, lokal erstellte Unterlagen ein:
- Eine beschriftete Architekturzeichnung mit ausdrücklich lokalem Testpfad.
- Die vier dokumentierten Sollparameter samt kurzer Sicherheitsbegründung.
- Ein lokales Selbsttestergebnis und ein Soll-Ist-Audit vor und nach der Drift.
- Ein begründetes Sperr- und Freigabeprotokoll.
- Den Beleg der zweimaligen Reparatur mit Erklärung der Idempotenz.
- Ein lokales Testprotokoll für
/healthund dessen Grenzen. - Einen fiktiven Change mit Risikoabwägung und Rückfallplan.
Bewertung: Fachrichtigkeit (30 %), sicherer Testaufbau (30 %), Nachvollziehbarkeit (20 %), Transferbegründung (20 %). Keine Zugangsdaten, Kundendaten, fremden Netzwerkadressen oder realen Systemlogs hochladen.
OERs zum Thema
Wikipedia-Lektüre (frei zugängliche Artikel):
Fachliche Primärquellen: NIST SP 800-128: Security-Focused Configuration Management · BSI SYS.1.1: Allgemeiner Server · BSI OPS.1.1.3: Patch- und Änderungsmanagement · Ansible: Wiederholbare Playbooks und Idempotenz · Python-Dokumentation: http.server – keine Produktionslösung · Python-Dokumentation: temporäre Verzeichnisse.
Mediennachweise und Rechte (Wikimedia Commons; Datei- und Lizenzseiten geprüft):
| Verwendete Datei | Urheberangabe | Lizenzwahl |
|---|---|---|
| Server racks | Jemimus | CC BY 2.0 |
| Client-server model | Lubaochuan | CC BY-SA 4.0 |
| CloudComputingNetworkDiagram | Sam Johnston | CC BY-SA 4.0 |
| Firewall | Bruno Pedrozo | CC BY-SA 3.0 |
| Devops-toolchain | Kharnagy | CC BY-SA 4.0 |
| Git operations | Daniel Kinzler und Bearbeitende | CC BY 3.0 |
| Continuous Integration | Pratik89Roy | CC BY-SA 4.0 |
| Devops | Rajiv Pant und Bearbeitende | CC BY 3.0 |
Lizenzhinweis: Die genauen Bedingungen stehen auf jeder verlinkten Dateiseite; Urheber, Lizenz und Änderungen sind bei Weiterverwendung anzugeben. Eingebundene YouTube-Videos stammen vom verifizierten Kanal IBM Technology; die Einbettung bedeutet keine freie Wiederverwendungslizenz. Das Aufrufen externer Medien kann Verbindungen zu deren Plattformen auslösen. Für die Laboraufgaben ist das nicht erforderlich.
Verknüpfte Lernbereiche
aiMOOC-Projekte
Schulfach+


aiMOOCs


aiMOOC Projekte


MOOCwiki · Deutsch
Nach dem Lernen ist vor dem Lernen
Entdecke direkt den nächsten Lernkurs. Weitere Inhalte erscheinen, wenn Du weiter nach unten scrollst.
Zur MOOCwiki-HauptseiteMediathek
Mediathek wird aus dem Wiki geladen ...
Keine passenden Inhalte gefunden. Bitte ändere Suche oder Filter.
NEWSLernweltNOAH fragen