Overview
Our objective in CSci 326 is to learn the core principles of functional programming, building programs by applying and composing functions with distinctly mathematical properties. We aim to better appreciate recursion as a programming technique, study the purely declarative construction of elementary data types, use mathematical logic to establish the correctness of programs, and learn to build simple concurrent and distributed systems using the unique advantages of functional programming languages.Prerequisite
Textbooks
- Programming Elixir 1.6 by Dave Thomas (required)
- Erlang Programming: Software for a Concurrent World, 2nd Ed. by Joe Armstrong (recommended/on reserve)
Staying Connected
- Office hour appointments: Calendly
- Course materials at BrightSpace
- Piazza Q&A platform
Social Media
Stephen P. Carl
scarl AT sewanee D0T edu