Functional programming -- 2009-2010 -- info.uvt.ro
About
editAudience
editAgenda
editAs the Functional programming course is an introductory course, the purpose of the laboratory is to put in practice all (or at least the most important) theoretical concepts discussed during the lectures. Thus we are mainly concerned in:
- the functional paradigm and languages (as in how to solve this particular problem in a functional way?);
- programming in a functional manner (as in now that I've seen how should I solve this particular problem, let's actually implement, test and use it!);
All this should be achieved with the following setup: we could split ourselves (the students) into two (difficulty / interest) groups:
- basic -> medium (interest / involved effort into) functional programming (0.75x speed and effort);
- medium -> advanced (interest / involved effort into) functional programming (2x speed and effort);
For further details (a more granular view) please also consult the dedicated page.
References
editMy laboratory notes will mostly consist of:
- discussion topics;
- code snippets (examples, simple applications, etc.);
- proposed exercises and projects;
- links to external sources;
Thus as the laboratory is mostly a hands on experience, the theoretical topics should be covered by the lectures.
But I've also compiled a nice list of references at the following dedicated page. (Please also read my How to use these references? paragraph.)
Laboratories
editAs stated in the agenda there shall be two setups: basic -> medium, and medium -> advanced, thus I list them here, but these links are also found at the top of each page.
Medium -> advanced
editFor medium -> advanced (mostly discussion topics and links):
- agenda;
- laboratory 1 (1st week);
- laboratory 2 (2nd week);
- laboratory 3 (3rd week);
- laboratory 4 (4th week);
Basic -> medium
editThus basic -> medium functional programming (are almost entirely based on my notes from the previous year but somehow differently arranged in time):
- agenda;
- laboratory 1 (1st week);
- laboratory 2 (first part 2nd week, second part 3rd week);
- laboratory 3 (3rd -> 5th week);
- laboratory 4 (4th -> 6th week);
- laboratory 5 (4th -> 7th week);
- mid-term evaluation test on 7th week;
- laboratory 6 (7th -> 9th week);
- laboratory 7 (10th -> 11th week);
- laboratory 8 (11th -> 13th week);
- final evaluation test on 14th week;