Search for tag: "specification"

SOIL Seminar: Project Everest: Verified Secure Compenents in WebAssembly

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…

From  Ross Tate on February 1st, 2021 9 plays

Lesson 28.5 Generator Design

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…

From  Hannah Lee on December 3rd, 2020 33 plays

Lesson 27.6 Application State

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…

From  Hannah Lee on November 30th, 2020 48 plays

Lesson 26.5 While-Loops vs For-Loops

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.

From  Hannah Lee on November 12th, 2020 41 plays

Lesson 26.4 While-Loop Patterns

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…

From  Hannah Lee on November 12th, 2020 43 plays

Zoom Nov. 3. Object-Oriented Design

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…

From  Hannah Lee on November 8th, 2020 13 plays

Lesson 23.8 Properties (OPTIONAL)

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.…

From  Hannah Lee on November 8th, 2020 14 plays

Lesson 21.5 Data Encapsulation

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…

From  Hannah Lee on October 30th, 2020 53 plays

Lesson 21.3 Interface Implementation

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…

From  Hannah Lee on October 30th, 2020 55 plays

Lesson 21.2 Interface Design

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…

From  Hannah Lee on October 30th, 2020 49 plays

Lesson 21.1 Interface vs Implementation

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…

From  Hannah Lee on October 30th, 2020 59 plays

Lesson 20.5 Method Definitions

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…

From  Hannah Lee on October 27th, 2020 49 plays

Lesson 20.4 Classes Specifications

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…

From  Hannah Lee on October 27th, 2020 43 plays

Lesson 20.1 Class Definitions

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.

From  Hannah Lee on October 27th, 2020 49 plays

Lesson 18.4 Nested Slicing

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…

From  Hannah Lee on October 27th, 2020 40 plays

Lesson 17.10 Recursion and Helper Functions

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…

From  Hannah Lee on October 19th, 2020 58 plays