Lecture 1-2
Covering dates and logistics of homework and lectures.
Learning Outcomes
- Describe functional and imperative languages and the differences between them.
- Weeks 1 - 2
- Apply recursion to solve algorithmic tasks.
- Weeks 3 - 4
- Apply common functional programming idioms such as map, filter, fold and scan.
- Weeks 5 - 8
- Write programs using a functional programming language.
- Weeks 9 - 10
Assessments
- Three programming assignments
- Assignment 1 - Recursion - 20%
- Week 4, deadline week 6
- Assignment 2 - Functional Programming idioms - 20%
- Week 7, deadline week 9
- Assignment 3 Write a full program - 25%
- Week 10, deadline week 12
- Assignment 1 - Recursion - 20%
- One class test - 25%
- Week 10, deadline week 12
- Weekly homework sheets - 10%