TDDA69 Data and Program Structures
- Lab 1 Introduction to functional programming (lab1_Introduction_to_Functional_Programming.pdf, account.py, constraints.py and temperature.py)
Errata Footnote 2, p2 should be foldl. Task 1.2.c (orange) is optional. It should be \frac87 not \frac78.
- Lab 2 Utility classes for an interpreter (lab2_utility_classes_interpreter.pdf)
- Lab 3 Tree interpretation (lab3_tree_interpretation.pdf)
- Lab 4 Macro (lab4_macro.pdf)
- Lab 5 Bytecode executor (lab5_bytecode_executor.pdf)
- Lab 6 Garbage collector (lab6_gc.pdf)
- Lab 7 SQpy (lab7_sqpy.pdf)
Repo for handing in
There are no strict intermediary deadlines. We recommend that you are done with lab3 at the end of Vt1.
But you should have validated all your labs before the first week of June.
New, ad hoc fix. As per sudden request, we will not use the SVN server for handins. Instead, create a common GitLab repo for your lab group's course work (unless you already have one). Use a good name, containing your LiU-ID:s (eg tdda69-svesv000-lotsv000). Add users andma54 and andma397 to the project, with proper rights. Create some directory called "redovisning" in the repo, and place your handins there. The very much ad hoc part: Send me an email with the commit number, and a subject starting with the course code, like "TDDA69: Grupp X labb Y".
All labs should be submited in subversion, see submission information.
For students of previous years
For students of previous years who have not yet completed the labs, whether you should do the new or old labs will be decided on case-by-case basis (depending on how much of the old labs you have already completed). Please contact Anders for further information.
Setup on the university computersStarting from Lab2, you will be working on the espy interpreter. The source code for those labs can be found in /home/TDDA69/Labs.
Get the code:
cp -r /home/TDDA69/Labs/espy .
Previous yearsYou can access the labs from the previous years:
Page responsible: Cyrille Berger
Last updated: 2017-01-27