Skip to main content

INF1A - top navigation

  • Learn
  • Piazza
  • DRPS

Breadcrumb

  1. Home
  2. INF1A: Informatics 1 - Introduction to Computation

INF1A: Week 10

Functional Programming

In the 10th week of the course, in the Functional Programming strand, we will learn about input/output (IO) in Haskell and monads. Monads are a very useful abstraction to structure computations that use IO or other so-called effects such as failure, logging, nondeterminism, and state. This will take place across two lectures:

  • FP lecture 19-20: IO and Monads (code)

Video: Haskell is Useless with Simon Peyton Jones, Eric Meijer and Butler Lampson at Microsoft Research, Cambridge

FP required reading: Textbook

  • Chapter 30: Input/Output and Monads
Computation and Logic

For CL Week 10, we continue to study Finite State Machines.

  • CL-Week10.pdf

CL Required reading

  • Chapter 29, Non-Deterministic Finite Automata
  • Chapter 31, Regular Expressions

Tutorial 10 - tutorial pack

FP and CL Tutorial 10 sessions are held in Week 11.
Direct search links to materials on Learn (note that the tutorial materials only become available after the deadline of the previous tutorial):
  • FP Tutorial 10: Content / Informatics 1 - Introduction to Computation (2023-2024)[SEM1] (ed.ac.uk)
  • CL Tutorial 10: Content / Informatics 1 - Introduction to Computation (2023-2024)[SEM1] (ed.ac.uk)
License
All rights reserved The University of Edinburgh

Book traversal links for INF1A: Week 10

  • INF1A: Week 9
  • Up
  • INF1A: Week 11

Navigation links

  • INF1A: Course Materials
  • INF1A: Resource List
  • INF1A: Assessment
  • INF1A FP Competition
  • INF1A: Maths for Computing
  • INF1A: Week 1
  • INF1A: Week 2
  • INF1A: Week 3
  • INF1A: Week 4
  • INF1A: Week 5
  • INF1A: Week 6
  • INF1A: Week 7
  • INF1A: Week 8
  • INF1A: Week 9
  • INF1A: Week 10
  • INF1A: Week 11
RSS feed

Opencourse privacy & accessibility statements; contact Informatics, ILTS.