The tealeaf pre-course programming exercises