# Kurskonzept

Im folgenden werden die Kursteile genauer vorgestellt.

## Basiswissen (Teil 1)
::::{only} html
```{figure} ../../figs/01-course-overview/overview/infrastructer-metaphor.png
---
width: 400px
name: infrastructer-metaphor
---
Basiswissen (Teil 1): Gemeinsames Fundament und „Gerüst“ für die späteren Inhalte.
```
::::

Wir schaffen ein gemeinsames Grundverständnis: Was macht ein Computer eigentlich, wie werden Informationen verarbeitet, und welches Vokabular brauchen wir, um über Programme sauber zu sprechen? Dieses „Gerüst“ hilft, die späteren Inhalte einzuordnen.

Umfang: ca. 1 Vorlesungseinheit

Lernziele:

- Grundverständnis, was ein Computer tut 
- Zentrale Begriffe der Informatik sicher verwenden
- Informationsverarbeitung auf hoher Ebene beschreiben können

Prüfungsrelevanz:

Zum Teil prüfungsrelevant: ca. 40% der Kapitelabschnitte haben eine A-Markierung (A=Anwendungswissen).

```{admonition} Hinweis
:class: note

Prüfungsrelevante Kapitel bzw. Unterkapitel haben ein „(A)" in der Überschrift. Mehr dazu im [Kapitelmarker](sec-kapitelmarker).
```

## Python verstehen (Teil 2)

::::{only} html
```{figure} ../../figs/01-course-overview/overview/motorhaube.png
---
width: 400px
name: motorhaube
---
Python verstehen (Teil 2): Blick „unter die Motorhaube“ – Konzepte und Hintergründe.
```
::::

Wir ordnen Python als Programmiersprache ein: Welche Eigenschaften prägen das Programmieren in Python und welche allgemeinen Konzepte stecken dahinter? Das hilft Ihnen, Wissen später auf andere Sprachen zu übertragen (z. B. in Richtung MATLAB).

Umfang: ca. 1 Vorlesungseinheit

Je besser Sie hier die Hintergründe verstehen, desto weniger müssen Sie im Anwendungsteil „auswendig lernen“.

```{admonition} Hinweis
Wenn Sie die grundlegenden Eigenschaften Ihres Autos (z. B. Motor und Getriebe) grob verstehen, können Sie viele Situationen beim Fahren besser einschätzen – etwa, wann der nächste Gang sinnvoll ist. Ohne dieses Hintergrundwissen müssten Sie sich für viele Situationen einzelne „Regeln“ merken. Genauso ist es beim Programmieren: Wenn Sie die Konzepte verstehen, ergeben sich viele „Regeln“ von selbst. Das spart Ihnen nicht nur Lernarbeit, sondern macht Sie flexibler und sicherer in der Anwendung. 
```

Lernziele:

- Zentrale Eigenschaften von Python kennenlernen und einordnen
- Wichtige Programmierkonzepte verstehen, die in der Praxis ständig auftauchen
- Typische „Warum passiert das?“‑Fragen in Python mit Grundlagenwissen erklären können

Prüfungsrelevanz:

Für die Prüfung nicht direkt abgefragt – aber sehr wertvoll: das Struktur- und Vorgehenswissen schafft die Voraussetzung dafür, dass Sie Teil 3 verstehen können. Sonst müssen Sie in Teil 3 sehr viel "auswendig lernen".

## Python anwenden (Teil 3)

::::{only} html
```{figure} ../../figs/01-course-overview/overview/bedienung.png
---
width: 400px
name: bedienung
---
Python anwenden (Teil 3): Bedienung in der Praxis – selbst Programme schreiben und einsetzen.
```
::::

Hier geht es um die praktische Programmierarbeit: Programme schreiben, Daten verarbeiten und Probleme Schritt für Schritt lösen. Das ist der Schwerpunkt der Veranstaltung.

Umfang: ca. 8 Vorlesungseinheiten

Lernziele:

- Python-Programme entwickeln und strukturieren
- Datentypen, Ausdrücke und Operatoren sicher anwenden
- Kontrollstrukturen, Funktionen und Datenstrukturen einsetzen
- Einfache Algorithmen in Python umsetzen


Prüfungsrelevanz:

Sehr prüfungsrelevant (viele A-Markierungen!): Hier lernen wir Python anzuwenden, indem wir Programmierkonstrukte kennenlernen und diese in einfachen Beispielen anwenden. 

## Anwendungsfall (Teil 4)

::::{only} html
```{figure} ../../figs/01-course-overview/overview/fahrt.png
---
width: 400px
name: fahrt-gliederung
---
Anwendungsfall (Teil 4): Kompletten Ablauf durchlaufen – von Aufgabe bis Umsetzung.
```
::::

Zum Abschluss laufen wir einen kompletten Ablauf in der Praxis durch: von der Aufgabenstellung über die Planung bis zur Umsetzung. Ziel ist, den Prozess als Ganzes zu sehen (nicht nur einzelne Sprachkonstrukte). 


```{exercise} Fallbeispiel: Sensordaten statistisch auswerten

Ausgangslage:
Julia bekommt von ihrer Kollegin eine Datei, in der mehrere Arten von Messdaten abgelegt sind.

Aufgabe: Die Statistik der Messdaten soll bestimmt werden.
- Grafisch: Die Verteilung der Daten visualisieren
- Tabellarisch: Eine Übersichtstabelle erstellen, in der die statistischen Momente und Percentile enthalten sind
```

Umfang: ca. 1 Vorlesungseinheit

Lernziele:

- Vorgehensweise zur Programmentwicklung (von Problem → Lösung) verstehen
- Praxisnahe Planung und Umsetzung eines kleinen Anwendungsfalls

Prüfungsrelevanz:

Zum Teil prüfungsrelevant: das Anwendungswissen entspricht ca. 30% des Kapitels.


