Computer Science

Open Courseware and Resources (general)

- Computer Science: study of the theoretical foundations of information and computation and their implementation and application in computer systems (Wikipedia).

Introduction to Computers

introduction for non-computer science students, gentler, lighter survey course without delving too much into technical details, also examines computers from the perspective on how they influence society

Information and Entropy

ultimate limits to communication and computation, emphasis on physical nature of information and information processing: information and computation, digital signals, codes and compression, applications (biological representations of information, logic circuits, computer architectures, and algorithmic information, noise, probability, error correction, reversible and irreversible operations, physics of computation, quantum computation), concept of entropy applied to channel capacity and second law of thermodynamics

Design and Analysis of Algorithms

Iterative Algorithms & Loop Invariants, Recursion, Optimization Problems, slides (Iterative Technique, Recursion, Searching Graphs, Network Flows, Greedy Algorithms, Recursive Back Tracking and Dynamic Programming, NP-Completeness, Lower Bounds & Models, Review)

CSC Media

variety of recordings of past CSC Talks - some large files

Stanford CS Education Library

collects education CS material from courses and distributes them for free: Pointers and Memory, Lists & Trees, Languages, Unix, Tetris, Beta Materials

Introduction to Algorithms

techniques for design & analysis of efficient algorithms emphasizing methods useful in practice, sorting; search trees, heaps & hashing, divide-and-conquer, dynamic programming, amortized analysis, graph algorithms, shortest paths, network flow, computational geometry, number-theoretic algorithms, polynomial & matrix calculations, caching, & parallel computing, readings, quizzes & solutions
 

Skiena's Algorithms Lectures

Introduction to Algorithms, Asymptotic Notation, Modeling / Logarithms, Elementary Data Structures, Trees, Sorting, Graph Data Structures, Breadth/Depth-First Search, Topological Sort / Connectivity, Minimum Spanning Trees, Shortest Path, All-Pairs Shortest Paths, Combinatorial Search, Program optimization, Dynamic Programming, NP-completeness, Reductions, Cook's Theorem, The NP-completeness challenge, Approximation Algorithms, Heuristic Methods

Introduction to Computer Science and Programming

understanding of the role computation can play in solving problems, small programs that allow useful goals, Python™ programming language: readings
 

Interactive Computer Theorem Proving

basic logic and natural deduction, data structures and induction, inductively-defined predicates, proofs as programs, tactics for automation, programming with proofs, beyond primitive recursion, automation, proof by reflection, denotational semantics, reflecting Coq into Coq, Twelf

Syndicate content