Software System Design and Implementation (18s1)

Course Schedule

Table of Contents

This is a tentative course schedule, which will evolve during the semester.

NOTE: I am putting up my lecture slides. However, these slides are not a complete representation of the material covered in the lectures, and they are no substitute for attending the lectures. I am supplying a lot of information during the lecture that is not on the slides (verbally, on the whiteboard, on the overhead projector, and by coding live). It is your duty to ensure that you are aware of and study that extra material by attending the lectures and making your own notes. The extra information that I supply in the lecture is examinable.

NB: Please make sure that you study the material listed under Additional information. I expect that you will read the referenced articles and they may be part of questions in the final examination. Optional material will be marked explicitly.

1 Lectures

Week Topic Slides Additional Material
1 Introduction and Course Overview Monday Thursday Notes
2 Introduction to Functional Programming in Haskell Monday Thursday Haskell Tutorial (first two chapters), Code
3 Property-based Testing I, Guest Lecture by Patrick Flanagan, Jane Stree Capital    
4 Property-based Testing II   Real World Haskell Book on Quality Assurance
5 Functor, Applicative, and Monad    
  Midsession Break    
6 Controlling Effects    
7 Machine Checked Properties    
8 More on GADTs, Guest lecture by Erik de Castro Lopo    
9 Existentially quantified types and higher-ranked polymorphism    
10 Curry Howard Isomorphism    
11 Case Study: Accelerate    
12 Revision    

2018-03-23 Fri 13:33

Announcements RSS