Appendix: BJC Lecture Videos

Dan Garcia of UC Berkeley presents the Beauty and Joy of Computing

About the Lectures

Use

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.

  • BJC Lecture 1: Abstraction

    • 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

  • BJC Lecture 2: 3D Graphics

    • 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

  • BJC Lecture 3: Video Games

    • 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

  • BJC Lecture 4: Functions

    • 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

    • 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

  • BJC Lecture 9: Recusion

    • 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

  • 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