This page supports you to reach your course goals ― hence logistics 🛣️.
Contract¶
Semester schedule 📆¶
| Id | Date | CW | Topic | Notes |
|---|---|---|---|---|
| 1 | Sep. 2 | 36 | Logistics & flowchart | |
| 2 | Sep. 9 | 37 | Prog. concepts | |
| 3 | Sep. 16 | 38 | C basics | |
| 4 | Sep. 23 | 39 | Structured prog. dev | |
| 5 | Sep. 30 | 40 | Program control | |
| 6 | Oct. 7 | 41 | Functions | |
| 7 | Oct. 14 | 42 | 🏖️ | |
| 8 | Oct. 21 | 43 | Arrays | |
| 9 | Oct. 28 | 44 | Pointers | mulighed for frivillig mundlig eksamen starter melde dig max 2 hver uge |
| 10 | Nov. 4 | 45 | Char and String (Formatted IO?) | |
| 11 | Nov. 11 | 46 | Struct | |
| 12 | Nov. 18 | 47 | File | |
| 13 | Nov. 25 | 48 | AI coding | |
| 14 | Dec. 2 | 49 | TBD | |
| Dec. 11 | 50 | 📚 | ||
| to. Dec. 17 | 51 | Exam 1. dag | E5-A - EE studerende har 62762 eksamen - de kan vælge en anden dag | |
| fr. Dec. 18 | 51 | Exam 2. dag | E5-B - tilsigtet dag for 62712 | |
| mo. Dec. 21 | 52 | Exam 3. dag | ||
| ti. Dec. 22 | 52 | Exam 4. dag | ||
| on. Dec. 23 | 52 | Exam 5. dag |
Contact & communication¶
Online: For class-related and non-private questions, start a conversation in Discussions[1], Q&A section. Otherwise mail.
Fysisk: efter timen[2] (foretrukket) ellers komme forbi tirsdags kl 1600 på X2.19.
Course purpose¶
Fra officiel kursusbeskrivelsen:
At udvikle grundlæggende programmeringsfærdigheder i C, så du kan skrive programmer på en læsbar og systematisk måde samt teste og analysere deres funktionalitet.
Du ville ikke kun lære C, men basale programmeringskoncepter, som løkker og betingelser. Efter dette kursus vil det være nemmere at lære andre sprog.
Indholdet er især relevant for:
Elektroteknik 2. sem: Datateknik og programmering
mikrocontroller programmeres i C
Elektroteknik 4. sem: Design af Digitale Systemer
VHDL også bruger basale programmeringskoncepter som variabler og betingelser
I vil bruge en soft-core processor, som programmeres i C
Energiteknik 1. sem: Måling og styring med mikroprocesser
mikrocontroller programmeres i C
Kursusindholdet, som er formuleret med nemt sprog, kan du finde på officiel kursusbeskrivelsen.
Lokale¶
D1.72 (Seminarrummet)
Weekly class structure¶
We will begin each class with a test about previous weeks and homework. Then we will discuss together the solution. Then, we will introduce the new topic with ~10-15 min lecturing and ~5-30 min student activity blocks. There is no test in the first week.
My teaching philosophy is Hands-on so you can learn. In teaching practice, it means that the student does not watch someone doing or explaining something, but does it themself. Therefore, I integrate activities during the class instead of long lecturing.
I expect you to prepare for class and show up, because even there will be some lecturing, these will be relatively short (~10 min). Without preparation, you may feel lost during the class. It is important that you show up so we can create an inclusive learning environment, where we all help each other to grow.
Assessment¶
Work | Noter |
|---|---|
Afleveringer ved timens start, fx test | adgangsgivende[3], ingen karakter. Formål: Mulighed for at vurdere din individuel præstation og have en struktur gennem semestret. |
Afleveringer som hjemmearbejde | adgangsgivende, ingen karakter. Giver dig struktur og del af din vurdering i mundtig eksamen |
Mundtlig eksamen | Endelig, enkel karakter |
Mundtlig eksamens struktur:
(~7 min) Sammen gennemgår vi en af dine afleveringer. Du ved ikke i forvejen, hvilken.
(~7 min) Du svarer du på spørgsmål baserede på læringsmålene fra hele semesteret.
(~1-2 min) Du får feedback og karakter.
Hver adgangsgivende aflevering har en frist. Se Weekly deadlines for homework.
Efter eksamensregistration-perioden er afsluttet, vil jeg distribuere tilfældigt alle på flere dage. I vil få mulighed for at bytte plads med hinanden. En eksempel køreplan ser sådan ud: exam-plan-hour.ods.
Weekly deadlines for homework¶
Deadline | Name | Notes | Adgangsgivende? |
|---|---|---|---|
Lecture start +1 hour (Mon 14:00) | Test deadline | You have to be present | yes |
Lecture start +5 days (Mon 13:00) | Submission deadline (SD) | visible on Classroom50 and Learn | yes |
SD +2 days (Wed 13:00) | Peer feedback deadline | only visible on Learn kurskalenderen | no |
SD +9 days (next Wed 13:00) | Resubmission deadline | only visible on Learn kurskalenderen | no |
The deadlines are strict. Even the system allows submissions (including the initial one) after the first deadline, we keep track 🙂. Hvis du afleverer efter en adgangsgivende deadline, så mister du en frist. Du må maks. to gange miste en adgangsgivende frist. Hvis du er nødt til at misse tredje frist, skal du have en gyldig begrundelse og snakke med mig. Hvis du mister tre gange, så må du ikke deltage i eksamen.
Hvis du afleverer et projekt, som ikke tilsvarer de stillede opgaver, gælder det ikke som aflevering. Din aflevering skal give mening.
Afleveringerne, der hører til den første uge (hjemmearbejde, test) er øvelser for jer. De efterfølgende afleveringer tæller.
Feedback¶
Der vil være forskellige måder du får feedback på:
Automatiske tests i repository
Opgaver ved timens start & gennemgang af opgaver
TA’en giver feedback til nogle af jer hver uge i round robin, så hver studerende får feedback mindst én gang i løbet af semesteret.
Efter feedbacken skal du rette din løsning og aflevere igen.
Peer feedback to homework¶
I vil give feedback til hinanden baseret på kriterier vi giver jer.
Typisk process hver uge:
2 dage tid til peer feedback efter afleveringsdeadlinen (I får en introduktion her: Peer feedback)
Peer feedback grupperne dannes i første uger af jer og i næste uger vil jeg også hjælpe med at blande grupperne.
Expected workload¶
Work | Hours (h) |
|---|---|
Homework | 6 per week |
Class | 4 per week |
Exam prep | 10 |
Total | 140[4] |
These are averages I recommend if you want to get a good grade. Alternatively you could just do the bare minimum, e.g., required assignments, spend less time during the semester, and put more time towards the exam. However I recommend reviewing throughout the semester (spaced retrieval).
Please keep track of your weekly working hours, e.g., in your course diary – we will use this information for course evaluation later. More importantly, it will help us to adjust the workload, so you can learn best.
Feedback persons¶
In each session I will ask for two students to volunteer as feedback persons. They will observe teaching and learning during class, for example the difficulty, engagement, and duration of activities. Other students can share feedback with them. I will end class about 15 min early so I can discuss the observations with the feedback persons.
This gives the instructor continuous feedback and gives you an opportunity to reflect on the learning environment, not only the course content.
Students with disabilities¶
Be aware about our university’s special educational support (Special Pædagogisk Støtte (SPS)).
Course text and further resources¶
C How to Program. I skal løse opgaver og læse fra bogen som forberedelse.
Koder fra bogen og andre ressourcer: https://
Kun en meget ældre version af bogen er gratis tilgængelig på DTU Findit.
Yderligere avancerede resurser:
2017, C, 2nd edition, George Tselikis et al.
Intermediate to advanced
many exercises
includes bitwise operations already in the beginning, which is important for microcontroller prog
available for free on DTU Findit
2024, Effective C, Robert Seacord,
intermediate and advanced
few exercises per chapter
updated for C23
available for free on DTU Findit
Modern C, Third Edition by Jens Gustedt,
intermediate and advanced
introduces the newest features of C
No exercises
Video and audio version also available
CC-BY-NC-ND version: https://
inria .hal .science /hal -02383654 available for free on DTU Findit
Modern C for absolute beginners, Sobodan Dmitrovic
available on Findit
Exercises not precisely formulated.
Navigating the learning materials¶
Every week will have the same structure with preparation, class, and homework. Class page will be long. Make use of:
CONTENTS menu on the right column.
Exercises will be marked with
E:, so you can find them easier later.
Search field on the right top.
Breaks¶
Vi vil have omkring 10-15 min pause hver klokketime.
Tid | Aktivitet |
|---|---|
13:00–13:45 | Undervisning |
13:45–14:00 | Pause |
14:00–14:45 | Undervisning |
14:45–15:00 | Pause |
15:00–15:45 | Undervisning |
15:45–16:00 | Pause |
16:00–16:45 | Undervisning / Hjælp til hjemmearbejde |
16:45–17:00 | Mødet med feedback personer |
TA¶

