TDDD33 Programming (C++)
Lecture/FÖ in the schedule means lecture. Lectures present language feature you will need on laborations. It is important to be curious, ask questions, and try the discussed topics on lab. Attending is the only way to get part of all information.
Lesson/LE in the schedule means lesson. Attending is the only way to get part of all information.
On the lessons your class will practice on examples related to the previous lecture. Exercises are solved and discussed together. It is important to be active and both ask and answer questions. You are allowed - intended - to do things "wrong" on lessons, in order to see why it is wrong and how to get it right. Do not be afraid to just guess how to do things if you do not know.
Introduction practice (LA)
The first week is dedicated to introduction practice with STONE, and to black-box testing.
STONE serves the purposes to introduce you to our computer environment and some tools. Most notably the UNIX environment and command line interface, which we will use during the labs. And most important, to Emacs, which is the program we write our source code in. The more you know of the command line, available commands and features of emacs, the more efficient you can work.
You must do STONE on your own. You can work on STONE whenever you find a free computer, but assistance will ONLY be available during the scheduled times. You may have to fetch the assistant in the "jour" room. See Timetable and Deadlines to know when STONE is scheduled. See the STONE section in the menu for information on what to do.
Black-box testing will let you try to find errors in a given program. Verifying that your programs work to specification is often the most difficult and the most important part of programming. In the later labs, and on the exam, you are expected to provide fault-free programs. It's not the assistant that should discover any faulty behaviour, it's you.
Programming laborations (SN)
SN in the schedule means computer laboration in SuN PUL (Program Assignment Laboratory). You must do all computer laborations together with a fellow student of your choice. You will learn more if your friend is less skilled than you, so I urge everyone to pair up with someone less or equally skilled. (Sometimes it is motivated to swap and work with someone on a more equal level, but it is best if you keep the same friend during all labs.) See the lab section in the menu to find lab instructions.
The most fatal mistake a beginner can do is to pair up with someone already very skilled, in the belief that the skilled person can teach them a lot. What really happens in that situation is that the beginner will never be challenged to think and do his/her own work, and thus not learn anything. The beginner will perhaps feel like understanding, but once on the exam he/she will discover the truth.
Attending labs is the only way to demonstrate solutions and get help from assistant. You should use this time well, do NOT use it to solve lab problems, DO use it to test and ask questions regarding your particular solution (that you prepared BEFORE the lab).
Note that course personnel easily can get overloaded, try firsthand to figure out how things work by reading in a book, manual page, online or systematic trial and error (be aware that what seems to work may still be wrong, a book or reference manual is the best source of accurate information). You can even ask a fellow student (preferably the one you work with) about how a language feature works. Beware however that solutions to lab problems may not be copied. You may not ask for solutions, accept solutions offered, or offer solutions to others. You can discuss with friends how the for-loop works in general, but you may not copy a specific for-loop they wrote from their screen, and they may not write the for-loop for you. Give your friends help by asking clever questions, do not give away solutions. (I may decide you was the one that copied the code, and not your friend.)
It's often worthwhile to listen in on others when they get help and hints from the assistant. That way you can get a little bit ahead of your mates, and you can spend your time with the assistant on other questions. Thus you learn twice as much.
The scheduled laborations are only a small part of the time you will need to complete the labs. You will have to find more lab time on your own. The lab computers are generally available 24/7 (24h/day, 7day/week), except during holidays and exams, but even then at least one room is usually open. If a computer is free you are allowed to use it, provided you do not interfere with scheduled activity (see the schedule next to the lab room door). It is sometimes OK to use a free computer also if some activity is scheduled in the room, but be prepared to leave the computer in favor of any students that attend the scheduled lab. Use your senses and be polite.
If you have scheduled lab you are supposed to ask anyone not belonging to your course to leave (look at what they are doing, and if it does not look like C++ and your labs they're probably using your computer). If someone refuse to leave, or if you're too shy, go to the assistant immediately. Do not go to a free computer in another room unless the assistant instruct you to.
Page responsible: Klas Arvidsson
Last updated: 2013-08-12