Dan Garcia of UC Berkeley presents the Beauty and Joy of Computing
The TEALS’ Introduction to CS Course is based on the The Beauty and Joy of Computing by Dan Garcia at UC Berkeley. However, the TEALS' curriculum varies greatly in content and scale, as it is aimed at High School students. This page outlines a series of video lectures from Dan Garcia’s version of this course--however the videos are not applicable in their entirety. The lectures are mapped out below by lecture, subject and time in their entirety.
Some of the lectures (or sections of the lectures) will be useful background for teachers learning the course materials. Some sections of the lectures are useful as instructional tools for classroom instruction. It is notated if the lecture is useful for background knowledge for teachers/volunteers and/or for classroom instruction. The lectures that are directly relevant to lessons or labs are directly referenced below the "Instructor's Notes". The lecture videos are licensed under a Creative Commons License by UC Berkeley.
Basic concepts of the course: 0:00-7:00
Introduction of Piazza: 7:00-8:25
Abstraction: 11:40-15:40
Generalization: 15:50-20:00
Summary: 20:05-25:10
SOPA & PIPA: 0:00-1:00
3D Computer Graphics Explanation: 1:00-5:24
3D Graphics steps outlined: 5:25-5:50
Modelling (Useful for Lab 2.5): 5:50-11:40
Animation (Uncanny Valley Explanation): 11:40-16:55
Procedural Based Motion (Lab 1.1): 16:56-20:00
Genetic Algorithms: 20:05-25:25
Lighting and Shading: 25:25-27:10
Rendering: 27:10- 30:55
Global Illumination: 30:55-34:21
Demystification Lecture-Novel Interaction techniques(emotive systems) 00:00-2:30
History of Video Games Overview (Platform Game Prep) 2:30-7:55 Good for Classroom Instruction
Casual Video Game World (light weight) 8:00-10:40 Good for Classroom Instruction
Core Video Game (heavy weight) 10:45-13:05 Good for Classroom Instruction
3D Computer Graphics 13:10-15:20
Motion Capture (Hero Movement for Platform Game Lab 2.6) 15:25-17:30 Good for Classroom Instruction
Artificial Intelligence (Enemy Logic for Lab 2.6) 17:30-19:40
Video Games w/purpose (social benefits) 19:40-24:36 Good for Classroom Instruction
Negative Aspects of Video Games (RSI, addition, violence) 24:40-28:00 Good for Classroom Instruction
Glenn Sugden-Game Developer (History of VG Development & Industry) 28:03-40:53 Good for Classroom Instruction
SIRI-EVI 0:00-1:00
Functions & Generalizations (Function Basics) 1:00-3:45
More Terminology (Boolean etc) 3:47-6:10
Types of Input (Sentences, words, characters, digits) 6:12-8:00
Functions (Explanations of Use-can be tied in to loops, and inputs) 8:00-9:55
MIT Scratch --> BYOB Snap! ( Development of SNAP, DEMO) 10:00-11:30
Functions-1 (BYOB-Custom Blocks) & Generalization 11:30-14:50
Functions-2 (Join Block) Domain and Range 14:52-17:50
Types of Blocks 18:15-19:45
Recursion Preview 19:50-27:40
Functional Programming Summary (Big concepts narrow down to functions) 27:40- End
BJC Lecture 5: Programming Paradigms
Dilemma of Being a Cyborg 0:00-2:30
Programming Paradigms 2:30-3:50
Snap! BYOB (Hybrid) 3:55-4:45
Functional Programming (Cascading Values) 4:50-5:35
Imperative/Sequential 5:41-8:35
Object Oriented Programming (OOP Basic Explanation) 8:40-15:45
OOP Ex: Sketch Pad Dr. Ivan Sutherland "Father of Computer Graphics 15:45-22:10 Good for Classroom Instruction
OOP in BYOB (Demo of Functions in BYOB) 22:35-29:20
Declarative Programming 29-22-31:20
Declarative Programming Examples in BYOB 31:25-35:20
Review of Paradigms 35:25-end
BJC Lecture 6: Algorithms (With Luke Segars)
Computer Worms 0:00-1:30
Algorithm Concept Intro: Rubic Cube Competition 1:40-2:40
Algorithm Definition 3:20-4:20 Good for Classroom Instruction
Early Algorithms 4:25-5:55 Good for Classroom Instruction
Familiar Algorithms 6:00-7:30 Good for Classroom Instruction
Commonly Used Algorithms (Page Rank, etc.) 8:00-10:45
Choosing an Algorithm Technique 10:50-12:15
Ways to Tackle Problems (Brute Force, Top Down, Bottom Up) 12:20-15:30
Algorithms vs Functions and Procedures 15:30-16:00
Turing Completeness (Computer Theory-BYOB is Turing Complete) 16:05-21:15
Algorithm Correctness 21:25-26:00
Algorithm Summary 26:00-end
BJC Lecture 7: Algorithm Complexity
Yahoo predicts America’s Political Winner 0:00-1:25
Function Abstraction (Explanation of Functions and Algorithms) 1:28-2:45
What is IN a Spec 2:45-3:30
What is NOT in a Spec 3:30-5:15
Reference Text “Introduction to Algorithms” 5:18
Algorithm Analysis: The Basics 6:00-7:40 Good for Classroom Instruction
Algorithm Analysis: Running Time 7:41-8:25 Good for Classroom Instruction
Algorithm Analysis: Runtime Analysis Problem and Solution 8:25-9:55
Runtime Analysis: Input Size and Efficiency 9:58-11:25
Runtime Analysis: Worst of Avg Case 11:25-13:20
Run Time: Final Assessment 13:20-16:46
Example:Finding a student by ID (detailed explanation of input/output)
17:00-31:20
Ex: Finding a shared birthday 31:21-33:30
Ex: Finding Subsets 33:40 to End
BJC Lecture 8: Concurrency (Yaniv Assaf)
Friendship Paradox: Facebook 00-1:30
Concurrency & Parallelism (Inter-Intra Computer, Cloud Computing) 1:31-4:10
Anatomy of a Computer ( John von Neumann Architecture) 4:15-5:20 Good for Classroom Instruction
But what is INSIDE of a Processor 5:20-6:30
Moore’s Law Prediction (2x Transistors/chip every 2 years) 6:35-7:45
Moore’s Law & Related Curves 7:50-10:00
Power Density Prediction circa 2000 (Heat as an issue) 10:00-11:40
Multiple Core and Energy Efficiency 11:45-14:40
Energy & Power Considerations 14:45-15:40
Parallelism Again (What’s different this time?) 15:41-16:40
Speedup Issues: Amdahl’s Law 16:42-19:50
Background:Threads (Threads of Execution” is a single stream of instruction) 19:55-21:15
Speedup Issues:Overhead 21:15-23:50
Parallel Programing Example in Snap! BYOB (Race Condition) 23:53-26:50
Another Concurrency Problem (Deadlock and Livelock) 26:55-29:30
Summary “Sea Change” of Computing 29:30 to End
Movie “Inception” as an example of recursion 0:00-0:50
Recursion 0:50-1:40
Recursion Demo in Snap! 1:40-17:00
Overview 17:00-21:00
Definition of Recursion 21:00-24:30
Examples of Recursion (You Already Know It!) 24:30-26:20
Trust the Recursion 26:22-29:40
Summary of Recursion 29:40-End
BJC Lecture 10: Social Implications of Computing
META: Computers in Education (Implications of Multiple Choice Tests) 0:00-4:30
Computers in Education (Open?) Judah Schwartz 4:31 --
Tools 4:50-5:30
Microworld 5:30-6:30
Microworld Example Physics Simulation 6:30-10:30
Courseware 10:38-11:30
RSA Animate: Changing Educational Paradigms 11:35
Animation Begins (Sir Ken Robinson: Changing Paradigms) 12:30-24:25
BJC Lecture 11: Recursion II Alijia Yan
Mobile World Congress 0:00-2:15
Recursion:Factorials (Factorial (n)+ n! 2:30-7:40
Fibonacci and Fibonacci Series Video 7:45-11:45 Good for Classroom Instruction
Fibonacci Ex: fin(n) Math and Snap! blocks 11:50-13:15
Example of Recursion: Counting Change 13:20-17:30
Call Tree for “Counting Change” with Snap! example 17:35-22:50
Summary of Recursion 25:40-26:21
BJC Lecture 12: Social Implications II Dr. Gerald Friedland
Good for Classroom Instruction-Suggest Previewing due to Social Media Examples.
(This would be a good suppport for Social Media Safety/Awareness lesson)
Dr. Gerald Friedland Sr. Research Scientist at International Computer Science Institute (ICSI) on Sharing Multimedia and the Impact on Online Privacy) 0:00-1:45
Introduction to Social Media: The Price of Social Media Use-Stephen Colbert 1:50-6:25
Observations on Sharing Data and Ineffective Privacy Protection 6:30-7:50
Social Cause: Collection of Data Across Sites 7:50-10:30
Multimedia in Internet is Growing 10:35-12:05
CS Problem: Higher Demand for Retrieval and Organization of Data 12:07-13:05
Manual Tagging & Geo Tagging 13:05-17:30
Issue of Tracking & Dangers of Oversharing 17:30-18:31
Berkeley Multimedia Location Estimation Project 18:31-28:14
ICSI’s Evaluation Results 19:49
YouTube Cybercasing 20:47
Privacy Implication of Internet and Data 22: 30
Person Linking Using Internet Videos 25:45-26:45
Solutions for Privacy that Don’t Work: Think Before You Post! 26:45-28:14
BJC Lecture 13 is Not Available
BJC Lecture 14: Human-Computer Interaction Bjorn Hartman
Bjorn Hartman Background 0:00-3:30
Human Computer Interface(HCI) 3:45-6:00
HCI: Design, Computer Science, Applied Psychology 6:00-8:00
Iterative Design Cycle 8:00-10:30
Understanding Users 10:35-11:35
Prototype Interface Examples 11:40-14:00
Evaluation (Formative, Summative) 14:50
Why Study User Interfaces Good for Classroom Instruction
Ex:Mouse Xy axis, Sketchpad, PC, Tablets 15:00-25:00
What had changed? Research: Mainframe to Ubiquitous Computing 25:00-29:30
Example Project: Using Dexterity for Computer Interface Video 28:30-29:30 Good for Classroom Instruction
Zipf/Power Law Distribution 30:00-32:00
HCI Research at Berkeley 32:10-46:25
Multi Touch Apps and Toolkits Useful for Classroom Instruction
BJC Lecture 15:) Artificial Intelligence- Anna Rafferty
-Anna Rafferty 0:00-1:00
Definition of AI 1:00-1:48
John McCarthy AI definition 1:50-2:30
AI History and Explanation 2:35-6:40
Revival of AI: Rules & Concepts 6:45-10:20
AI and Intelligence (What intelligent things do people do?) 10:25-11:52
Tour of AI applications 11:55-12:30
AI Planning 12:30-14:50
Machine Learning 14:50-18:58
Robot Learning to Walk (Video) 18:58-20:25
Natural Language Processing 20:30-23:15
Unsupervised Learning Ex. 23:20-25:00
Robotics 25:00-30:05
Automatic Towel Folding Robot (video) 27:40-29:45
Recap of AI 30:10-31:15
Turing Test of Intell 31:15-34:15
Summary 34:20-35:53
BJC Lecture 16:) Computational Game Theory
Checkers (Weakly) Solved 0:00-1:17
Computer Science Game Theory 1:20-1:35
CS- A USV View 1:36-2:16
The Turk (1770) 2:20-4:00
Claude Shannon 1950 “Father of Informational Technology) 4:05-5:10
Deep Blue vs Gary Kasparov 1997
What is “Game Theory” 11:41-12:40
What “Board Game” do you mean? 12:41-13:25
What is a “Strong” Soluntion 13:28-15:00
Game Crafters (Strongly Solve) 15:11-20:15
Strongly Solve Ex. Video “War Games”(1983)16:26-19:41
Weakly Solving a Game (Checkers) 20:20-22:12
Strongly Solving Ex:1,2:...12) 22:20-35:00
Ex: Tic Tac Toe 27:25
Demo 29:20-33:15
Games Crafters Revisited 35:00-35:50
Future Application 35:51-36:47
BJC Lecture 17:) Higher Order Functions
Coding is Cool Again 0:00-0:45
High Order Function Introduction 0:47-8:50
Higher Order Function Demo in Snap! BYOB (Functions and Blocks are commented out) 8:51-37:35
BJC Lecture 18:) Distributed Computing
0:00-2:25 Super Computers Faster than 50M Laptops
Lecture Overview 2:25-3:00
Memory Hierarchy 3:00-6:00
Memory Hierarchy Details 6:00-10:40
Networking Basics 10:45-12:45
Networking Facts & Benefits 12:45-13:30
Performance Needed for Big Problems 13:30-16:40
What can we do? Use many CPUs 16:41-18:05
Distributed Computing Themes 18:05-21:20
Distributed Computing Challenges 21:25-25:40
Review: Map Reduce 25:41-26:30
Google’s Map Reduce Simplified 26:30-40:52
BJC Lecture 19: Higher Order Functions II
Busting the King’s Gambit (Strongly Solve-Chess) 0:00-2:30
Higher Order Function Review (Filter, Map, Reduce) 2:30-6:30
Snap! BYOB Demo (Commented Out) 6:31-28:19