700.015 (24S) Programming in C
Überblick
- Lehrende/r
- LV-Titel englisch Programming in C
- LV-Art Vorlesung-Kurs (prüfungsimmanente LV )
- LV-Modell Präsenzlehrveranstaltung
- Semesterstunde/n 2.0
- ECTS-Anrechnungspunkte 2.0
- Anmeldungen 52 (30 max.)
- Organisationseinheit
- Unterrichtssprache Englisch
- LV-Beginn 11.03.2024
- eLearning zum Moodle-Kurs
Zeit und Ort
LV-Beschreibung
Intendierte Lernergebnisse
The students should learn how to write small programs in C. We will also have a particular focus on writing efficient code. Furthermore, we will discuss potential pitfalls that can lead to extensive debugging if the programmer is not aware of it.
The class is designed to be helpful for both beginners, who want to get started with C, and for advanced C programmers who want to improve coding style and avoid common mistakes.
Lehrmethodik
Each class consists of a lecture part with slides and a discussion session. In the latter, students present solutions of tasks and we jointly evaluate and optimize the code.
Inhalt/e
The topics covered in the course will include:
- Introduction to the syntax of C
- Types, operators and expressions
- Control structures
- Functions and program structure
- Memory addressing and pointers
- Arrays and structures
- Memory management
- Input and output
Erwartete Vorkenntnisse
Students should have some basic knowledge in programming in any other language, such as JAVA. They are expected to be able to write a few lines of code, know how to use loops and work with functions.
Curriculare Anmeldevoraussetzungen
Students have to have passed the class "ESOP" or possess equivalent knowledge or basic programming skills.
Literatur
Book:
The C Programming Language (2nd Edition)
Brian Kernighan and Dennis Ritchie
C – Einführung und professionelle Anwendung (2nd Edition)
Peter Prinz and Ulla Kirch-Prinz, mitp 2007
Prüfungsinformationen
Prüfungsmethode/n
The students will be evaluated based on the weekly presentations of their solutions of programming tasks AND a written final exam.
Prüfungsinhalt/e
The exam will be based on the content of the lecture = slides presented in the lecure + programming tasks.
Beurteilungskriterien/-maßstäbe
Evaluation of students is based on their ability to produce C-code that is well-structured and optimized in terms of runtime. Furthermore, some fundamental knowledge about the theoretical background is expected by the end of the semester.
Beurteilungsschema
Note BenotungsschemaPosition im Curriculum
- Bachelorstudium Angewandte Informatik
(SKZ: 511, Version: 19W.2)
-
Fach: Freie Wahlfächer
(Freifach)
-
11 Freie Wahlfächer (
0.0h XX / 9.0 ECTS)
- 700.015 Programming in C (2.0h VC / 2.0 ECTS) Absolvierung im 1., 2., 3., 4., 5., 6. Semester empfohlen
-
11 Freie Wahlfächer (
0.0h XX / 9.0 ECTS)
-
Fach: Freie Wahlfächer
(Freifach)
- Bachelorstudium Angewandte Informatik
(SKZ: 511, Version: 17W.1)
-
Fach: Freie Wahlfächer
(Freifach)
-
Freie Wahlfächer (
0.0h XX / 9.0 ECTS)
- 700.015 Programming in C (2.0h VC / 2.0 ECTS)
-
Freie Wahlfächer (
0.0h XX / 9.0 ECTS)
-
Fach: Freie Wahlfächer
(Freifach)
- Bachelorstudium Informationstechnik
(SKZ: 289, Version: 22W.1)
-
Fach: Informationstechnische Vertiefung
(Wahlfach)
-
11a.2 Programming in C (
0.0h VC / 2.0 ECTS)
- 700.015 Programming in C (2.0h VC / 2.0 ECTS) Absolvierung im 3., 4., 5., 6. Semester empfohlen
-
11a.2 Programming in C (
0.0h VC / 2.0 ECTS)
-
Fach: Informationstechnische Vertiefung
(Wahlfach)
- Bachelorstudium Informationstechnik
(SKZ: 289, Version: 22W.1)
-
Fach: Informationstechnische Vertiefung sowie mathematische Ergänzung
(Wahlfach)
-
10b.2 Programming in C (
0.0h VC / 2.0 ECTS)
- 700.015 Programming in C (2.0h VC / 2.0 ECTS) Absolvierung im 3., 4., 5., 6. Semester empfohlen
-
10b.2 Programming in C (
0.0h VC / 2.0 ECTS)
-
Fach: Informationstechnische Vertiefung sowie mathematische Ergänzung
(Wahlfach)
- Bachelorstudium Informationstechnik
(SKZ: 289, Version: 17W.1)
-
Fach: Informationstechnische Vertiefung
(Wahlfach)
-
10a.2 Programming in C/C++ (
0.0h KS / 2.0 ECTS)
- 700.015 Programming in C (2.0h VC / 2.0 ECTS) Absolvierung im 5. Semester empfohlen
-
10a.2 Programming in C/C++ (
0.0h KS / 2.0 ECTS)
-
Fach: Informationstechnische Vertiefung
(Wahlfach)
- Bachelorstudium Informationstechnik
(SKZ: 289, Version: 17W.1)
-
Fach: Informationstechnische Vertiefung sowie mathematische Ergänzung
(Wahlfach)
-
10b.2.4 Programming in C/C++ (
0.0h KS / 2.0 ECTS)
- 700.015 Programming in C (2.0h VC / 2.0 ECTS) Absolvierung im 5. Semester empfohlen
-
10b.2.4 Programming in C/C++ (
0.0h KS / 2.0 ECTS)
-
Fach: Informationstechnische Vertiefung sowie mathematische Ergänzung
(Wahlfach)
- Bachelorstudium Robotics and Artificial Intelligence
(SKZ: 295, Version: 22W.1)
-
Fach: Design and Modeling Tools for Robotics
(Wahlfach)
-
8.2 Design and Modeling Tools for Robotics (
0.0h VO, VC, UE, KS / 12.0 ECTS)
- 700.015 Programming in C (2.0h VC / 2.0 ECTS)
-
8.2 Design and Modeling Tools for Robotics (
0.0h VO, VC, UE, KS / 12.0 ECTS)
-
Fach: Design and Modeling Tools for Robotics
(Wahlfach)
Gleichwertige Lehrveranstaltungen im Sinne der Prüfungsantrittszählung
-
Sommersemester 2025
- 700.015 VC Programming in C (2.0h / 2.0ECTS)
-
Sommersemester 2023
- 700.015 VC Programming in C (2.0h / 2.0ECTS)
-
Sommersemester 2022
- 700.015 VC Programming in C (2.0h / 2.0ECTS)
-
Sommersemester 2021
- 700.015 VC Programming in C (2.0h / 2.0ECTS)
-
Sommersemester 2020
- 700.016 VC Programming in C (2.0h / 2.0ECTS)
-
Wintersemester 2019/20
- 700.016 VC Programming in C (2.0h / 2.0ECTS)
-
Wintersemester 2018/19
- 700.016 VC Introduction to Programming in C (2.0h / 2.0ECTS)