| Professor: Caldwell | E-mail: jlc@cs.uwyo.edu |
| Office: 4074 Engineering Building | Phone:766-4913 |
| Office hours: Tu-Th (10:50-11:20),(2:35-3:05) Th:(4-5) W (10-12) (and when my door is open -- almost always) | |
| Class: meets Tuesday and Thursday from 9:35 -- 10:50 in EN 3112. | |
| Web Page: http://www.cs.uwyo.edu/~jlc/courses/3015/ | |
| Grader: Brandon Skari | E-mail: bskari@uwyo.edu |
| Office:4072 Engineering Building | Phone:766-4972 |
Prerequisites: COSC 2030
Textbooks:
|
The Haskell School of Expression: Learning Functional Programming through Multimedia by Paul Hudak Cambridge University Press, 2000 errata sheet |
|
Haskell: The Craft of Functional Programming (2nd Edition) by Simon Thompson Addison Wesley, 1999 This book is rather elementary -- but is widely used for teaching Haskell based functional programming courses. |
|
Purely Functional Data Structures by Chris Okasaki,Cambridge University Press, 1999 An excellent reference on efficient data structures and algorithms in a functional setting. Not required by highly recommended. |
|
Introduction Functional Programming using Haskell by Richard Bird, Prentice Hall, 1998 An alternative to the Thompson title with a more mathematically sophisticated and elegant presentation. errata sheet |
|
Higher-Order Perl: Transforming Programs with Programs by Mark Jason Dominus, Morgan Kaufmann, 2005 This highly praised book applies techniques of function programming in the setting of Perl. |
Abstract: Functional programming languages are distinguished from the "ordinary" imperative programming languages you already know ( e.g. Java, C++) by
Grading and Other Policies: Grades will be based on written
homework, an in-class midterm exam and a final exam. A standard
grading scale will be used, where an overall average of 90%-100% earns
an A, 80%-89% a B, 70%-79% a C, 60%-69% a D and 0%-59% an F. Work is
due at the beginning of class, and late work is accepted for a
few days, or until a solution is distributed, at a substantial
reduction in credit each day. Returned work should be kept for
verification of records.
Midterm Exam |
25% |
| Homework |
45% |
| Final Exam |
30% |
| 100%
|
The professor reserves the right to alter the grading scheme or to take extenuating circumstances into account when assigning grades. Discussion of the course material among students is encouraged, although students are expected to write up their own homeworks. Academic dishonesty will be treated in accordance with university standards. Students are urged to read University regulation 802 , section 3 defines academic dishonesty. University regulation 203 describes students rights to appeal and the appeal process.
Homework:
| No. | Due Date | Assignment | Remarks |
| 1 | Thursday: August 30 | Check out the website for the book.
Read the following articles:
|
|
| 2 | Tuesday: September 4 | Install the software for use with the book on your own computer. Do the following assignment hw2. |
Have a nice break. |
| 3 | Tuesday: September 11 | hw3.pdf | |
| 4 | Thursday: September 13 | hw4.pdf | |
| 5 | Tuesday: September 18 | hw5.pdf | |
| 6 | Thursday: September 20 | Do Exercise 2.5 on page 33 of the text. | |
| 7 | Tuesday: September 25 | hw7.pdf | |
| 8 | Tuesday: October 2 | Do exercise 3.2 on pg. 47 of the text | |
| 9 | Thursday: October 4 | Do probblems 5.2, 5.5, 5.6 on page 72 nd 73 of the text. | |
| 10 | Tuesday: October 9 | hw10.pdf | |
| 11 | Thursday: October 11 | hw11.pdf | |
| 12 | Tuesday: October 16 | hw12.pdf | Midterm will be on Thursday -- review in class on Tuesday. |
| 13 | Thursday: October 25 | hw13.pdf | |
| 14 | Tuesday: October 30 | hw14.pdf | |
| 15 | Thursday: November 1 | Do exercise 10.1 from the book. | Here is a link to the source code from the book. SOE Source |
| 16 | Tuesday: November 13 | hw16.pdf | a small test Set.hs and Lists.hs |
| 17 | Tuesday: November 7 Election Day | Read chapter 13 of the text and do problem 13.2 on page 183, parts 1,2, and 3. | |
| 18 | Thursday: November 29 | hw18.pdf | |
| 19 | Tuesday: December 4 | hw19.pdf | The exercise is at the end of discussion. |
Exams: