chanel 9 lecture: funtional programming fundamentals