|
Title: Project Everest: Verified Secure Compenents in WebAssembly Speaker: Jonathan Protzenko Summary: Project Everest is a multi-institutional effort that aims to build a stack of formally verified…
|
|
Now that we know how generators work, it is time to write our own. In this video we show how easy it is. We just take out experience with the accumulator pattern and replace the accumulator with a…
|
|
Even though you only need to implement three methods in GameApp subclass, this methods will eventually get very long. In this video we introduce the concept of application state, and talk about how…
|
|
We can always replace for-loops with while-loops, but should we? In this video we talk about the trade-offs of the two control structures and why it might be better to use over the other.
|
|
In this video we introduce two new patterns for while-loops: using a goal condition and using a boolean tracking variable. We see how these patterns allow us to write functions that we could never…
|
|
In ths presentation, we will spend the time creating several example classes. This is another major part of the next exam.When we work with classes, it is very important to pay attention to…
|
|
This video introduces an advanced topic that is completely optional and will not appear on any exam. Classes like RGB and Point3 appear to enforce their invariants without any getters and setters.…
|
|
In this previous video we introduced the concept of getters and setters. But how do we force the user to use these when the attribute is so much simpler. In this video we talk about the concept of…
|
|
Once you have the interface to a class, it is time to start writing code. As we see in this video, the idea is much the same as writing functions. However, attributes – and specifically…
|
|
When designing a class, we need to come up with the interface first. In this video we talk about how to do that. We approach this problem returning to our understanding of types: a collection of…
|
|
When we implement (or define) a function, we are given a specification and we complete the rest of the body to match the specification. We will do the same thing for classes as well. But as we see in…
|
|
In addition to attributes, objects also have methods. In this video, we show how to add a method definition to a class. For the most part, it is as simple as indenting a function definition inside of…
|
|
Classes are something we can define. That means we need a specification to tell us what it means for a definition to be correct. In this video we cover the basics of a class specification, and show…
|
|
In this video we show you the basic format of a class definition. However, classes can contain a lot of features, so our classes will be very simple for this demonstration.
|
|
Slicing a list creates a copy. In this video we show what this means for nested lists. In particular, we show that sometimes a copy is not really a copy after all, and that we have to distinguish…
|
|
Divide-and-conquer is not the only example of recursion. It just happens to be one of the most interesting. But in this video we show that even some of the simplest of recursive definitions become…
|