CSCI 354
Functional Programming and the Art of Recursion Fall 2014
Division III Quantitative/Formal Reasoning
This is not the current course catalog

Class Details

Functional programming takes as its central organizing principle the idea of evaluating functions rather than executing instructions. It supports programming at a high level of abstraction and carefully controlling side effects, which are critical given the ever-increasing sophistication of software systems. This course explores functional programming in depth, with a unifying focus on recursion. It combines practical programming experience in Haskell with a deep exploration of the underlying theory. Covered topics include algebraic data types, induction, lambda calculus, equivalence of iteration and recursion, laziness, folds and unfolds, termination analysis, and domain theory. These topics are of importance not only to functional programming per se, but also to the design and analysis of any software system.
The Class: Format: lecture/conference
Limit: 36
Expected: 20
Class#: 1997
Grading: yes pass/fail option, yes fifth course option
Requirements/Evaluation: evaluation will be based on weekly assignments, class presentations, programming projects, and examinations
Prerequisites: CSCI 136
Enrollment Preferences: current or expected Computer Science majors
Distributions: Division III Quantitative/Formal Reasoning

Class Grid

Course Catalog Archive Search

TERM/YEAR
TEACHING MODE
SUBJECT
DIVISION



DISTRIBUTION



ENROLLMENT LIMIT
COURSE TYPE
Start Time
End Time
Day(s)