Som tidligere C Programmering studerende, Xingjia har hjulpet med at skære ned nice-to-know emner for at frigøre mere plads til en langsommere introduktion til programmering.
Hun vil give feedback under øvelserne og hjælpe i første uger med GitHub og VS Code.
Instructor¶

I have a computer engineering background. In the past, I used C in microcontroller programming, for example for building an embedded washing machine reservation system for my student dormitory and programming robots.
I lived nearly two decades in Germany 🇩🇪 and I am born in Türkiye 🇹🇷. Jeg taler dansk på et rimeligt niveau, men jeg vil gerne forbedre mig! Så tale med mig på dansk! As hobby, I dance Argentinian Tango 💃 and play the guitar 🎸.
I’d like to get to know you better outside of class. I’m usually at Verners on Fridays, if they are open — feel free to come find me there.
Adjustments¶
Her er ændringerne sammenlignet med sidste år baseret på feedback fra studerende:
Læringsmålene og indhold er tilpassede, så en del nice-to-know indhold er fjernet for at frigøre plads til en langsommere introduktion. For eksempel har vi nu flere timer til flowcharts, projektaflevering, og værktøj-installation. Til gængeld er linked lists, dynamisk memory management og funktionspointere er fjernet.
Kursets mål & deliverables vil blive klar i første time
Mere feedback se Peer feedback to homework.
Jeg vil bruge skiftende feedbackpersoner hver uge for at træne og etablere konstruktiv feedback gennem semestret.
Eksamen skal trænes tidligere i semestret gennem prøveeksamener
Kompleksitet og omfang af afleveringer er mindre bl.a. ved hjælp af code templates.
Tidligere kursus materialierne¶
Hvis du er nysgerrig: Legacy materials
Det betyder: du skal aflevere, så du må deltage i eksamen.
Why Discussions?
Other apps like Discord and Whatsapp are popular, but peoples’ issues get usually lost. Q&A section in discussions enables threads and provides a way to flag problems as solved.
We want to keep the tools we use minimal. Therefore we will try to use Discussions for all communication.
Hvorfor ikke før timen? Jeg er optaget af forberedelse lige inden timen starter.