700.015 (23S) Programming in C
Overview
- Lecturer
- Course title german Programming in C
- Type Lecture - Course (continuous assessment course )
- Course model Attendance-based course
- Hours per Week 2.0
- ECTS credits 2.0
- Registrations 46 (30 max.)
- Organisational unit
- Language of instruction German
- Course begins on 06.03.2023
- eLearning Go to Moodle course
Time and place
Course Information
Intended learning outcomes
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.
Teaching methodology
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.
Course content
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
Prior knowledge expected
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.
Curricular registration requirements
Students have to have passed the class "ESOP" or possess equivalent knowledge or basic programming skills.
Literature
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
Examination information
Examination methodology
The students will be evaluated based on the weekly presentations of their solutions of programming tasks AND a written final exam.
Examination topic(s)
The exam will be based on the content of the lecture = slides presented in the lecure + programming tasks.
Assessment criteria / Standards of assessment for examinations
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.
Grading scheme
Grade / Grade grading schemePosition in the curriculum
- Bachelor's degree programme Applied Informatics
(SKZ: 511, Version: 19W.2)
-
Subject: Freie Wahlfächer
(Optional subject)
-
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)
-
Subject: Freie Wahlfächer
(Optional subject)
- Bachelor's degree programme Applied Informatics
(SKZ: 511, Version: 17W.1)
-
Subject: Free electives
(Optional subject)
-
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)
-
Subject: Free electives
(Optional subject)
- Bachelor's degree programme Applied Informatics
(SKZ: 511, Version: 12W.1)
-
Subject: Free electives
(Optional subject)
-
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)
-
Subject: Free electives
(Optional subject)
- Master's degree programme Applied Informatics
(SKZ: 911, Version: 13W.1)
-
Subject: Freie Wahlfächer
(Optional subject)
-
Options (
0.0h XX / 6.0 ECTS)
- 700.015 Programming in C (2.0h VC / 2.0 ECTS)
-
Options (
0.0h XX / 6.0 ECTS)
-
Subject: Freie Wahlfächer
(Optional subject)
- Bachelor's degree programme Information and Communications Engineering
(SKZ: 289, Version: 22W.1)
-
Subject: Informationstechnische Vertiefung
(Compulsory elective)
-
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)
-
Subject: Informationstechnische Vertiefung
(Compulsory elective)
- Bachelor's degree programme Information and Communications Engineering
(SKZ: 289, Version: 22W.1)
-
Subject: Informationstechnische Vertiefung sowie mathematische Ergänzung
(Compulsory elective)
-
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)
-
Subject: Informationstechnische Vertiefung sowie mathematische Ergänzung
(Compulsory elective)
- Bachelorstudium Informationstechnik
(SKZ: 289, Version: 17W.1)
-
Subject: Informationstechnische Vertiefung
(Compulsory elective)
-
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)
-
Subject: Informationstechnische Vertiefung
(Compulsory elective)
- Bachelorstudium Informationstechnik
(SKZ: 289, Version: 17W.1)
-
Subject: Informationstechnische Vertiefung sowie mathematische Ergänzung
(Compulsory elective)
-
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)
-
Subject: Informationstechnische Vertiefung sowie mathematische Ergänzung
(Compulsory elective)
Equivalent courses for counting the examination attempts
-
Sommersemester 2024
- 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)