91762d5c9d94baae240d4b6fdc06ab033a9cea7c
SNP - Laboratory Planning
Description
TODO
Views
Is-State
| Requirements | Chapter | Lecture Contents | Previous Knowledge | Lab handling | FS21 Lab | Comments | Lab Contents |
|---|---|---|---|---|---|---|---|
| Chapter 1 |
|||||||
| Sie können ein single-file C Programm von Grund auf programmieren. | C Programmelemente | no | implicit | -- | Hello world | ||
| Sie binden Teile der C Standard Library mit include ein und setzen Macros ein. | include, define | no | implicit | -- | Umwandlungstabelle | ||
| Sie verwenden Input- und Output-Funktionen für strukturierte Ein- und Ausgabe. | Input/Output | no | implicit | -- | word count | ||
| Bash Script | |||||||
| Chapter 2 | |||||||
| Sie haben die Kompetenz kleinere Programme in C zu verstehen, zu programmieren und zu testen. | comments | yes | implicit | bit operations | comments | ||
| variables | yes | implicit | QR-Code output | defines | variables | ||
| data types | yes | explicit | fputs | data types | |||
| literals | yes | implicit | getchar | literals | |||
| operators | yes | implicit | switch-case | operators | |||
| expressions | yes | implicit | Bash script | pipe | expressions | ||
| control structures | yes | implicit | qrencode | control structures | |||
| formatted I/O functions | no | explicit | printf | ||||
| complex data types | no | explicit | scanf | ||||
| enums | yes | explicit | complex data types | ||||
| structures | no | explicit | enums | ||||
| structures | |||||||
| Chapter 3 | |||||||
| functions | no | explicit | Wochentag | enum | functions | ||
| by value | yes | explicit | typedef | by value | |||
| variable scope | in principle | explicit | scanf | variable scope | |||
| declarations, definitions | in principle | explicit | struct | declarations, definitions | |||
| function | |||||||
| control strcutures | |||||||
| Chapter 4 | |||||||
| pre-processor/compiler … | no | explicit | Modularisation | header files | pre-processor/compiler … | ||
| modularity in C | no | explicit | include guards | modularity in C | |||
| libraries | no | explicit | makefiles | libraries | |||
| Sie verfügen über die Voraussetzungen um grössere Programme zu verstehen, anzupassen und erstellen und testen zu können. | C standard library | no | explicit | C standard library | |||
| make | no | explicit | make | ||||
| Chapter 5 | |||||||
| Sie können die Funktionsweise des sizeof Operators erklären und ihn anwenden. | sizeof | no | explicit | TicTacToe | sizeof | sizeof | |
| Sie wissen wie Arrays in C aufgebaut und im Speicher angelegt werden und wie auf sie zugegriffen werden kann. | arrays | no | explicit | TicTacToe | arrays | ||
| Sie verstehen die Darstellung von Strings und ihre Ähnlichkeit zu char-Arrays und können die wichtigsten String Funktionen der Standard Library einsetzen. | strings | no | no | ||||
| Chapter 6 | |||||||
| pointers | no | explicit | Integer Rechner | pointers to struct | pointers | ||
| pointer and arrays | no | explicit | memory management | pointer and arrays | |||
| Sie verstehen die Speicherverwaltungskonzepte und können den Speichergebrauch optimieren. | memory management | no | explicit | pointer arithmetic | memory management | ||
| Chapter 7 | |||||||
| paramaters by reference | no | explicit | Personen Verwaltung | pointers | paramaters by reference | ||
| multidimensional arrays | no | explicit | memory management | multidimensional arrays | |||
| variable paramaters | no | none | linked lists | variable paramaters | |||
| code issues C | no | none | code issues C | ||||
| test | yes | explicit | test | ||||
| Chapter 8 | |||||||
| System Calls | no | explicit | Bash Script | memory management | System Calls | ||
| C compiler implementation | no | none | stdlib | C compiler implementation | |||
| File hierarchy | no | none | file handling | File hierarchy | |||
| Sie können die Operation eines File-Systems erklären und die entsprechenden System-Aufrufe anwenden. | files and file I/O | no | explicit | directories | files and file I/O | ||
| Chapter 9 | |||||||
| Sie verstehen die Konzepte von Prozessen und Threads und können diese fachgerecht einsetzen und testen. Sie können mit Synchronisierungs-Methoden und Inter-Prozess-Kommunikation arbeiten. | processes | no | explicit | Processes and Threads | fork | processes | |
| threads | yes | explicit | pthreads | threads | |||
| Chapter 10 | |||||||
| pipes | no | explicit | pipes | ||||
| sockets | no | none | sockets | ||||
| shared memory | no | explicit | shared memory | ||||
| message passing | no | explicit | message passing | ||||
| signals | no | explicit | signals | ||||
| Chapter 11 | |||||||
| mutex | no | explicit | mutex | ||||
| semaphores | no | explicit | semaphores | ||||
| Chapter 12 | |||||||
| Sie beherrschen den Umgang mit POSIX-Clocks und hochauflösenden Timern. | |||||||
| Chapter 13 | |||||||
| Chapter 14 | |||||||
| multicore basics | multicore basics |
Target-State
| Week | Lab | Name | Requirement | Number of files | Preprocessor | Compiler | Build | Function | Boilerplate | Lecturer |
|---|---|---|---|---|---|---|---|---|---|---|
| Week 1 |
Lab1 |
Erste Schritte mit C | single file, includes, defines, command line compile, output Hello world from scratch |
one |
include define |
command line |
no |
output (input?) |
no |
welo |
| Week 2 | Lab2 | Funktionen, Datentyp "enum" | enum functions | make | yes | bazz | ||||
| Week 3 | Lab3 | Bit Operation struct typedef | struct typedef bit operations | fisa | ||||||
| Week 4 | Lab4 | Modularisieren von C Code | C/H files input guard Makefile | huno | ||||||
| Week 5 | Lab5 | TicTacToe | complete an existing multi file program using the sizeof operator, arrays (and manipulating strings?) | multi | make | sizeof arrays (strings?) | grop | |||
| Week 6 | Lab6 | Personen Verwaltung Linked List | ability to program a multi file program using data pointers and variable input from scratch | multi | guards | extend make | yes | data pointers variable input | no | donn |
| Week 8 | Lab7 | Prozesse und Threads | donn | |||||||
| Week 10 | Lab8 | Sync | Synchronisation | donn | ||||||
| Week 12 | Lab9 | File Operations | scia | |||||||
| Week 13 | Lab10 | IPC | scia | |||||||
| Week 14 | Lab11 | Bash | Bash | stsh |
Languages
C
42%
JavaScript
27.5%
HTML
14.2%
Makefile
5.2%
CSS
4.8%
Other
6.3%