type-level programming
1:33:37Adventure with Types in Haskell - Simon Peyton Jones (Lecture 1)
69K views • 12 years ago
jasonofthel33t
Simon Peyton Jones's first lecture on types in Haskell from the Oregon Programming Languages Summer School 2013. It covers type classes and how they relate to OOP, subtyping and polymorphism.
1:09:24Effective ML
30K views • 10 years ago
Jane Street
Yaron Minsky of Jane Street gave this talk to Harvard's OCaml-based CS51 class in 2010. It collects advice on being an effective ML programmer in an industrial setting.
17:26Lecture 1 | Programming Paradigms (Stanford)
1.2M views • 18 years ago
Stanford
The first lecture of Stanford's CS107 Programming Paradigms, taught by Jerry Cain, giving an overview of the course. The course goes from C and assembly through C++, concurrency, Scheme and Python.
52:48Object-Oriented Programming is Garbage: 3800 SLOC example
258K views • 10 years ago
Brian Will
Brian Will critiques object-oriented programming and rewrites a roughly 3800-line OO program in a procedural style, cutting code and complexity. It is part of a series of OOP critiques.
49:47Lecture 1 | Programming Methodology (Stanford)
2.6M views • 18 years ago
Stanford
First lecture of Stanford's CS106A Programming Methodology by Mehran Sahami, giving a course overview and starting on programming. The course teaches software engineering principles using Java.
51:47Lecture 19: Dynamic Programming I: Fibonacci, Shortest Paths
2.9M views • 13 years ago
MIT OpenCourseWare
Erik Demaine's MIT 6.006 lecture introducing dynamic programming through Fibonacci numbers and shortest paths. It covers memoization, subproblems and optimal substructure.
1:42:09Crockford on JavaScript - Volume 1: The Early Years
252K views • 15 years ago
YUI Library
Douglas Crockford's first Yahoo lecture puts JavaScript in historical context. He traces the language's structure and quirks back through the early decades of computer science and programming language history.
56:27In Search of Tomorrow
18K views • 10 years ago
Berkeley Institute for Data Science (BIDS)
Chris Granger, creator of Light Table and the Eve language, gives a Berkeley data science lecture on what computation and programming might look like in ten years. He covers the path that led to Eve and ends with demos.
1:02:15Lambda Calculus - Fundamentals of Lambda Calculus & Functional Programming in JavaScript
227K views • 9 years ago
Fullstack Academy
Gabriel Lebec's Fullstack Academy talk introduces lambda calculus syntax, the history of mathematical logic, and the essence of functional programming using JavaScript. It also covers combinators, currying and Church encodings.
51:32Great Impractical Ideas in Computer Science: PowerPoint Programming
2.2M views • 7 years ago
Tom Wildenhain
Tom Wildenhain's guest lecture for CMU's Esoteric Programming Languages course shows that PowerPoint transitions and slides are Turing complete without macros, building up to a mind-bending fractal ending.
2:41:18Seminar with Alan Kay on Object Oriented Programming (VPRI 0246)
31K views • 8 years ago
Yoshiki Ohshima (大島芳樹)
A long recorded seminar in which Alan Kay discusses object-oriented programming, probably from the mid-1980s. He covers the original idea of objects, messaging and the work done at Xerox.
12:55Building Prototypes Dan Gelbart part 10 of 18 Flexures
114K views • 13 years ago
Dan Gelbart
Part 10 of Dan Gelbart's prototype-building lecture series, covering flexures: flexible joints that give precise, frictionless motion. It shows how a cheap piece of aluminum can become a nanometer-accurate mechanism.
23:23Building Prototypes Dan Gelbart part 18 of 18 Design
99K views • 13 years ago
Dan Gelbart
The final part of Dan Gelbart's 18-part Building Prototypes series, focused on mechanical design. It opens with a demonstration of stiffness and covers practical design principles for prototype machines.
1:12:56Lecture 1A | MIT 6.001 Structure and Interpretation, 1986
995K views • 17 years ago
MIT OpenCourseWare
The first lecture of MIT's 1986 6.001 Structure and Interpretation of Computer Programs, given by Harold Abelson, introducing Lisp and the idea of computer science as the study of process.
1:07:10Brian Beckman: Don't fear the Monad
415K views • 13 years ago
jasonofthel33t
Microsoft's Brian Beckman gives an hour-long, whiteboard-style walk through monads, building from function composition and monoids using school-level math. It is aimed at practicing programmers rather than category theorists.
1:04:16Simon Peyton-Jones: Escape from the ivory tower: the Haskell journey
170K views • 9 years ago
Churchill College, University of Cambridge
Simon Peyton Jones gives Churchill College's annual computer science lecture on Haskell's birth and evolution. He covers the most influential ideas, from laziness to monads and type system evolution, plus current developments and guesses about the future.
34:10Anders Hejlsberg on Modern Compiler Construction
25K views • 9 years ago
Kasper
Anders Hejlsberg whiteboards how compilers are taught versus how modern ones are actually built. He explains the shift to compilers as services with incremental, error-tolerant, IDE-oriented design, as in Roslyn and TypeScript.
2:38:28Lecture: Biblical Series I: Introduction to the Idea of God
14.3M views • 9 years ago
Jordan B Peterson
Jordan Peterson's first lecture in his Biblical Series examines the idea of God as sovereignty and power abstracted from any individual ruler, and as the pattern inherent in human dominance hierarchies.
8:07Seymour Papert 1983
28K views • 19 years ago
Cynthia Solomon
An eight-minute excerpt of a 1983 video featuring Seymour Papert, creator of Logo, on children learning programming and abstract ideas through embodied play. It shows kids acting out the Logo turtle.
58:22Lecture 1B | MIT 6.001 Structure and Interpretation, 1986
116K views • 17 years ago
MIT OpenCourseWare
Lecture 1B of MIT's 6.001 Structure and Interpretation of Computer Programs (1986) with Gerald Sussman, covering procedures, processes and the substitution model. It includes the line about the power of naming things.
1:12:56Lecture 1A: Overview and Introduction to Lisp
420K views • 7 years ago
MIT OpenCourseWare
The first lecture of MIT's 6.001 (SICP) with Abelson and Sussman, giving an overview of the course and an introduction to Lisp. It argues that computer science is about managing complexity and abstraction, not computers.
46:46Category Theory 1.1: Motivation and Philosophy
394K views • 10 years ago
Bartosz Milewski
The first lecture in Bartosz Milewski's category theory series for programmers. It covers the motivation and philosophy behind category theory and why composition matters for handling complexity.
2:31:27Lecture: 2017 Maps of Meaning 01: Context and Background
6.4M views • 9 years ago
Jordan B Peterson
The first lecture of Jordan Peterson's 2017 Maps of Meaning course, setting out the Cold War context for his theory of belief and culture. He introduces the narrative structure of culture and archetypal characters for the individual, the known and the unknown.
2:50:14Simple Code, High Performance
463K views • 5 years ago
Molly Rocket
Casey Muratori's University of Twente guest lecture is a case study in how straightforward code can cut thousands of lines and tens of seconds of runtime down to a few dozen lines running in under a second. It uses concrete examples to show why software is often an order of magnitude slower than it should be.
40:12Immediate-Mode Graphical User Interfaces - 2005
150K views • 10 years ago
Casey Muratori
Casey Muratori's 2005 video introducing immediate-mode GUIs as an alternative to retained widget toolkits. He explains the motivation and shows minimal-state button logic.
1:00:06Computer Science - Brian Kernighan on successful language design
332K views • 10 years ago
University of Nottingham
Brian Kernighan gives a talk at the University of Nottingham on how to succeed in language design without really trying. He draws on his experience with awk and other languages.
52:54Rust at speed — building a fast concurrent database
225K views • 7 years ago
Jon Gjengset
A guest lecture Jon Gjengset gave at Two Sigma on using Rust for large, high-performance systems. It covers why Rust suits such projects, the Noria research database, a concurrent data structure used in it, and practical experience.
57:32Five Stages of Accepting Constructive Mathematics - Andrej Bauer
34K views • 10 years ago
Institute for Advanced Study
Andrej Bauer's IAS talk introduces constructive mathematics and what it feels like to do mathematics without excluded middle. It is framed as a tour for classical mathematicians.
10:00SICP / What is "Computer Science" ?
131K views • 20 years ago
LarryNorman
An excerpt from Hal Abelson's opening SICP lecture introducing computer science and contrasting declarative and imperative knowledge. He argues that computer science is not really a science and is more like magic or engineering of ideas.
11:01Milton Friedman - The Real World Effects Of Unions
432K views • 12 years ago
LibertyPen
An 11-minute clip of Milton Friedman explaining the incentives of unions and how they affect employment. He argues unions restrict labor supply, raising pay for some workers while hurting low-skill workers.
14:29Milton Friedman - Why Tax Reform Is Impossible
241K views • 14 years ago
LibertyPen
Milton Friedman explains why the US tax code is enormously complex and why meaningful reform is unlikely. He argues that politicians profit from the complexity, since tax breaks are products they sell and the code works as a tool of reward and punishment. The clip is about 14 minutes from his lecture series.
5:23Milton Friedman - Who Benefits From Licensing?
32K views • 12 years ago
LibertyPen
A short clip of Milton Friedman explaining who benefits from occupational licensing requirements, arguing they mainly protect practitioners from competition.
4:47Milton Friedman - Case Against Equal Pay for Equal Work
867K views • 16 years ago
LibertyPen
A short clip of Milton Friedman arguing with students that equal pay laws are counterproductive, and that markets penalize discrimination because cheaper equally productive workers are an advantage to hire.
4:18Milton Friedman - Monopoly
282K views • 16 years ago
LibertyPen
A short clip of Milton Friedman explaining his free-market view of monopoly, namely that monopolies persist mainly through government help. It is excerpted from the Milton Friedman Speaks series.
2:51:44ADHD: Essential Ideas for Parents - Dr. Russell Barkely
702K views • 13 years ago
ADHDtips
Dr. Russell Barkley gives a nearly three-hour lecture of essential ideas about ADHD for parents, covering what ADHD is, its effects on executive function, motivation and emotion, and how it affects children.
1:15:47Richard Feynman Computer Science Lecture - Hardware, Software and Heuristics
978K views • 14 years ago
Muon Ray
A lecture by Richard Feynman on how computers work, using the analogy of a filing clerk that becomes progressively dumber and faster. It also covers heuristics and how computers handle data and solve problems in finite time.
1:00:14The Neuroscience of Consciousness – with Anil Seth
1.9M views • 9 years ago
The Royal Institution
Neuroscientist Anil Seth gives a Royal Institution lecture on the science of consciousness. He separates conscious level, content and self, and argues that experience arises from the brain's predictive inference.
16:37Why the world population won’t exceed 11 billion | Hans Rosling | TGS.ORG
2M views • 10 years ago
THINK Global School
Hans Rosling uses population statistics to explain why the world population will level off rather than grow without limit. He shows that falling child mortality and rising prosperity lead to smaller families.
1:27:44Black hole Firewalls - with Sean Carroll and Jennifer Ouellette
1.8M views • 12 years ago
The Royal Institution
A Royal Institution event with Sean Carroll and Jennifer Ouellette on what happens if you fall into a black hole, covering the firewall paradox, the information problem and the holographic principle.
1:14:32Building Your Own Dynamic Language
21K views • 18 years ago
Stanford
Ian Piumarta's 2007 Stanford EE380 lecture on building a dynamic programming environment from the ground up, from the Viewpoints Research Institute's work. It covers the design of a language and system with a recursive design, parsing through code generation, and the COLA architecture.