Lecture notes · The Missing Semester · Lecture 11

Q&A

MIT 6.NULL The Missing Semester of Your CS Education, lecture 11, explained in plain English

Want this lecture to stick? In LessonBound you get checked practice questions for every part, can ask about anything you don't get, and can listen with your screen off. Free, no ads.

Learn this lecture free

Watch or read the original lecture: MIT OpenCourseWare.

Part 1

This part explains which tools to use for scripts, how your computer finds programs, how to install software safely, and how to find slow spots in your code.

Key ideas

Words to know

PATH
A setting that lists the folders your terminal searches when you type the name of a program.
source
A bash command that runs a script inside your current terminal session, so its changes stay after it finishes.
virtual environment
A separate, private set of installed libraries for one project, so it does not interfere with other projects.
profiling
Measuring how long different parts of your program take, so you can find the parts that are slow.

Example

Think of running a script with source as asking a helper to rearrange the furniture in your own room, so the changes stay. Running ./script.sh is like giving the helper a copy of the room to rearrange, so your real room stays the same when they leave.

3 checked practice questions for this part are in the app.

Part 2

This part covers tools for finding slow code, how containers differ from virtual machines, how Linux distributions handle updates, and tips for data and machine learning work.

Key ideas

Words to know

kernel
The core part of an operating system. It controls the computer's hardware and manages how programs use it.
containers
Isolated environments that let a program run as if it has its own computer, while really sharing the hardware and kernel of the host machine.
sampling profiler
A tool that checks what a running program is doing again and again, so you can see where it spends most of its time.
rolling update policy
A way of releasing software where new versions arrive constantly. You get the newest features quickly, but things can break more often.

Example

Think of a shared apartment building versus separate houses. Apartments share the building's foundation and utilities, which saves cost and space, just as containers share the host's kernel. Separate houses each have their own foundation, which is heavier but keeps each home more fully separate, like a virtual machine.

3 checked practice questions for this part are in the app.

Part 3

This part covers useful Vim editor tricks for moving around and undoing changes, plus short notes on two-factor login and web browsers.

Key ideas

Words to know

plugin
An add-on program that adds new features to a program like Vim.
undo tree
A record of all your changes arranged like branches on a tree, so you can return to any earlier version, not only the most recent one.
leader key
A special key you press and let go of first, followed by another key, to run a custom command. Many people set it to the space bar.
persistent undo
Keeping your undo history saved between editing sessions, so it is still there when you reopen the file.

Example

Think of marks like bookmarks in a book. You put a bookmark on the page you care about, read somewhere else, and then go straight back to that bookmarked page. Vim marks work the same way for lines in your files.

3 checked practice questions for this part are in the app.

← Lecture 10: Potpourri

Notes written by AI (Claude) from the lecture's official transcript, so check anything important against the lecture. MIT CSAIL · CC BY-NC-SA 4.0 · not affiliated with or endorsed by MIT. These notes are shared under the same license.

LessonBound · Free lecture notes · Privacy · Terms · New York