TDDD34 Programming with Applications in Engineering
Lab Material
Lab signup
All (MatLab) lab work shall be done together with ONE fellow student. Lab signup is done on the Lab signup page (in the menu on the left).
Lab demonstartion and approval
Finished (well tested and debugged) labs shall be approved by one of the assistants during laborations. Read the Common Requirements for instructions.
Look at the table below to see what assignments are mandatory for this course. Since there are several assignments in each lab, we have grouped some of them together. It is most convenient for us if you demonstrate the grouped assignments together. Do not wait until the deadline to demonstrate all assigments at once, demonstrate them some at a time. This will make it easier for the lab assistant, and he or she will be able to follow your development better.
Bonus time on the exam
Getting labs approved BEFORE the time expires (see the timetable) give you bonus time on the exam. Bonus time extends the time limit of grade 4 and 5. You will get 5 minutes for each lab deadline you meet.
Hard deadlines
At the end of the first period there is a deadline for lab 0, 1, 2, 3 and STONE. These assignments must be completed before that time (see the timetable for the exact time). We do not accept any demonstrations for these labs after the deadline and you will have to demonstrate them next year. There will be a similar deadline in period 2 for the remaining labs.
Lab instructions
Please Note: Since these labs are shared among multiple courses, you are not required to demonstrate all assignments! The table below states which assignments you are required to demonstrate. I advise you to print out a copy of the compendium and clearly mark which assignments are for you. Or, that you mark which ones you should not do (4.5 and 7.2). You are of course welcome to do the other assignments as well, but they generate no credit.
TDDD Assignment 34 44  0.1 x x 0.2 x x 0.3 x x 1.1 x x 1.2 x x 1.3 x 1.4 x x 1.5 x 2.1 x 2.2 x 2.3 x x 2.4 x x 2.5 x 3.1 x x 3.2 x x 3.3 x x 3.4 x x 4.1 x x 4.2 x x 4.3 x x 4.4 x 4.5 x 5.1 x 5.2 x 5.3 x 5.4 x 5.5 x 6.1 x x 6.2 x x 6.3 x 7.1 x 7.2 x
Miscellaneous files

plot_sin.m A function which tests
your recursive_sin.m in lab 5. Call the function like this:
plot_sin(@recursive_sin)
This function will plot the sin function for values between 2*pi and 2*pi (red line). It also plots a (nonrecursive) 6 term taylorexpansion of the sin function in that interval (green line). Finally, it plots your function for these values with a blue line. It the the your version of the sin function is correct, the green line should be covered entirely by the blue line.  plot_poker_hand.m A function which graphically plots a poker hand at a desired location (x, y). Usefull to check your eval_hand.m function from lab 7. Some code in the file has been deliberatly obfuscated. This is because these parts solve a part of the problem in the assigment.
 test_eval_hand.m A script which tests your function eval_hand.m from lab 7. plot_poker_hand.m is required for this script to run. The function firsts tests if permutations of the same hand gives different results (they should not). Then checks a set of pairs of hands. For each pair in the set it checks that the winning hand has a greater return value from eval_hand.m. At last it checks another set of pairs for which the outcome should be a draw.
Where are the old labs?
The 2013 lab series has had a major overhaul. If you attended this course previously and did not finish all the labs, talk to the lab assistant about your situation. You will most likely need to complete parts of the new lab series. The following is a file which shows how the old lab series relates to the new one.
Conversion between old (pre 2013) and new lab series
Page responsible: Erik Nilsson
Last updated: 20131105