The following list contains tasks we expect you to complete during TIES341.
The course goals are to study abstraction in context of functional programming and specifically, Haskell. As such this course is mostly a (semi)modern 'Haskell course' instead of a generic programming course.
At this point, there hasn't been enough human resources to create a polished course. Many parts are less than well thought of and many resources are just links to external resources with low cohesion. Also, we seriously need more practical examples. This doesn't matter that much though. The course can still be awesome if you step up and be active.
Since I'm not really great at making meaningful exercises, we have Projects instead. Here is how that works: instead of doing bunch of fixed exercises, you must demonstrate your understanding of each course topic by writing up a small project. For example, to get Credit 1, you need to write up one or more of the listed projects (or your own!) which shows that you can use and define functors and make meaningful use of monoids. We have tried to gather both easy and challenging projects. It does not matter if you only choose easy ones or do the same one multiple times, the challenging ones are there for those who wish to be challenged.