This is a cache for a post on my previous blog(which is defunct now). Thanks for Shai Simonson, the director of ADUni, brought it to my attention.

During the automated conversion from Google Video to Youtube, some of the videos are lost because of conversion errors or duplications(someone else must uploaded a few video to youtube already). A fraction of the video links are now broken.

The best way to get all the content is to buy the videos.

The post was posted on 4/6/2008, more than a year before I entered college. ADUni was originally the only good source of CS videos. These days the landscape has changed, especially due to the online learning systems like coursera. These videos maybe not the best way to learn CS these days, but the lectures are great, and you should give a try.

I am grateful for these videos. I won't be here today if it won't for these videos. I had an head start in CS and breeze through the early undergraduate years. Without these I would be set back by at least a year. Here is my homepage.



ADUni videos now on Google Video

After a month of work on my 12KB upload speed bandwidth, most of ADUni video collection is up at Google Video. ADUni was a free university teaches about computer science funded by ArsDigita. It no longer offering classes because due to the acquisition of ArsDigita.

Philip Greenspun's Tuition-free MIT described reasons for free education.

I care about free education in general and these videos are the ones give me a huge boost with knowledge. So I used my bandwidth and CPU time to download/convert/upload of ADUni videos to Google Video, because it will let user download the video, streaming it and add closed caption. Save ADUni bandwidth and increase the accessibility of education. I hope everyone get as much of what I get from these videos.

It took me a long time to convert the RM files to Xvid formats, FFMPEG and MEncoder doesn't work so I have to use eo-video's ultra slow converter. Convert around the speed the video should be played.

Some of the episodes are missing or cut off because Google Video have a lot problems. If there is no link to the video, it probably means Google's system had some mistake. Sorry but Google video doesn't live to the expectation I expected. We will have to live with the missing ones unless I upload them again. If you find a video that's live but not working, please post a comment or something. I'm disappointed with Google for the first time.

A video sample of Shai Simonson lecturing on graph algorithms:
This page only contains link to the official course page and videos. For the original videos and lecture notes, follow the official course page.

The Structure and Interpretation of Computer Programs[link]
10-02-00: More scheme intro, substitution model
10-03-00: Orders of growth, recursion/ iteration
10-04-00: Higher-order procedures
10-05-00: Compound data
10-06-00: Aggregate data
10-10-00: Henderson picture language
10-11-00: Symbolic data
10-12-00: Data structures
10-13-00: Multiple representations of data
10-16-00: Generic operators
10-17-00: State
10-23-00: Metacircular evaluator
10-23-00: Recitation
10-24-00: More on the metacircular evaluator
10-24-00: Recitation
10-25-00: Register Machines I
10-25-00: Register Machines II
10-26-00: EC eval
10-27-00: Compilation

Discrete Mathematics[link] These are not uploaded by me, and the link might not match the title...
11-01-00: What kinds of problems are solved in discrete math?
11-02-00: Boolean Algebra and formal logic
11-03-00: More logic: quantifiers and predicates
11-06-00: Sets
11-07-00: Diagonalization, functions and sums review
11-08-00: Basic arithmetic and geometric sums, closed forms.
11-09-00: Chinese rings puzzle
11-10-00: Solving recurrence equations
11-13-00: Solving recurrence equations (cont.)
11-14-00: Mathematical induction
11-15-00: Combinations and permutations
11-16-00: Counting Problems
11-17-00: Counting problems
11-20-00: Counting problems using combinations, distributions
11-21-00: Counting problems using combinations, distributions
11-22-00: The pigeonhole principle and examples. The inclusion/exclusion theorem and advanced examples. A combinatorial card trick.
11-26-00: Equivalence Relations and Partial Orders
11-27-00: Euclid's Algorithm
11-27-00: Recitation -- a combinatorial card trick
11-28-00: Cryptography


How Computers Work[link]
12-01-00: Introduction to the BETA ISA
12-03-00: Storage Allocation, Stack Discipline, Calling Conventions
12-04-00: Unpipelined Beta, Exceptions
12-05-00: Implementing the ALU
12-05-00: Recitation
12-06-00: Implementation of Beta Memorie
12-06-00: Recitation
12-07-00: Synchronous Finite State Machines (FSMs)
12-08-00: Flip flops, Asynchronous FSMs, Dynamic Discipline, Timing
12-11-00: Arbitration and Metastability
12-12-00: Static Discipline, Transistor-level design
12-13-00: Physics of Communication and Computation
12-14-00: Physics of Computation
12-15-00: Pipelining
12-18-00: Details of the Pipelined Beta
12-19-00: Caches
12-20-00: Virtual Memory, Paging

Object-oriented Program Design and Software Engineering[link]
01-02-01: Intro to Java
01-02-01: lecture supplement
01-03-01: Classes
01-03-01: lecture supplement
01-04-01: Inheritance & Polymorphism
01-04-01: lecture supplement
01-05-01: Interfaces and interfaces
01-05-01: lecture supplement
01-08-01: OOP Design & Design Process
01-09-01: Exceptions & Error Handling
01-10-01: I/O
01-11-01: Window Systems & Graphics
01-12-01: Event-based programming
01-16-01: GUI (widgets)
01-17-01: Threads
01-18-01: Network Programming
01-19-01: Software Design Cycle
01-22-01: OOP in C & C++
01-23-01: Layouts, Packages, & Jar files
01-24-01: Java on the web
01-25-01: Component Object Models
01-26-01: Overview of Software Patterns
01-29-01: Persistence & Databases & etc.
01-30-01: I18N, L10N & Review


