|
Course Title |
Textbook |
Lecture Notes |
Instructor |
Topics |
|
Math for Computer Science |
Linear
Algebra Textbook |
Lecture Notes |
Tara Holm
|
 |
|
Math Algebra |
Algebra Lectures
- This series of video lectures from the
University of Idaho offers a thorough
review of algebra;
Linear Algebra
Lectures - A series of video
lectures on linear algebra from MIT.
Lectures are supplemented by video
reviews and quizzes.;
Differential
Equations Lectures - More
than 30 free video lectures on
differential equations that can be
accessed through MIT; Lectures are
supplemented with assignments, exams and
other study materials;
Business Calculus
Lectures - This streaming
video lecture course from the University
of Houston includes lecture outlines and
practice problems;
Multivariable
Calculus Lectures - A
collection of nearly 50 free video
lectures from UC Berkeley's
multivariable calculus course. Each
lecture takes approximately 50 minutes
from start to finish.
|
|
Structure and Interpretation of Computer Programs |
Computer
Program Lectures - This series of free video lectures from UC
Berkeley focuses on the structure and interpretation of computer
programs. Lectures are also available in audio format. |
|
Discrete Mathematics
|
Josephus problem;
audio,
Manipulating sums;
audio,
General methods,
audio,
Floors
and ceilings;
audio, mod (video,
audio), divisibility and primes (video,
audio), relative primality (video,
audio), congruences (video,
audio), basic identities (video,
audio), generating functions (video,
audio), Stirling/Harmonic #'s (video,
audio), Fibonacci numbers (video,
audio), basic maneuvers (video,
audio), solving recurrences (video,
audio), convolutions (video,
audio), exponential g. f. (video,
audio), mean and variance (video,
audio), probability g. f. (video,
audio), degree sequences & invariants (video,
audio), trees and connectivity (video,
audio), Eulerian and Hamiltonian cycles (video,
audio), planarity (video,
audio), graph coloring (video,
audio), matching (video,
audio), Project presentations (video,
audio), Project presentation(video,
audio) |
|
Discrete Mathematics |
Textbook
Lecture
Notes
Shai Simonson |
Sets,
functions and sums review
,
Basic arithmetic
,
Solving recurrence equations
,
(cont.)
,
Mathematical induction
,
Combinations and permutations
,
Counting Problems
More,
Counting problems using combinations, distributions
More,
,
Equivalence Relations and Partial Orders
Euclid's Algorithm
,
Cryptography |
|
Probabilistic
Systems Analysis and Applied Probability |
Probability Models and Axioms (PDF),
Conditioning and Bayes' Rule (PDF),
Independence (PDF),
Counting Sections (PDF),
Discrete Random Variables; Probability Mass Functions; Expectations (PDF),
Conditional Expectation; Examples (PDF),
Multiple Discrete Random Variables (PDF),
Continuous Random Variables - I (PDF),
Continuous Random Variables - II (PDF),
Continuous Random Variables and Derived Distributions (PDF),
More on Continuous Random Variables, Derived Distributions, Convolution
(PDF),
Transforms (PDF),
Iterated Expectations (PDF),
Sum of a Random Number of Random Variables (PDF),
Prediction; Covariance and Correlation (PDF),
Weak Law of Large Numbers (PDF),
Bernoulli Process (PDF),
Poisson Process (PDF),
Poisson Process Examples (PDF),
Markov Chains - I (PDF),
Markov Chains - II (PDF),
Markov Chains - III (PDF),
Central Limit Theorem (PDF),
Central Limit Theorem (cont.), Strong Law of Large Numbers (PDF);
Applications: A Simple Radar Example (ZIP)
(The ZIP file contains: 3 MatLab (2 .m and 1 .fig) files and 1 .txt
file.), A Communication Example: The Binary Symmetric Channel (Java)::Cumulative
Density Functions: Continuous Uniform Random Variables (WMV);Normal
Random Variables (WMV)::Adding
Two Independent Random Variables, Convolution;Discrete Probability Mass
Functions (WMV;Uniform
Probability Mass Functions (WMV);Normal
Probability Mass Functions (WMV)::Sum
of a Random Number of Random Variables::Branching Process Simulation (ZIP)
(The ZIP file contains: 2 MatLab (1 .m and 1 .fig) files and 1 .txt
file)::Limit Theorems:Die
Experiment;Negative
Binomial Experiment;Galton
Board Experiment::Markov Chains:Markov
Process Demonstration;Birth-Death Process (Java);Random
Walk Experiment (Java);M/M/m
Queues (Java) |
|
Introduction to
Computer Science and Programming |
Goals of the course; what is computation; introduction to
data types, operators, and variables,
Operators and operands; statements; branching, conditionals, and
iteration,
Common code patterns: iterative programs,
Decomposition and abstraction through functions; introduction to
recursion,
Floating point numbers, successive refinement, finding roots,
Bisection methods, Newton/Raphson, introduction to lists,
Lists and mutability, dictionaries, pseudocode, introduction to
efficiency,
Complexity; log, linear, quadratic, exponential algorithms,
Binary search, bubble and selection sorts,
Divide and conquer methods, merge sort, exceptions,
Testing and debugging,
More about debugging, knapsack problem, introduction to dynamic
programming,
Dynamic programming: overlapping subproblems, optimal substructure,
Analysis of knapsack problem, introduction to object-oriented
programming,
Abstract data types, classes and methods,
Encapsulation, inheritance, shadowing,
Computational models: random walk simulation,
Presenting simulation results, Pylab, plotting,
Biased random walks, distributions,
Monte Carlo simulations, estimating pi,
Validating simulation results, curve fitting, linear regression,
Normal, uniform, and exponential distributions; misuse of statistics,
Stock market simulation,
Course overview; what do computer scientists do? |
|
Structure and
Interpretation of Computer Programs |
Textbook |
Overview and Introduction to Lisp,
Procedures and Processes; Substitution Model,
Higher-order Procedures,
Compound Data,
Henderson Escher Example,
Symbolic Differentiation; Quotation,
Pattern Matching and Rule-based Substitution,
Generic Operators,
Assignment, State, and Side-effects,
Computational Objects,
Streams I,
Streams II,
Metacircular Evaluator I,
Metacircular Evaluator II,
Logic Programming I,
Logic Programming II,
Register Machines,
Explicit-control Evaluator,
Compilation,
Storage Allocation and Garbage Collection |
|
How Computers Work |
Textbook
1,
2,
3,4,
5,
6,
7,
8,
9,
10,
11,
12,
13
Gill Pratt |
Introduction to the BETA ISA,
Storage Allocation, Stack Discipline, Calling Conventions,
Unpipelined Beta, Exceptions,
Implementing the ALU,
Implementation of Beta Memorie,
Synchronous Finite State Machines (FSMs),
Flip flops, Asynchronous FSMs, Dynamic Discipline, Timing,
Arbitration and Metastability,
Static Discipline, Transistor-level design,
Physics of Communication and Computation,
Physics of Computation,
Pipelining,
Details of the Pipelined Beta,
Caches,
Virtual Memory, Paging |
|
Computer System
Engineering |
Introduction to systems, Complexity in
computer systems, Abstractions,
Naming,
Fault isolation with clients and servers,
Virtualization, virtual memory,
Virtual processors: threads and coordination,
Performance,
Introduction to networks,
Layering and link layer,
Network layer, routing,
End-to-end layer,
Congestion control,
Distributed naming,
Reliability,
Atomicity concepts,
Recoverability,
solation,
Transactions and consistency,
Multi-site atomicity,
Security introduction,
Authentication,
Authorization and confidentiality,
Advanced authentication,
Complex, trusted systems, Guest lecture: Prof. Hal Abelson
|
|
Computer Language
Engineering |
Course Administration Information and
Overview (S) (PDF)
(RM)
(MP3),
Scanner Parser Project (PDF)
(Courtesy of Punyashloka Biswal), (RM),
(MP3),
Overview of Programming Languages (M), Regular Expressions, Language
Specification by Formal Grammars (M) (PDF),
Parse Table Construction (M) (PDF),
Top-down Parsing (M) (PDF),
Intermediate Representations (M) (PDF),
Semantic Analysis (M) (PDF),
Unoptimized Code Generation (S) (PDF)(RM)(MP3),
Unoptimized Code Generation (cont.) (S) (PDF)(RM)(MP3),
Introduction to Program Analysis and Optimization (M) (PDF),
Data-flow Analysis (M) (PDF),
Data-flow Optimizations (M) (PDF),
Foundations of Data-flow Analysis (M) (PDF),
Instruction Scheduling (S) (PDF),
(RM)(MP3),
Instruction Scheduling (cont.) (S) (PDF),
(RM)MP3),
Register Allocation (S) (PDF)(RM)(MP3),
Putting it all Together (S) (PDF)(RM)(MP3),
Compiler Derby (S) |
|
Object-oriented Program Design |
Core Java 2, Volume I: Fundamentals
Volume II:
Advanced Features |
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21 |
Dave Goddeau |
IntroI,
IntroII,
ClassesI,
ClassesII,
Inheritance & PolymorphismI,
II,
InterfacesI,
II,
OOP Design & Design Process,
Exceptions & Error Handling,
I/O,
Window Systems & Graphics,
Event-based programming,
GUI (widgets),
Threads,
Network Programming,
Software Design Cycle,
OOP in C & C++,
Layouts, Packages, & Jar files,
Java on the web,
Component Object Models,
Overview of Software Patterns,
Persistence & Databases & etc.,
I18N, L10N & Review
|
|
Introduction to
Algorithms |
Administrivia - Introduction - Analysis of Algorithms, Insertion Sort,
Mergesort,
Asymptotic Notation - Recurrences - Substitution, Master Method,
Divide-and-Conquer: Strassen, Fibonacci, Polynomial Multiplication,
Quicksort, Randomized Algorithms,
Linear-time Sorting: Lower Bounds, Counting Sort, Radix Sort,
Order Statistics, Median,
Hashing, Hash Functions,
Universal Hashing, Perfect Hashing,
Relation of BSTs to Quicksort - Analysis of Random BST,
Red-black Trees, Rotations, Insertions, Deletions,
Augmenting Data Structures, Dynamic Order Statistics, Interval Trees,
Skip Lists,
Amortized Algorithms, Table Doubling, Potential Method,
Competitive Analysis: Self-organizing Lists,
Dynamic Programming, Longest Common Subsequence,
Greedy Algorithms, Minimum Spanning Trees,
Shortest Paths I: Properties, Dijkstra's Algorithm, Breadth-first Search,
Shortest Paths II: Bellman-Ford, Linear Programming, Difference
Constraints,
Shortest Paths III: All-pairs Shortest Paths, Matrix Multiplication,
Floyd-Warshall, Johnson,
Advanced TopicsI,
Advanced TopicsII,
Advanced TopicsIII,
Advanced TopicsIV |
|
Algorithms |
Introduction to Algorithms, Cormen, Rivest, Leiserson. Reference:
Computers and Intractability, Garey and Johnson.
Shai Simonson |
Overview,
Sorting,
Sorting II,
Searching & Data Structures,
Red-Black Trees,
Graph Algorithms I - Topological Sorting, Prim's Algorithm,
Graph Algorithms II - DFS, BFS, Kruskal's Algorithm, Union Find Data Structure,
Graph Algorithms III: Shortest Path,
Graph Alg. IV: Intro to geometric algorithms,
Geometric Algorithms: Graham & Jarvis,
Dynamic Programming I,
Dynamic programming II,
Parsing,
Knapsack, Bandwidth Min. Intro: Greedy Algs.,
Greedy Algs. II & Intro to NP Completeness,
NP Completeness II & Reductions,
NP Completeness III - More Reductions,
NP Completeness IV,
Approximation Algs.,
Alternate Models of Computation
|
|
Algorithms |
Introduction to Algorithms(video,
audio,
slides), Asymptotic Notation(video,
audio,
slides), Modeling / Logarithms(video,
audio,
slides), Modeling / Logarithms(video,
audio,
slides), Elementary Data Structures(video,
audio,
slides), Dictionary data structures / Trees(video,
audio,slides),
Sorting(video,
audio,
slides), Heapsort/Priority Queues(video,
audio,
slides), Quicksort(video,
audio,
slides), Linear Sorting(video,audio,slides),
Graph Data Structures(video,audio,
slides), Breadth/Depth-First Search(video,
audio,
slides), Topological Sort / Connectivity(video,
audio,
slides), Minimum Spanning Trees(video,
audio,
slides), Shortest Path(video,
audio,
slides), All-Pairs Shortest Paths(video,
audio,
slides), Combinatorial Search(video,
audio,
slides),
Program optimization (video,
audio,
slides), Introduction to Dynamic Programming(video,
audio,
slides) Examples of Dynamic Programming, More Examples of Dynamic
Programming, Divide and Conquer, Recurrence Relations (video,
audio,
slides), Introduction to NP-completeness(video,
slides), Reductions(video,
slides), More Reductions(video,
slides), Cook's Theorem / Harder Reduction(video,
slides), The NP-completeness challenge (video,
slides, Approximation Algorithms(video,
slides), Heuristic Methods. |
|
Algorithms |
Analysis (pdf)
(keynote),
Elementary Sorting (pdf)
(keynote),
Efficient Sorts (pdf)
(keynote),
Advanced Topics in Sorting (pdf)
(keynote),
Binary Search Trees (pdf)
(keynote),
Balanced Trees (pdf)
(keynote),
Hashing (pdf)
(keynote)
|
|
Analysis of
Algorithms |
Analysis of
Algorithms I (doc)
(ppt),
Analysis of Algorithms II (doc)
(ppt),
Exploring Algorithms (doc)
(ppt)
|
|
Systems |
Luis Rodriguez
|
|
Operating
Systems |
Operating Systems Lectures - Eleven
free video lectures from New Jersey's Science and Technology
University. |
|
Nonlinear
Programming |
Nonlinear Programming Lectures -
Three video lectures taken from one of MIT's nonlinear programming
courses. Video topics include Newton's method, duality theory and
semidefinite optimization |
|
Java
Programming |
Java Programming Lectures - This
collection of 16 video lectures from UC Berkeley offers an
introduction to Java programming. Students also learn about data
structures and programming methodology. |
|
Web Applications |
Philip Greenspun
|
|
Theory of Computation |
Introduction to the Theory of Computation, Michael Sipser, Reference:
Introduction to Automata Theory, Languages and Computation,
Hopcroft, Motwani and Ullman
Lecture
Notes.
Shai Simonson |
Finite State Machines,
Closure and Nondeterminism,
The Pumping Lemma,
Minimizing FSMs,
Context Free Languages,
CFLs and compilers,
Pushdown Machines,
CFGs and NPDMs,
More lemmas, CYK,
Undecidability and CFLs,
The Bullseye,
Turing Machines,
The Halting Problem,
Decidability,
Complexity Theory, Quantified Boolean Formula,
Savitch's Theorem, Space Hierarchy,
Decidability/Complexity Relationship, Recursion Theorem
|
|
Artificial Intelligence |
Artificial Intelligence, Patrick Winston
Patrick Winston |
Rule-based systems and Knowledge Engineering,
Searching and Coloring,
Nearest Neighbors, Identification Trees,
Neural Nets, Back Propagation, Support Vector Machines |
|
Unix Workshop |
 |
|
Introduction to Information Retrieval
|
Textbook:
HTML
edition;
PDF
of the book for online viewing (with nice hyperlink features;
PDF
of the book for printing; PDFs of individual chapters;
slides;
discussion forums; a moodle with interactive exercises;
exercises |
Front matter (incl. table of notations) pdf
Boolean retrieval pdf
html
The term vocabulary & postings lists pdf
html
Dictionaries and tolerant retrieval pdf
html
Index construction pdf
html
Index compression pdf
html
Scoring, term weighting & the vector space model pdf
html
Computing scores in a complete search system pdf
html
Evaluation in information retrieval pdf
html
Relevance feedback & query expansion pdf
html
XML retrieval pdf
html
Probabilistic information retrieval pdf
html
Language models for information retrieval pdf
html
Text classification & Naive Bayes pdf
html
Vector space classification pdf
html
Support vector machines & machine learning on documents pdf
html
Flat clustering pdf
html,
html
Hierarchical clustering pdf
html
Matrix decompositions & latent semantic indexing pdf
html
Web search basics pdf
html
Web crawling and indexes pdf
html
Link analysis pdf
html
Bibliography & Index pdf
bibtex file bib |
|
Database Management Systems |
Database Management Systems,
Ramakrishnan and Gehrke
Ravi Jasuja |
Overview, Query Processing, Embeddedef="ftp://ftp.aduni.org/videos/10_lect_02.rm" class=r>Relational Algebra, Relational Calculus,
Entity Relationship Diagrams,
RDBMS Memory and Disk Storage, RAID, Buffer Management,
Unordered/Sorted/Hashed Files, Indexes,
Index Sequential Access Method, B+ Trees,
Static and Dynamic Hash Indexing,
External Sorting, Merge Sort, Double Buffering, Replacement Sort,
Query Optimizers, Query Evaluation,
Normal Forms,
Query Analysis and Optimizing in Oracle |
|
Applied Probability |
Fundamentals of Applied Probability Theory, Al Drake.
Tina Kapur |
Introduction, Algebra of Events, Conditional Probability,
Independence, Bayes Theorem, Probability Mass Functions,
Conditional PMFs, Probability Density Functions,
PDFs and Image Guided Surgery,
Bayesian Segmentation of MRI Images. |
|
Web Programming |
The Internet and World Wide Web,
Hypertext Markup Language (HTML),
Cascading Style Sheets (CSS),
Page Layout with CSS,
JavaScript
HTML User Interface Controls,
JavaScript Events,
Document Object Model (DOM),
Asynchronous Javascript + XML (Ajax),
Extensible Markup Language (XML),
Debugging,
Multimedia,
Google Ajax Search API,
HTML Forms,
PHP,
HTML Tables,
SQL,
Cookies and Sessions,
Taking a Website Live,
Web Design and Usability,
What's Next? |
|
What Every Web
Programmer Needs To Know About Security |
Security Goals
Secure Systems Design
Secure Design Principles
Exercises
Worms and Other Malware
Buffer Overflows
Client-State
Manipulation
SQL
Injection
Password
Security
Cross-Domain Security in Web Applications
Exercises
Symmetric Key
Cryptography
Asymmetric Key Cryptography
Key Management &
Exchange
MACs and
Signatures
Exercises for
All slides |
|
Programming
Languages |
|
|
Web Software
and Security |
Web Software and Security Lectures
- Two great video lectures from Google Code University. |
|
Computer
Science Overview |
|
|
Concurrency in C++ |
Introduction,
Coroutine,
Concurrency,
Lock Abstraction,
Concurrent Errors,
Indirect Communications,
Direct Communications,
Other
Approaches |
|
Multicore
Programming Primer |
Course introduction (part 1),
Course introduction (part 2),
Introduction to Cell processor,
Introduction to parallel architectures,
Introduction to concurrent programming,
Parallel programming concepts,
Design patterns for parallel programming I,
Design patterns for parallel programming II,
StreamIt language,
Debugging parallel programs,
Performance monitoring and optimizations,
Parallelizing compilers,
StreamIt parallelizing compiler,
Star-P,
Synthesizing parallel programs,
Cilk,
Introduction to game development,
The Raw experience,
The future;
Getting to know Cell,
Take-home lab,
Cell programming hands-on,
Cell debugging tools,
Cell profiling tools,SIMD
programming on Cell:: Useful Information: Cell
programming mini-reference (PDF);
How to install
Cell SDK 2.0 with
YDL (Yellow Dog Linux) (PDF);
How to get X to work on the PLAYSTATION®3 console (PDF);Using
the
PLAYSTATION 3 Framebuffer for Graphics,
Vsync example |