For Expressions and Monads-Recap: Getting Started with Tools
Introduction
()
Working on Assignments
Tools Setup (Please read)
Grading Policy
SBT tutorial and Submission of Assignments (Please read)
Cheat Sheet
Scala Style Guide
Learning Resources
Reactive Cheat Sheet
For Expressions and Monads-Week 1: For Expressions and Monads
Week 1 Introduction
()
Recap: Functions and Pattern Matching
()
Lecture 1.1 - Queries with For
()
Lecture 1.2 - Translation of For
()
Lecture 1.3 - Functional Random Generators
()
Lecture 1.4 - Monads
()
Lecture 1.5 - Exceptional Monads
()
Lazy Evaluation-Week 2: Lazy Evaluation
Week 2 Intrduction
()
Lecture 2.1 - Structural Induction on Trees
()
Lecture 2.2 - Lazy Lists
()
Lecture 2.3 - Lazy Evaluation
()
Lecture 2.4 - Computing with Infinite Sequences
()
Lecture 2.5 - Case Study: the Water Pouring Problem
()
Type-Directed Programming-Week 3: Type-Directed Programming
Motivating Example
Type-Directed Programming
Type Classes
Conditional Implicit Definitions
Implicit Conversions
Week 3 Introduction
()
Lecture 3.1 - Contextual abstractions
()
Lecture 3.2 - Using clauses and given instances
()
Lecture 3.3 - Type classes
()
Lecture 3.4 - Abstract algebra and type classes
()
Lecture 3.5 - Context passing
()
Lecture 3.6 - Implicit function types
()
Functions and State-Week 4: Functions and State
Week 4 Introduction
()
Lecture 4.1 - Functions and State
()
Lecture 4.2 - Identity and Change
()
Lecture 4.3 - Loops
()
Lecture 4.4 - Extended Example: Discrete Event Simulation
()
Timely Effects-Week 5: Timely Effects
Week 5 Introduction
()
Lecture 5.1 - Imperative Event Handling: The Observer Pattern
()
Lecture 5.2 - Functional Reactive Programming
()
Lecture 5.3 - A Simple FRP Implementation
()
Conclusion
()
Timely Effects-Conclusion
Conclusion
()