Abstract
Books and e-books are passive learning methods which cannot meet the needs of all students. Currently there exists a need for an active learning environment for functional programming. A courseware which allows the student to learn concepts of functional programming, do self-evaluation on their understanding of the concepts, explore the concepts learnt in further depth and complexity is required. The intention of this project is to develop a web based course ware that will improve and speed up the learning process of the students. The topics included in the courseware are : (i) Introduction to functional programming, (ii) History and success stories of functional Programming, (iii) Lambda Calculus, (iv)List, (v)List as calculator, (vi)How to use Racket, (vii)Built in functions (car, cdr, cons, length, cond and others), (viii) How to define functions, (ix)Anonymous functions, (x) High order functions, (xi)Tail recursion, (xii)Programming exercise and References. Self-evaluation is accomplished by providing multiple choice questions. These questions will test the students’ knowledge of theoretical concepts in functional programming and the usage of the built-in functions in DrRacket. Each topic is followed by Quiz questions. When the student selects an answer, the answer is evaluated and the explanation for the correct answer is given. List of programming exercises are given. Clicking on each exercise will provide the problem statement and will have the option of seeing a hint or the answer. Normally in books either the answers for the programs are given immediately or not at all. This will create situation where students are not motivated to solve it or cannot verify the answer. The exercise in this courseware will encourage the students to solve the problem in their own pace as well as verify if their answer is correct.