Functional programming lecture project