adesso SE · Praktikum 2026
Kapitel 3 von 6

🧮 Algorithmen, Datenstrukturen & Mathe

Die typischen Werkzeuge der Informatik – und warum vieles, was du in der 8. Klasse gelernt hast, hier wieder auftaucht.

3.1
Typische Mittel in der Softwareentwicklung
Von Nullen & Einsen bis zum GUI – Abstraktionsebenen, Algorithmen, Datenstrukturen

🔌 Wie werden aus Nullen & Einsen ein Klick-Button?

Ein Computer versteht nur zwei Zustände: Strom an (1) und Strom aus (0). Alles andere – dein Browser, ein Spiel, eine KI – entsteht durch immer mehr Abstraktionsebenen, die aufeinander aufbauen.

Jede Ebene versteckt die Komplexität der Ebene darunter. Als Entwickler arbeitest du meistens ganz oben – und musst nicht wissen, wie Transistoren funktionieren. Aber es ist faszinierend zu verstehen, wo es herkommt.

🏗️ Analogie: Ein Haus bauen
Du sagst dem Architekten: „Ich will ein großes Wohnzimmer." Du sagst nicht: „Verwende 4.200 Ziegel in Schicht 3." Du arbeitest auf der hohen Abstraktionsebene. Der Architekt, Bauingenieur und Maurer kümmern sich um die Ebenen darunter. In der Informatik ist es genauso: Python-Code → Compiler → Maschinencode → Transistoren.

📐 Von Bits bis GUI – die 8 Abstraktionsebenen

ABSTRAKTION NIMMT ZU ↑ Ebene 0 · Physik & Strom Elektronen fließen oder fließen nicht · 0 V = 0 · 3,3 V = 1 · Milliarden mal pro Sekunde Ebene 1 · Transistoren Winzige Schalter aus Silizium · Milliarden auf einem Chip · schalten in Nanosekunden Ebene 2 · Logikgatter (AND, OR, NOT, XOR) Kombinationen von Transistoren · erzeugen boolesche Logik · Grundlage der CPU Ebene 3 · Maschinencode (Binär) 01001000 10000011 11000000 · direkte CPU-Befehle · für Menschen kaum lesbar Ebene 4 · Assemblersprache MOV AX, 5 · ADD AX, BX · menschenlesbar, aber 1:1 auf CPU-Befehle gemappt Ebene 5 · Hochsprachen (Python, Java, C, C++, …) x = 5 + 3 · if eingeloggt: · for user in users: · Compiler/Interpreter übersetzt in Maschinencode Ebene 6 · Frameworks & Bibliotheken React · Spring · TensorFlow · Django · fertige Bausteine, die du kombinierst Ebene 7 · Anwendung / GUI Was der Nutzer sieht & klickt · Buttons, Formulare, Karten, Animationen 👆 Du arbeitest meist hier

⚙️ Was macht ein Compiler / Interpreter?

Wenn du x = 5 + 3 in Python schreibst, versteht die CPU das nicht direkt. Ein Interpreter (bei Python) oder Compiler (bei C, Java) übersetzt deinen lesbaren Code automatisch in Maschinencode – also in Nullen und Einsen.

Du musst das nicht selbst machen. Das ist der Witz der Abstraktion: Du denkst in Konzepten, der Computer rechnet in Bits.

👨‍💻
Du schreibst
x = 5 + 3
🔧
Compiler / Interpreter
übersetzt automatisch
🖥️
CPU führt aus
01000101 00000011

⚙️ Was ist ein Algorithmus?

Ein Algorithmus ist eine eindeutige, endliche Folge von Anweisungen, um ein Problem zu lösen. Nichts Mystisches – ein Rezept ist ein Algorithmus, eine Schritt-für-Schritt-Wegbeschreibung auch.

In der Informatik sind Algorithmen zum Beispiel: sortieren, suchen, verschlüsseln, komprimieren. Jeder Algorithmus hat eine Eingabe, verarbeitet sie, und liefert eine Ausgabe.

