Teacher: Michael R. Hansen.
Textbook: Functional Programming using F#, Chapters 1-7, 9. Michael R. Hansen and Hans Rischel, Manuscript, 2012. (Abbreviated HR.)
Week | Date | Topic | Read | Exercises |
---|---|---|---|---|
36 | 7. Sept. |
Course introduction Introduction to functional programming and F# Lists (brief introduction) Lecture1.pdf Lecture1_handout.pdf | HR 1 (a careful reading) and HR 2.1-2.6 (a fast reading) |
Introduction to using F#.
|
37 | 14. Sept. |
Functions, Basic types and Tuples Elements of list. Lecture2.pdf Lecture2_handout.pdf |
HR 2 and HR 3.1 - 3.7 (excluding 3.3 records) Browse through HR pages 67-76. |
|
38 | 21. Sept. |
Lists Lecture3.pdf Lecture3_handout.pdf |
HR 4 |
|
39 | 28. Sept. |
Tagged values Lists - Higher-order functions Lecture4.pdf Lecture4_handout.pdf |
HR 3.8-11 HR 5.1 |
HR 3.5, 3.6, 5.2, 5.3, 5.5 The curve mini-project. Available on CampusNet |
40 | 5. Oct. |
Collections: Sets and Maps Lecture6.pdf Lecture6_handout.pdf |
HR 5.2, 5.3 |
|
41 | 12. Oct. |
Finite trees (I) Lecture6.pdf Lecture6_handout.pdf |
HR 6 | HR 6.2, 6.8, 6.9 |
42 | 19. Oct. | Autumn vacation | ||
43 | 26. Oct. |
Finite trees (II) - Simple interpreters Lecture7.pdf Lecture7_handout.pdf - Lambda calculus (briefly) LectureLambda.pdf LectureLambda_handout.pdf |
HR 6 Have a look at Lambda Calculus |
|
44 | 2. Nov. |
Efficiency Lecture8.pdf Lecture8_handout.pdf |
HR 9 |
|
45 | 9. Nov. |
Modules Lecture9.pdf Lecture9_handout.pdf Verification (I) Verification1.pdf Verification1_handout.pdf |
HR 7 Notes |
|
46 | 16. Nov. |
Sequences Lecture10.pdf Lecture10_handout.pdf Verification (II) VerificationII.pdf VerificationII_handout.pdf |
Notes: Paulson pages 188-210 |
The last verification exercise on the slides. Exam 02157 from 2008 problems 2 and 3, and exam 02157 from 2009 problems 3 and 4. Available on CampusNet. (F# versions of old exam questions.) |
47 | 23. Nov. |
Test exam: Starts 8.15 in the auditorium Questions are now available on CampusNet At about 10.15: solutions are presented in the auditorium At about 11.00: a solution to the Lambda-calculus mini-project is presented. |
|
|
48 | 30. Nov. |
Imperative, asynchronous, parallel and monadic programming: A short story SML briefly. Lecture12.pdf Lecture12_handout.pdf |
|
|
49 | 7. Dec. |
Course evaluation Selected topic (short presentation) Exercise class |