Algorithms[link]
02-01-01: Algorithms -- overview
02-02-01: Sorting
02-04-01: Sorting II
02-05-01: Searching & Data Structures
02-06-01: Red-Black Trees
02-07-01: Graph Algorithms I - Topological Sorting, Prim's Algorithm
02-08-01: Graph Algorithms II - DFS, BFS, Kruskal's Algorithm, Union Find Data Structure
02-09-01: Graph Algorithms III: Shortest Path
02-12-01: Graph Alg. IV: Intro to geometric algorithms
02-13-01: Geometric Algorithms: Graham & Jarvis
02-14-01: Dynamic Programming I
02-15-01: Dynamic programming II
02-16-01: Parsing
02-20-01: Knapsack, Bandwidth Min. Intro: Greedy Algs.
02-21-01: Greedy Algs. II & Intro to NP Completeness
02-22-01: NP Completeness II & Reductions
02-23-01: NP Completeness III - More Reductions
02-26-01: NP Completeness IV
02-27-01: Approximation Algs.
02-28-01: Alternate Models of Computation


Systems[link]
03-01-01: Intro to Systems
03-02-01: System Design
03-05-01: Distributed Systems
03-06-01: Networks, I
03-07-01: Networks, II
03-08-01: Naming
03-09-01: Security
03-12-01: Distributed Storage
03-13-01: Time and Coordination
03-14-01: Transactions
03-15-01: Distributed Transactions, Part I
03-15-01: Distributed Transactions, Part II
03-16-01: Replication
03-19-01: Distributed Mulitmedia
03-20-01: Case Study Photo.net


Software Engineering for Web Applications[link]
04-02-01 (Part I): Introduction to Internet Applications, Online Communities
04-02-01 (Part II): TCP and HTTP, Web Session State, Databases, Web Development Enviornments
04-03-01: J2EE and Microsoft .NET, Planning Internet Applications and Online Communities
04-04-01: Big Thoughts about the Internet and Online Communities
04-05-01: Web Usability and Interface Best Practices
04-11-01: Student User Data Model and Login/Registration Code Review
04-12-01: Sample Data Model for Diet Tracking, Database Structure, Site Modules
04-17-01: Student Project Status Presentation and Code Reviews
04-18-01: Implementing Threaded Discussion Forums
04-19-01: Database Normal Form, Oracle Transaction Issues, Oracle Under the Hood
04-24-01: VoiceXML
04-25-01: Distributed Computing with Web Services, SOAP
04-26-01: Final Student Project Presentation, Future of Databases


Theory of Computation[link]
05-03-01: Finite State Machines
05-04-01: Closure and Nondeterminism
05-07-01: The Pumping Lemma
05-08-01: Minimizing FSMs
05-08-01: Recitation
05-09-01: Context Free Languages
05-10-01: CFLs and compilers
05-10-01: Recitation
05-11-01: Pushdown Machines
05-11-01: Recitation
05-14-01: CFGs and NPDMs
05-15-01: More lemmas, CYK
05-16-01: Undecidability and CFLs
05-16-01: Recitation
05-17-01: The Bullseye
05-18-01: Turing Machines
05-18-01: Recitation
05-20-01: The Halting Problem
05-21-01: Decidability
05-22-01: Complexity Theory, Quantified Boolean Formula
05-23-01: Savitch's Theorem, Space Hierarchy
05-24-01: Decidability/Complexity Relationship, Recursion Theorem

Artificial Intelligence[link]
06-04-01: Rule-based systems and Knowledge Engineering
06-05-01: Searching and Coloring
06-06-01: Nearest Neighbors, Identification Trees
06-07-01: Neural Nets, Back Propagation, Support Vector Machines

Database Management Systems[link]
06-08-01: Overview, Query Processing, Embedded SQL, Cursors, Triggers
06-11-01: Relational Algebra, Relational Calculus
06-12-01: Entity Relationship Diagrams
06-13-01: RDBMS Memory and Disk Storage, RAID, Buffer Management
06-14-01: Unordered/Sorted/Hashed Files, Indexes
06-15-01: Index Sequential Access Method, B+ Trees
06-18-01: Static and Dynamic Hash Indexing
06-19-01: External Sorting, Merge Sort, Double Buffering, Replacement Sort
06-21-01: Query Optimizers, Query Evaluation
06-25-01: Normal Forms
06-26-01: Query Analysis and Optimizing in Oracle



Applied Probability[link]
07-02-01: Introduction, Algebra of Events, Conditional Probability
07-03-01: Independence, Bayes Theorem, Probability Mass Functions
07-05-01: Conditional PMFs, Probability Density Functions
07-06-01: PDFs and Image Guided Surgery
07-09-01: Bayesian Segmentation of MRI Images
Colloquia[link]
Philip GreenspunSoftware Engineering Professionalism
Fred MartinTo Mindstorms and Beyond: Evolution of a Construction Kit for Magical Machines
Richard StallmanThe Free Software Movement and the GNU/Linux Operating System
Chip HazardFinancing eBusinesses
Marc HamiltonSoftware Engineering at Internet Speeds
Philip GreenspunOne-Day Internet Applications Course
Allen ShaheenExperience as one of the Founders of Cambridge Technology Partners
David ParmenterThings I Learned the Hard Way: Engineering and Computer Science in the Real World Part 1 Part 2
Gerald Jay SussmanThe Legacy of Computer Science
Michael SipserThe History and Status of the P versus NP Question
Robert SloanWhat to do when the Teacher is an Ignoramus or a Liar: Learning from Queries even when the Answers to the Queries are Wrong
Jothy RosenbergBasic Mechanics of Startup Financing, Equity and IPOs: What Engineers Should Know