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
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
-
HEADERS
Column header 1
CLASSESColumn header 2DREQColumn header 3INSTRUCTORSColumn header 4TIMESColumn header 5CLASS#
-
CSCI 354 - 01 (F) LEC Functional Programming
CSCI 354 - 01 (F) LEC Functional ProgrammingDivision III Quantitative/Formal ReasoningBrent A. YorgeyTR 9:55 am - 11:10 am
Chemistry 2061997 -
CSCI 354 - 02 (F) CON Functional Programming
CSCI 354 - 02 (F) CON Functional ProgrammingDivision III Quantitative/Formal ReasoningBrent A. YorgeyW 1:10 pm - 2:25 pm
Clark Hall 2041998
Megamenu Social