🏠 Zurück zur Startseite

🎓 Grundlagen der Programmierung

Vorlesung 1: Einführung in die Programmierung

Prof. Dr. Alexandra Mikityuk

HTW Berlin

Wintersemester 2025/26

📞 Kontakt & Sprechstunde

Kontaktdaten

📱 Telefon: +49 30 5019-2664

🏢 Büro: Raum 308

Sprechstunde

📅 Mittwoch: 15:30 - 16:30 Uhr

💡 Bitte vorher per E-Mail anmelden!

📚 Kursstruktur über 2 Semester

1. Semester: Grundlagen der Programmierung (K21)

✅ Keine Vorkenntnisse erforderlich

✅ C++ Grundlagen, Variablen, Schleifen, Funktionen

2. Semester: Fortgeschrittene Algorithmen (K22)

✅ Aufbauend auf K21

✅ Algorithmen, Datenstrukturen, Optimierung

Teil des Bachelorstudiengangs
Informations- und Kommunikationstechnik

📅 Wichtige Termine - Prüfungen

📝 Prüfungsformat

Die Prüfung besteht aus:

📖 Theoretische Fragen

Konzepte, Definitionen, Algorithmen verstehen

💻 Praktische Programmieraufgaben

Code schreiben, Fehler finden, Programme entwickeln

Wichtig:

Sie dürfen alle Kursmaterialien zur Prüfung mitbringen!

(Vorlesungsfolien, Labor-Aufgaben, eigene Notizen)

🤔 Warum sollten Sie Programmieren lernen?

🌍 Software ist überall

  • Smartphones & Apps (Instagram, TikTok, WhatsApp)
  • Autos - 100+ Millionen Zeilen Code in modernen Fahrzeugen!
  • Smart Home (Alexa, Google Home)
  • Medizintechnik (MRT, OP-Roboter)
  • Bankensysteme & Online-Shopping
  • Videospiele (Unreal Engine, Unity)
  • KI & Machine Learning (ChatGPT!)

💼 Karrierechancen

  • 🔥 Millionen Entwickler weltweit - ständig wachsende Nachfrage!
  • 💰 Durchschnittsgehalt: 50.000-80.000€/Jahr (Junior)
  • 🏠 Remote Work: Arbeiten von überall
  • 🎨 Kreative Problemlösung täglich
  • 🌍 Internationale Karrieremöglichkeiten
  • 📈 Ständig wachsende Branche
  • 🚀 Eigene Startups gründen möglich

"Software is eating the world" - Marc Andreessen

🎯 Quiz Zeit! #1

Wie viele Softwareentwickler gibt es weltweit (ca.)?

A) 5 Millionen
B) 27 Millionen
C) 50 Millionen
D) 100 Millionen

⛓️ Meine Leidenschaft: Blockchain & New Economy

Was ist Blockchain?

Eine dezentrale, unveränderbare Datenbank - wie ein digitales Kassenbuch, das niemand manipulieren kann.

📊 Marktkapitalisierung: >1 Trillion USD (Bitcoin allein: ~500+ Milliarden USD)

🏦 Web3: Die nächste Generation des Internets - dezentral & nutzergesteuert

🚀 Anwendungen & Beispiele:

  • Kryptowährungen: Bitcoin, Ethereum, Solana - Programmierbare Währungen!
  • Smart Contracts: Selbstausführende Verträge (z.B. automatische Versicherungsauszahlungen)
  • NFTs: Digitale Kunst & Besitzrechte (Bored Apes, CryptoPunks)
  • DeFi: Dezentrale Finanzsysteme (Lending, Staking, DEXs wie Uniswap)
  • Supply Chain: Walmart nutzt Blockchain für Lebensmittelverfolgung
  • DAOs: Dezentrale autonome Organisationen - Firmen ohne CEO!

💡 Programmieren öffnet Türen in die Zukunft der Wirtschaft!

"The future of money is programmable" - Andreas Antonopoulos

🎯 Quiz Zeit! #2

Was bedeutet "dezentral" bei Blockchain?

A) Die Daten sind verschlüsselt
B) Keine zentrale Autorität kontrolliert das System
C) Es ist sehr schnell
D) Es kostet kein Geld

🐛 Die Geschichte der "Bugs"

Woher kommt der Begriff "Bug"?

9. September 1947: Ein historischer Moment!

Grace Hopper und ihr Team arbeiteten am Harvard Mark II Computer - einem riesigen elektromechanischen Computer (17 Meter lang!).

🔍 Das Problem: Der Computer funktionierte nicht korrekt.

🦋 Die Ursache: Eine echte Motte (Moth) hatte sich in einem Relais (mechanischer Schalter) verfangen!

📝 Die Lösung: Sie entfernten die Motte und klebten sie ins Logbuch mit der berühmten Notiz:

"First actual case of bug being found"

