TDDE79 Imperative programming in C++
Overview
Lab signup
All lab work shall be done together with ONE fellow student. Demonstration "on your own" will not be permitted. Use the link "Lab signup" in the menu to left. You should always demonstrate labs with the student you worked together with.
Lab demonstration
Finished (well tested and debugged) labs should be approved by one of the assistants. Lab demonstration is done during scheduled lab sessions. Raise your hand and tell the assistant you want to demonstrate. The assistant will ask you to do the demonstration. Both students should be prepared to show and explain all code part of the lab, answer questions on the techniques used in the lab, and explain how the program reacts to certain input.
Lab approval
Once the assistant is happy with your demonstration the handin for the lab will be unlocked by the assistant. You can prepare this by clicking the "Unlock submission" link in the menu. After unlocking you will be able to handin the code through Sendlab. Make sure to correct anything the assistant noted before handing in.
Check this page to see how to hand-in your code!
Optional warmup
We recommend you do these optional warmup exercises (last modified 2026-08-21 at 10:04 )
Note: these exercises should not be demonstrated, nor are they handed in or assessed. These are just self-study exercises you can do to familiarise yourself with C++ using smaller exercises before tackling the first lab. No solutions will be provided.
Optional pointer/memory exercises
You are encouraged to solve the following exercises to get a better grasp of pointers and related memory issues: Memory exercises (last modified 2026-08-21 at 10:33 )
Note: these exercises should not be demonstrated, nor are they handed in or assessed.
Lab instructions
- Lab 1 (note: This has three parts): Basic input and output, Tax table and Word length
- Lab 2: Time (last modified 2026-09-23 at 11:26)
- Lab 3: Linked list . You can find memory leaks with a tool called Valgrind (last modified 2026-08-31 at 07:47)
Working on labs from home
Your responsibilities in order to learn
- Let us know what you need from us
- Attend lectures and ask questions
- Read the book and study examples
- Attend lessons, participate actively and ask questions
- Study, modify and write small experimental programs that focus on how one particular feature of C++ works
- Prepare lab solutions at home
- Discuss different solution approaces with your lab partner
- Attend labs and write lab solutions
- And so on ...
Rules for examination of computer lab assignments at IDA
You are expected to do lab assignments in group or individually, as instructed for a course. However, examination is always based on individual performance.
It is not allowed to hand in solutions copied from other students, or from elsewhere, even if you make changes to the solutions. If there is suspicion of such, or any other form of cheating, teachers are obliged to report it to the University Disciplinary Board.
Be prepared to answer questions about details in specific code and its connection to theory. You may also be asked to explain why you have chosen a specific solution. This applies to all group members.
If you foresee problems meeting a deadline, contact your teacher. You can then get some help and maybe the deadline can be set to a later date. It is always better to discuss problems, instead of, e.g., to cheat.
Any kind of academic dishonesty, such as cheating (e.g., plagiarism, use of unauthorized assistance, and use of prohibited AI-based assistants) and failure to comply with university examination rules, may result in the filing of a complaint to the University Disciplinary Board. The potential penalties include suspension, warning.
Policy for handing in computer lab assignments at IDA
For all IDA courses having computer lab assignments there will be one deadline during or at the end of the course. If you fail to make the deadline, you must retake the, possibly new, lab course the next time the course is given.
If a course deviates from this policy, information will be given on the course web pages.
Page responsible: Jacob Törnberg Zeinetz
Last updated: 2026-08-21
