# M411 - Datenstrukturen und Algorithmen entwerfen und anwenden
[> **Modulidentifikation** ](https://www.modulbaukasten.ch/modul/bc75c9da-716c-eb11-b0b1-000d3a830b2b)
- [docs](./docs/)
- [docs/Skripte_Aufgaben_Tasks](./docs/Skripte_Aufgaben_Tasks/)
- [docs/Videos-Tutorials-Anleitungen](./docs/Videos-Tutorials-Anleitungen)
## Aufträge & Übungen
| Tag | Titel | Auftrag, Übung, Themen |
| ---- | ------ | -------------- |
| 1 | First steps | Modulvorstellung
[what is an algorithm](./1a)
[what are data structures](./1b)
[first steps I (classes, main-methode)](./1c) |
| 2 | Arrays | Erste Schritte II / Benutzereingaben lesen (Scanner) / Files lesen und ausgeben (BufferedReader)
Mit Arrays arbeiten
- Elemente füllen, leeren, suchen, verändern
- Sortieren (BubbleSort) |
| 3 | Linked Lists | Fortsetzung Arrays
Verkettete Liste (selber gebaut) |
| 4 | Sort, Stack, Queue | Sort-Algorithmen vergleichen
- BubbleSort <-> QuickSort
- BubbleSort <-> ??Sort (nach Wahl) inkl. Schnelligkeitsmessung
- Stack & Queue (FIFO, LIFO, LILO, FILO) |
| 5 | _**LB1** (30% MN, >> runtime behaviour on different sorts)_
| Arrays, LinkedLists, BubbleSort, Stacks (Push/Pop), Queues |
| 6 | Hashmaps, Recursions | - Hashmaps,
- Recursions |
| 7 | _**LB2** (30% MN, >> hashMaps and rekursions)_ | - Trees and graphs
- Dijkstra-Algorithm (route planner) |
| 8 | _**LB3** (40% MN, >> START)_ | Start mini project (LB3)
- search and decide projekt
- work on mini project |
| 9 | Work on mini project | |
| 10 | Close mini project | Abgabe/Vorstellung bei LP |