💡 Seitdem nennen wir Programmierfehler "Bugs" und das Beheben von Fehlern "Debugging"! 🐛

Grace Hopper (1906-1992):

  • Pionierin der Informatik & US Navy Admiral
  • Entwickelte den ersten Compiler (1952)
  • Miterfinderin von COBOL - eine der ersten Hochsprachen
  • Bekannt für den Satz: "It's easier to ask forgiveness than permission"

Fun Fact: Die original Motte ist heute im Smithsonian Museum ausgestellt! 🏛️

🎯 Quiz Zeit! #3

Was war die "First actual case of bug being found" von 1947?

A) Ein Softwarefehler in einem Compiler, der von Grace Hopper entdeckt wurde
B) Eine echte Motte, die im Harvard Mark II Computer steckte und einen Hardwarefehler verursachte
C) Ein Logikfehler in einem Algorithmus, der zur Prägung des Begriffs "Bug" führte
D) Ein Käfer, der in einem IBM-Großrechner gefunden wurde und das erste dokumentierte Debugging darstellte

👩‍💻 Pioniere der Programmierung

Ada Lovelace (1815-1852) 🎩

Erste Programmiererin der Welt! Schrieb 1843 den ersten Algorithmus für Charles Babbage's "Analytical Engine".

💡 Sie erkannte, dass Computer mehr als nur Rechnen könnten - z.B. Musik komponieren!

Grace Hopper (1906-1992) 🦋

Erfand den ersten Compiler (1952) und entwickelte COBOL.

💡 Sie wollte, dass Computer englische Wörter verstehen - nicht nur Zahlen!

Dennis Ritchie (1941-2011) ⚙️

Erfinder von C (1972) - Grundlage für C++!

💡 C wird heute in Betriebssystemen (Linux, Windows), Datenbanken, eingebetteten Systemen verwendet!

Bjarne Stroustrup (1950-heute) 🚀

Erfinder von C++ (1985) - unsere Kurssprache!

💡 C++ erweitert C um Objektorientierung. Genutzt in: Videospielen, Adobe Software, Chrome Browser!

Fun Fact: Programmiersprache "Ada" ist nach Ada Lovelace benannt! 🎯

💻 Was ist ein Programm?

📝

Ein Programm ist:

  • Eine Folge von Anweisungen (wie ein Kochrezept! 👨‍🍳)
  • Geschrieben in einer Programmiersprache (C++, Python, Java, JavaScript...)
  • Löst ein spezifisches Problem (z.B. Bilder sortieren, Musik abspielen)
  • Muss präzise und eindeutig sein (Computer sind sehr wörtlich!)

📊 Beispiel: Google verwendet über 2 Milliarden Zeilen Code!

Facebook: ~62 Millionen | Windows: ~50 Millionen

💡 Computer verstehen keine Zweideutigkeiten!
Sie machen genau das, was Sie ihnen sagen - nicht das, was Sie meinen! 🤖

"Talk is cheap. Show me the code." - Linus Torvalds (Linux Creator)

😂 Die Realität des Programmierens

Was Leute denken, was ich mache:

🧑‍💻 Hacke in Matrix-grünen Zahlen

💻 Schreibe perfekten Code in 5 Minuten

Was ich wirklich mache:

🔍 Googeln: "Why doesn't my code work"

😫 Vergaß ein Semikolon - 2 Stunden Debugging

☕ Kaffee trinken und über Fehlermeldungen nachdenken

📚 StackOverflow lesen (unser bester Freund!)

Realität: 90% googeln, 10% Code schreiben! 😄

🔄 Das EVA-Prinzip

Eingabe → Verarbeitung → Ausgabe

Das fundamentale Prinzip JEDES Computerprogramms!

📱 Beispiel: Taschenrechner

E: 5 + 3

V: Addition durchführen

A: 8

🔐 Beispiel: Login-System

E: Username & Passwort

V: Mit Datenbank vergleichen

A: "✅ Zugang erlaubt" / "❌ Verweigert"

🎮 Beispiel: Videospiel

E: Tastendruck "W"

V: Charakter Position berechnen

A: Charakter bewegt sich vorwärts

🤖 Beispiel: ChatGPT

E: "Erkläre mir C++"

V: KI-Modell analysiert & generiert

A: Detaillierte Erklärung

🎯 Quiz Zeit! #4

Netflix zeigt Ihnen personalisierte Filmempfehlungen. Was ist die "Verarbeitung"?

A) Sie klicken auf einen Film
B) Algorithmus analysiert Ihre Sehgewohnheiten
C) Die Filmtitel werden angezeigt
D) Der Film wird abgespielt

🧩 Was ist ein Algorithmus?

Ein Algorithmus ist eine Schritt-für-Schritt-Anleitung zur Lösung eines Problems.

🌍 Algorithmen sind überall!