🗂️ Analogie: Karteikarten sortieren
Stell dir vor, du hast 100 unsortierte Karteikarten mit Namen. Wie sortierst du sie?
Insertion Sort: Nimm eine Karte, steck sie an die richtige Position – wie beim Kartenspielen.
Merge Sort: Teile den Stapel immer wieder in zwei Hälften, sortiere jeden Teil einzeln, füge sie zusammen.
Beide Wege führen zum Ziel – aber der zweite ist bei 10.000 Karten viel schneller.

Wie misst man, ob ein Algorithmus gut ist? Mit der Big-O-Notation – sie beschreibt, wie viel langsamer ein Algorithmus wird, wenn die Datenmenge wächst.

⏱️ Big-O – Komplexität auf einen Blick

Notation Name Beispiel Bei 1.000 Elementen Bewertung
O(1) Konstant Array-Element per Index lesen 1 Schritt Optimal
O(log n) Logarithmisch Binäre Suche (sortierte Liste) ~10 Schritte Sehr gut
O(n) Linear Liste von vorne bis hinten durchsuchen 1.000 Schritte Akzeptabel
O(n log n) Linearithmisch Merge Sort, Quick Sort ~10.000 Schritte Gut für Sortierung
O(n²) Quadratisch Zwei verschachtelte Schleifen 1.000.000 Schritte Vermeiden
O(2ⁿ) Exponentiell Alle Kombinationen ausprobieren 10³⁰¹ Schritte 🔥 Nur für kleine n

💡 Tipp: Du musst Big-O nicht auswendig kennen – aber verstehen, dass ein O(n²)-Algorithmus bei großen Datenmengen zum Problem wird.

📦 Datenstrukturen – wie organisiere ich Daten?

Eine Datenstruktur ist eine Methode, Daten so zu speichern, dass man effizient mit ihnen arbeiten kann. Welche Struktur du wählst, hängt davon ab, was du damit machen willst – oft lesen, oft einfügen, schnell suchen?

📋
Array / Liste

Geordnete Folge

Elemente stehen nebeneinander im Speicher und haben eine Nummer (Index), beginnend bei 0. Schneller Zugriff auf jedes Element per Index.

🔧 Verwendet in: Pixelreihen, Diagrammwerte, Listen von Usern
📚
Stack (Stapel)

Zuletzt rein – zuerst raus (LIFO)

Wie ein Tellerstapel: du legst oben drauf und nimmst oben weg. Kein Zugriff auf das unterste Element ohne alles abzuräumen.

🔧 Verwendet in: Undo/Redo, Browser-Zurück-Taste, Funktionsaufrufe im Speicher
🚶
Queue (Warteschlange)

Zuerst rein – zuerst raus (FIFO)

Wie eine Supermarkt-Warteschlange: wer zuerst ansteht, wird zuerst bedient. Neue Elemente kommen hinten an, entnommen wird vorne.

🔧 Verwendet in: Druckerwarteschlangen, Aufgaben-Scheduler, Netzwerk-Pakete
🌳
Baum (Tree)

Hierarchische Struktur

Knoten mit Eltern-Kind-Beziehungen. Der oberste Knoten heißt Wurzel. Ermöglicht sehr schnelles Suchen in sortierten Bäumen (O(log n)).

🔧 Verwendet in: Dateisysteme, HTML-DOM, Suchalgorithmen, Entscheidungsbäume in KI
🗝️
HashMap / Dictionary

Schlüssel → Wert (Key → Value)

Du speicherst Paare aus Schlüssel und Wert. Der Schlüssel ist eindeutig – über ihn findest du den Wert in nahezu O(1), egal wie groß die Datenstruktur ist. Das ist wie ein Wörterbuch: du schlägst unter einem Wort nach und bekommst sofort die Definition.

🔧 Verwendet in: Sprach-Wörterbücher, Datenbanken (Indizes), Caches, JSON-Objekte in JavaScript, Python-Dictionaries

🖼️ Datenstrukturen – visuell verglichen

