INF1A: Week 7

Functional Programming

In the seventh week of the course, in the Functional Programming strand, we'll finish data representation and data abstraction. We will also talk about the combination of laziness and higher-order functions, and about sorting. You will learn a bit about laziness and see different ways to sort lists.

On Friday there will be a special guest lecture from John Hughes from Chalmers University in Gothenburg, one of the main people behind Haskell and co-inventor of QuickCheck, and a Computerphile star. He will tell us about how he is using QuickCheck to help people in industry find bugs in their C code.

FP required reading: Textbook

  • Chapter 21: Data Abstraction
Computation and Logic

For CL Week 7, we continue our study of DNF and CNF, and implement it using the techniques you learned in FP last week. We will apply CNF satisfiability checking to the question of solving Sudoku puzzles. This will take only Thursday; on Friday there is a special guest lecture (for FP).

CL Required Reading

  • Chapter 19 of the textbook.

Tutorial 7 - tutorial pack

FP and CL Tutorial 7 sessions are held in Week 8.
Direct search links to materials on Learn (note that the tutorial materials only become available after the deadline of the previous tutorial):
License
All rights reserved The University of Edinburgh