• Google Suche sortiert Milliarden Webseiten in Millisekunden

• Netflix empfiehlt Filme basierend auf Ihrem Geschmack

• GPS findet den schnellsten Weg durch Millionen von Straßen

• Instagram-Feed sortiert Posts nach Relevanz

Alltags-Beispiel: Kaffee kochen ☕

  1. Wasser in Wasserkocher füllen (200ml)
  2. Wasserkocher einschalten
  3. Warten bis Wasser kocht (100°C)
  4. 1 Teelöffel Kaffeepulver in Tasse geben
  5. Heißes Wasser in Tasse gießen
  6. 10 Sekunden umrühren
  7. Fertig! 🎉

💡 Programmieren = Algorithmen in Code übersetzen!

✅ Eigenschaften guter Algorithmen

1️⃣ Korrektheit

Liefert das richtige Ergebnis für alle gültigen Eingaben

Beispiel: Sortieralgorithmus muss IMMER sortieren!

2️⃣ Endlichkeit (Terminierung)

Endet nach endlich vielen Schritten

⚠️ Keine Endlosschleifen!

3️⃣ Eindeutigkeit (Determiniertheit)

Jeder Schritt ist klar & präzise definiert

Nicht: "Warte kurz" → Sondern: "Warte 5 Sekunden"

4️⃣ Ausführbarkeit

Jeder Schritt kann vom Computer ausgeführt werden

Nicht: "Denke kreativ nach" 🤔

5️⃣ Input (Eingabe)

Kann 0 oder mehr Eingaben verarbeiten

z.B. Zahlen zum Sortieren

6️⃣ Output (Ausgabe)

Produziert mindestens 1 Ergebnis

Sonst wäre der Algorithmus sinnlos! 😅

🎯 Quiz Zeit! #5

Ist dies ein guter Algorithmus? "Schritt 1: Warte eine Weile"

A) Ja, völlig in Ordnung
B) Nein, nicht eindeutig genug ("eine Weile" ist unklar)
C) Ja, Computer verstehen das
D) Nein, weil es keine Eingabe hat

😅 Die Wahrheit über Debugging

Wenn mein Code funktioniert:

🎉 "Ich bin ein Programmier-Genie!"

💪 "Ich verstehe alles perfekt!"

Wenn mein Code NICHT funktioniert:

😭 "Computer sind dumm!"

🤔 "Warum funktioniert das nicht?!"

🔍 *Stundenlang den gleichen Code anstarren*

💡 *Findet Tippfehler* "Oh... natürlich..."

Die klassischen Debugging-Schritte:

1️⃣ Code funktioniert nicht

2️⃣ Keine Ahnung warum

3️⃣ Code funktioniert plötzlich

4️⃣ Noch weniger Ahnung warum 😅

"It works on my machine!" 🤷‍♂️ - Jeder Entwickler ever

📚 Was lernen Sie in diesem Kurs?

C++ Grundlagen

Variablen, Datentypen, Operatoren

Kontrollstrukturen

if-else, Schleifen (for, while)

Funktionen

Code wiederverwenden, modular programmieren

Datenstrukturen

Arrays, Vectors, Strings

Pointer & Speicherverwaltung

Wie Computer Daten speichern

🛠️ Unsere Werkzeuge

Visual Studio 2022

Professionelle Entwicklungsumgebung (IDE)

✅ Kostenlos für Studierende

✅ Debugging Tools

✅ IntelliSense (Code-Vervollständigung)

Online C++ Compiler

Für schnelles Testen im Labor

✅ Kein Setup nötig

✅ Überall verfügbar

✅ Gut für Anfänger

🔗 Links und Installationsanleitungen folgen im Labor!

🚀 Ihre Reise beginnt hier!

💪

Programmieren lernen ist wie eine neue Sprache lernen

  • ✅ Am Anfang fühlt es sich schwer an
  • ✅ Mit Übung wird es natürlich
  • ✅ Jeder Fehler ist eine Lernmöglichkeit
  • ✅ Die Community hilft einander
  • ✅ Sie können erstaunliche Dinge erschaffen!

"The only way to learn programming is by programming!"

📝 Zusammenfassung

Heute gelernt:

  • ✅ Organisatorisches: Kontakt, Termine, Prüfungen
  • ✅ Kursstruktur: 2 Semester, K21 & K22
  • ✅ Geschichte: Bugs, Grace Hopper, Ada Lovelace
  • ✅ Grundbegriffe: Programm, Algorithmus, EVA-Prinzip
  • ✅ Motivation: Blockchain, neue Wirtschaft, Karriere

🎉 Vielen Dank!

Fragen?

Prof. Dr. Alexandra Mikityuk

📱 +49 30 5019-2664

🏢 Raum 308

📅 Mittwoch 15:30-16:30

Bis zur nächsten Vorlesung! 👋

1 / 23