Array "A" "B" "C" [0] [1] [2] Index-Zugriff O(1) Stack TOP → "C" "B" "A" (BOTTOM) push/pop O(1) Queue FRONT "A" "B" "C" BACK enqueue/dequeue O(1) Baum 8 3 12 1 5 Suche O(log n) HashMap "name" "Max Mustermann" "alter" 22 "stadt" "Dortmund" Key-Zugriff O(1) person = { "name": "Max", "alter": 22 }
🧩

Das große Bild

Aus 0 und 1 werden Transistoren, daraus Logikgatter, daraus Maschinencode, daraus Hochsprachen, daraus Frameworks, daraus GUIs. Algorithmen bestimmen, wie schnell Software läuft. Datenstrukturen bestimmen, wie effizient sie Daten verwaltet. Diese drei Konzepte – Abstraktion, Algorithmen, Datenstrukturen – tauchen in jedem Projekt auf.

3.2
Mathe aus der 8. Klasse – in der Informatik wiedergefunden
Du hast das Fundament schon – hier siehst du, wo es in echter Software steckt

🤯 "Wozu brauche ich das später?"

Diesen Satz hast du vielleicht selbst mal im Matheunterricht gedacht. In der Informatik ist die Antwort oft überraschend direkt: Potenzen stecken in jeder Speicherangabe. Koordinatensysteme stecken in jedem Bildschirm. Boolesche Logik steckt in jedem if-Statement. Schau selbst:

📐 Mathe Klasse 8

Variablen & Gleichungen

x = 5, y = x + 3

💻 In der Informatik

Variablen im Code

Jede Programmiersprache speichert Werte in benannten Variablen. Gleichungen werden zu Berechnungen im Code.

# Mathe: y = x + 3 x = 5 y = x + 3 print(y) # Ausgabe: 8 # Gleichungen lösen = Algorithmen schreiben preis = 100 rabatt = 0.20 endpreis = preis * (1 - rabatt) # = 80.0
📐 Mathe Klasse 8

Potenzen & 2ⁿ

2³ = 8, 2¹⁰ = 1024

💻 In der Informatik

Speichergrößen & Bittiefe

1 Bit kann 2¹ = 2 Zustände. 8 Bit (1 Byte) = 2⁸ = 256 Werte. 32-Bit-Farbe = 2³² = ~4 Mrd. Farben. Alles Potenzen von 2!

🔢 Potenzen von 2 – von Bit bis Terabyte

= 2 1 Bit 0 oder 1 2⁸ = 256 1 Byte 1 Zeichen (ASCII) 2¹⁰ = 1.024 1 Kilobyte ~1.000 Zeichen 2²⁰ ≈ 1 Mio. 1 Megabyte 1 Foto (gering) 2³⁰ ≈ 1 Mrd. 1 Gigabyte RAM in deinem PC 2⁴⁰ ≈ 1 Bio. 1 Terabyte Festplatte 2³² Farben = 4.294.967.296 True Color (RGBA) Jedes Pixel auf dem Bildschirm 💡 Alles in der Informatik ist eine Potenz von 2 – weil Computer im Binärsystem arbeiten!
📐 Mathe Klasse 8

Koordinatensystem

x-Achse (horizontal), y-Achse (vertikal), Punkte (x,y)

💻 In der Informatik

Pixel-Koordinaten & 2D-Grafik

Jeder Pixel auf deinem Bildschirm hat (x,y)-Koordinaten. Games, CSS-Animationen, SVG-Grafiken, App-Layouts – alles basiert auf diesem Prinzip.

📐 Mathe Klasse 8

Primzahlen

2, 3, 5, 7, 11, 13, … – nur durch 1 und sich selbst teilbar

💻 In der Informatik

Kryptographie & HTTPS

Das RSA-Verschlüsselungsverfahren, das dein HTTPS absichert, basiert vollständig auf der Tatsache, dass es extrem schwer ist, das Produkt zweier großer Primzahlen zu faktorisieren.

📐 Mathe Klasse 8

Wahr / Falsch & Logik

Aussagen: „Heute regnet es UND es ist kalt."

