Introduction to Functional Programming – Programming Assignments | TDA555 / DIT440, LP1 2014 |
Home | Schedule | Labs | Exercises | Exam | About | FAQ | Fire | Forum | TimeEdit | Links |
Introduction to Functional Programming – Programming Assignments | TDA555 / DIT440, LP1 2014 |
Home | Schedule | Labs | Exercises | Exam | About | FAQ | Fire | Forum | TimeEdit | Links |
It is advisable that both students in a group are at a similar level. Otherwise, there is a risk that the more experienced student will do most of the work, and the other student will not learn much.
If you need to find a lab partner, please use the discussion forum of the course.
If you want to use the latest GHC version on the student computers (not required), please follow these instructions.
▷ Lab 2: BlackJack (2 parts)
▷ Lab 3: Sudoku (2 parts)
▷ Lab 4: Drawing Functions (2 parts)
All lab assignments must be submitted using an electronic submission system called "Fire".
Remember to register both yourself and your lab partner in your lab group before you submit! By default, the submission system does not accept submissions made by single persons.
Supervision is scheduled at various times and places on Tuesdays, Wednesdays, Thursdays and Fridays. There are no lab supervision times on Mondays.
Note: These times are not obligatory! The idea is that all of you will spread out over the week. You cannot come all at once anyway to get lab supervision, but once or twice a week should be possible. You can also work at home on your own computer on the labs (but then you will not get any lab supervision).
▷ The lab supervision schedule
You are encouraged to bring pen and paper to the lab sessions, as that makes it convenient for the supervisors to explain certain things.
You have to book a place in a scheduled lab supervision slot before you come to a lab room. The booking lists are on the bulletin board in the basement below "Cafe Linsen" in Linsen. For each slot, there is an appropriate number of squares. To book a workplace for you and your lab partner, put both your account names in a square to book a workplace.
Fairness rules:
Each lab (except the first one) has three deadlines.
First deadline:
Second deadline (one week later):
Final deadline (1.5 weeks after second deadline):
If you do miss a deadline, you may get a new chance at the end of the course. Otherwise, there is always a new opportunity to finish the labs next year.
The feedback that you get on your lab submissions will make use of the following symbols:
--
Your function f does not work
Denotes something that has to be corrected and submitted again
==
Your function f is a bit too complicated
Denotes something that has to be corrected only if the lab has to be submitted anyway
**
I see you have solved the problem
Just a regular comment, nothing to correct
++
Your implementation of f is better than mine!
Something extra good, should of course not be corrected
Cheating on labs is unacceptable. Cheating means:
If you have problems, you should talk to us instead of copying from others. If needed, you may get more time and more help. If this is not enough, it is advisable to redo the course next year. This option makes much more sense than cheating.
Some cheating can be detected by the lab graders, when they discover similar solutions (e.g. same code, but different comments, layout, variable names, etc.). At the end of the course, we will also use automatic software that checks for similarity between all submitted solutions.
This is what happens if we detect cheating: