# M411 - Datenstrukturen und Algorithmen entwerfen und anwenden
[> **Modulidentifikation** ](https://www.modulbaukasten.ch/modul/bc75c9da-716c-eb11-b0b1-000d3a830b2b)
- [docs](./docs/)
- [docs/Videos-Tutorials-Anleitungen](./docs/Videos-Tutorials-Anleitungen)
## Aufträge & Übungen
| Tag | Titel | Auftrag, Übung, Themen |
| ---- | ------ | -------------- |
| 1 | [First steps](./1) | Modulvorstellung
- what is an algorithm
- what are data structures
-first steps I (classes, main-methode)|
| 2 | [Arrays](./2) | first steps II / reading user input (scanner) / reading and writing files (BufferedReader)
working with arrays
- fill, search, update, delete array elements
- sorting (BubbleSort) |
| 3 | [Linked Lists](./3) | follow up arrays
linked lists (self made) |
| 4 | [Sort, Stack, Queue](./4) | compare sort-algorithms
- BubbleSort vs QuickSort
- BubbleSort vs ??Sort
incl. mesurement the speed
- stack (push, pop) and queues (FIFO, LIFO, LILO, FILO) |
| 5 | [Hashmaps, Recursions](./5) | - hash maps,
- recursions , back tracking |
| 6 | **LB1** (30% MN)
- 30 min on paper and
- 60 min coding
themes: arrays, stacks, sorts, linked lists | - follow up [hash maps, recursions](./5)
- [collections](./6) |
| 7 | **LB2** (30% MN)
- 30 min on paper and
- 60 min coding
themes: hash maps and rekursions | after LB2 start mini project (LB3),
find a team partner and a problem to solve
- [trees and graphs](./7)
- [Dijkstra-Algorithm (route planner)](./7)
- [xml data, json data](./7)
- [page rank algorithm](./7) |
| 8 | **LB3** (40% MN)
start mini project
team of 2 persons | - search and decide projekt
- work on mini project |
| 9 | work on mini project | |
| 10 | last work and
close mini project | **Note 4.0** = "genügend"
(d.h. es ist alles da und funktioniert irgendwie, niedrige Komplexität)
**Note 5.0** = "gut"
(d.h. gut gelöst und funktioniert einwandfrei, adäquate Komplexität)
**Note 6.0** = "sehr gut"
(übertrifft die Erwartungen, hohe Komplexität) |