💻 In der Informatik

Boolesche Logik & if/else

AND, OR, NOT sind die Grundoperatoren der Informatik. Jede Verzweigung im Code, jedes Logikgatter in der Hardware, jede Datenbankabfrage nutzt sie.

# Boolesche Logik im Code ist_admin = True ist_eingeloggt = True if ist_eingeloggt and ist_admin: print("Zugang zum Admin-Bereich erlaubt") # NOT umkehren: if not ist_eingeloggt: print("Bitte zuerst einloggen")

🔌 Boolesche Logik – von der Mathe bis zum Hardware-Gatter

AND-Gatter A B A AND B 0 (falsch) 0 0 0 1 (wahr) 0 1 0 0 1 1 1 ✓ Nur wahr wenn BEIDE wahr sind OR-Gatter A B A OR B 0 0 0 0 1 1 ✓ 1 0 1 ✓ 1 1 1 ✓ Wahr wenn MINDESTENS EINES wahr ist NOT-Gatter A NOT A 0 (falsch) 1 (wahr) 1 (wahr) 0 (falsch) Dreht den Wert um = „nicht eingeloggt" → zeige Login-Seite
📐 Mathe Klasse 8

Prozentrechnung

20% von 150 = 30, Grundwert × (p/100)

💻 In der Informatik

Rabatte, Auslastung, Fehlerrate

Preisberechnungen, Server-Auslastung (CPU 87%), Test-Abdeckung (Coverage 94%), Fortschrittsbalken – alles Prozentrechnung.

📐 Mathe Klasse 8

Mengen & Mengenlehre

A ∩ B (Schnitt), A ∪ B (Vereinigung), A ⊂ B (Teilmenge)

💻 In der Informatik

SQL-Datenbankabfragen

JOIN = Schnittmenge zweier Tabellen. UNION = Vereinigung. WHERE = Teilmenge filtern. Datenbankdesign ist direkt angewandte Mengenlehre.

-- SQL: Mengenlehre in Praxis -- INNER JOIN = Schnittmenge (Kunden die AUCH eine Bestellung haben) SELECT k.name, b.produkt FROM kunden k INNER JOIN bestellungen b ON k.id = b.kunden_id; -- WHERE = Teilmenge filtern SELECT * FROM produkte WHERE preis > 50 AND kategorie = 'Elektronik';
📐 Mathe Klasse 8

Wahrscheinlichkeit

P(Ereignis) = günstige / mögliche Fälle

💻 In der Informatik

KI & Machine Learning

KI-Modelle geben keine festen Antworten, sondern Wahrscheinlichkeiten: „Dieses Bild zeigt zu 94% eine Katze." Jeder Klick in einer Empfehlung ist eine Wahrscheinlichkeitsrechnung.

🗺️ Mathe-Klasse-8 trifft Informatik – Überblick

Informatik / Software Variablen → Code-Variablen Potenzen (2ⁿ) → Speicher, Bit/Byte Koordinaten → Pixel, Grafik Primzahlen → HTTPS, RSA Logik (wahr/falsch) → if/else, Gatter Mengen → SQL, Datenbanken Wahrscheinlichkeit → KI / ML
🎓

Du bist besser vorbereitet als du dachtest

Kein Mathe-Studium nötig – aber ein gutes Zahlenverständnis, logisches Denken und die Grundkonzepte aus der Schule tragen dich sehr weit. Und wenn du tiefer einsteigen willst: Lineare Algebra (KI), Statistik (Data Science) und Diskrete Mathematik (Algorithmen) warten auf dich.

🧭

Weiter geht's!

Du hast Kapitel 3 abgeschlossen – Algorithmen, Datenstrukturen und Mathe. Als nächstes: Anforderungen & KI.

Kapitel 1 · Computer & HTML Kapitel 2 · Rechnerarchitektur & Internet Kapitel 3 · Algorithmen & Mathe ← Du bist hier Kapitel 4 · Anforderungen & KI Kapitel 5 · Git & Claude Code Kapitel 6 · Deployment & Karriere