Bootstrapping


What is proof (technically, not philosophically)? What can you do with a secret? What is entropy? Must god throw dice? Come on a journey of math, physics, and computation as we pull ourselves up by our bootstraps to answer these questions and more.

2019–20 Syllabus

There are two Bootstrapping workshops, the Base workshop and the Advanced Track workshop. Enrollment in the Base workshop is required for enrollment in the Advanced Track workshop.

Base Workshop

The Base workshop meets on Wednesdays 3rd period. The normal workshop drop/add deadline applies. It gets you out of options once per week.

The requirements are to arrive on time, to give feedback on the class by completing the given feedback form as specified, and to be ready to learn!

Advanced Track Workshop

The Advanced Track workshop does not meet. Instead, there is one assignment for each weekly meeting of the Base workshop, posted in Practice (with related submission instructions). If you would like to drop/add this workshop after the normal deadline (and are in the Base workshop), let me know. It gets you out of options twice per week.

The requirement is to complete the weekly assignments as they are specified. Typically, the deadline is Friday end of day of the week containing the class to which the assignment corresponds.

Fall

We focus on Functional Programming, first going over foundations, and then diving into Haskell. Once we have familiarized ourselves with Haskell and to the functional programming paradigm, we will take things one step further, with the language Agda, which has similar syntax as Haskell. With Agda, we will explore how formal mathematical proofs can be written so that their correctness can be checked by a computer and recognize this fundamental connection between proof and computation known as the Curry-Howard Correspondence.

Students in the Advanced Track will solve short programming and related problem-solving assignments and will see first hand the beauty and concision of functional programming.

Winter

We move on to the internet, considering the way that it is structured and controlled, covering things such as the internet protocol stack, the domain name system, and cryptography. This may segue to explorations of algorithms, complexity, abstract algebra, and number theory, according to student interest.

If there is interest, students in the Advanced Track will build their own static (html/css/js) websites using GitHub Pages.

Spring

According to student interest, we may dive into the connections and applications of physics to computation by exploring the relation of thermodynamics and information theory, and between quantum mechanics and quantum computation.


sitemap

Home

Chapters

CHAPTERS

C233 Haskell

LECTURES

Lambda Calculus

Practice

AT0 2019-09-18

AT1 2019-09-25

AT2 2019-10-02

AT3 2019-10-23

AT4 2019-10-30

AT5 2019-11-06

AT6 2019-11-13

AT10 2019-12-11

AT11 2019-12-18

Reference

For Everyone

Miscellany

About Me

COMPUTERS

git

Haskell

Feedback