thien / haskell-for-beginners

Environment and problem sets for Haskell For Beginners class

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Haskell for Beginners

This is a collection of homework problems created to teach the Haskell for Beginners class at The Hacklab @ North Boynton. The problems follow the text for the class, Learn You a Haskell for Great Good!, chapter by chapter. Each problem file has problems intended to exercise the knowledge learned in just one section heading of the chapter that it is in. The chapter numbers given below follow those for the online text. If you are using the physical text, the chapter numbers in the book lag behind by one until you get to chapter 10. Chapters 8 and 9 in the together cover the the context of chapter 9 online.

In addition there is a small midterm project to be completed after Chapter 8.

Week 1

Chapter 1 - Introduction

Week 2

Chapter 2 - Starting Out

Week 3

Chapter 3 - Types and Typeclasses

Week 4

Chapter 4 - Syntax in Functons

Week 5

Chapter 5 - Recursion

Chapter 6 - Higher Order Functions

  • Curried functions
  • Some higher-orderism is in order

Week 6

Chapter 6 - Higher Order Functions

  • Maps and filters
  • Lambdas
  • Only folds and horses
  • Function application with $
  • Function composition

Week 7

Chapter 7 - Modules

Week 8

Chapter 8 - Making Our Own Types and Typeclasses

  • Up to and including beginning of Kinds
  • Type-foo section of Kinds is not included

Midterm

Implement a simple text adventure engine.

Week 9

Chapter 9 - Input and Output

  • Hello, World!
  • Files and streams
    • Up to (not including) Avril Lavigne

Week 10

Chapter 9 - Input and Output

  • File and streams
    • From Avril Lavigne on
  • Command Line Arguments
  • Randomness
  • Bytestrings (Exceptions are skipped)

Week 11

Chapter 10 - Functionally Solving Problems

Week 12

Code Week! Work on any programming problems you can find on the internet and bring your questions to class.

Week 13

Chapter 11 - Applicative Funtors

  • Functors Redux
  • Applicative Functors

Week 14

Chapter 11 - Applicative Funtors (monoids)

  • The Newtype Keyword
  • Monoids

Week 15

Chapter 12 - A Fistful of Monads

Week 16

Chapter 13 - For a Few Monads More

Special Thanks

To the intrepid students who allowed themselves to be experiment on in the course and helped shape the homework problems.

class picture

from L to R, top to bottom

  • David Blackmon
  • Eden Delgado
  • David Vollbracht (instructor)
  • Patrick Kennedy
  • David Vitrant

About

Environment and problem sets for Haskell For Beginners class


Languages

Language:Haskell 100.0%