Free Science and Video Lectures Online! Free education online is possible.

Great news! New Science Site launched: Free Science Videos and Lectures

Another great news! My Programming Site launched: Good coders code, great reuse

More great news! I started my own company: Browserling - Cross-browser testing.

Friday, February 29, 2008

Computer Science Video Courses

This time I bring you a mixture of video lectures and full video courses for computer science undergraduates and graduates.

Courses come from engineering, mathematics and comp. sci. departments of various universities.

This post can be considered a follow-up on posts on computer science lectures: 1, 2, 3, 4, 5, 6, 7, 8 .

See the right menu bar for more lectures specifically in engineering and mathematics!

Introduction to Computer Graphics (35 lectures)

Course topics:
1. Introduction. 2, 3. Raster Graphics. 4. Clipping. 5. Polygon Clipping and Polygon Scan Conversion. 6, 7. Transformations. 8, 9. 3D Viewing. 10-15. Curves. 16-19. Surfaces. 20. Hierarchical Models. 21-23. Rendering. 24-27. Ray Tracing. 28, 29. Hidden Surface Elimination. 30-32. Fractals. 33-35. Computer Animation.

Computer Graphics (43 Video Lectures)

Course topics:
1. Introduction to computer graphics. 2-5. CRT Display Devices. 6. Transformations. 7. Transformations in 2D. 9, 10. Three Dimensional Graphics. 11. Project Transformations and Viewing Pipeline. 12. 3D Viewing. 13-17. Scan Converting Lines, Circles and Ellipses. 18, 19. PolyFill Scan Conversion of a Polygon. 20-22. Clipping: Lines And Polygons. 23-25. Solid Modelling. 26-32. Visible Surface Detection. 33-35. Illumination and Shading. 36, 37. Curve Representation. 38. Curves and Surface Representation. 39. Graphics Programming. 40. Graphics Programming Using OpenGL. 41. Advanced Topics. 42, 43. Digital Image Processing.

Discrete Mathematics for Programmers (40 Video Lectures)

Course topics:
1, 2. Propositional Logic. 3, 4. Predicates & Quantifiers. 5. Logical Inference. 6. Resolution Principles & Application to PROLOG. 7. Methods of Proof. 8. Normal Forms. 9. Proving programs correct. 10. Sets. 11. Mathematical Induction. 12. Set Operations on Strings Over an Alphabet. 13. Relations. 14, 15. Graphs. 16. Trees. 17. Trees and Graphs. 18. Special Properties of Relations. 19, 20. Closure of Relations. 21. Order Relations. 22. Order and Relations and Equivalence Relations. 23. Equivalence relations and partitions. 24-26. Functions. 27-29. Permutations and Combinations. 30-31. Generating Functions. 32-34. Recurrence Relations. 35-37. Algebras. 38-39. Finite State Automaton (FSA). 40. Lattices.

Mathematical Analysis (32 Video Lectures)

Course topics:
1. Real Number. 2. Sequences I. 3. Sequences II. 4. Sequences III. 5. Continuous Function. 6. Properties of continuous functions. 7. Uniform Continuity. 8. Differentiable function. 9. Mean Value Theorems. 10. Maxima - Minima. 11. Taylor's Theorem. 12. Curve Sketching. 13. Infinite Series I. 14. Infinite Series II. 15. Tests of Convergence. 16. Power Series. 17. Riemann integral. 18. Riemann Integrable functions. 19. Applications of Riemann Integral. 20. Length of a curve. 21. Line integrals. 22. Functions of several variables. 23. Differentiation. 24. Derivatives. 25. Mean Value Theorem. 26. - Maxima Minima. 27. Method of Lagrange Multipliers. 28. Multiple Integrals. 29. Surface Integrals. 30. Green's Theorem. 31. Stokes Theorem. 32. Guass Divergence Theorem.

Introduction To Problem Solving and Programming (23 Video Lectures)

Topics include:
Introduction to Computers, Algorithms and Programming. Data Types, Strings, and Input and Output. Flow Control. Arrays. Data Structures. Dynamic Data Structures. Recursion. Various Mathematics Problems and their solutions.

Computing I (CSCI 230, Indiana and Purdue Universities)

Course topics:
Introduction to Computers - Hardware and Languages. C Programming. Basic Input/Output. Variable Declarations, Data Types, Expressions. Program Control. Functions. Information Representation. Arrays. Programming Ethics. Pointers. Characters and Strings. Structures. Models of Computation.

Computing II (CSCI 240, Indiana and Purdue Universities)

Course topics:
Advanced Programming. C++ Programming. Concepts in Object-Oriented Design. Classes. Stream Input/Output Basics. Abstract Data Types. Operator Overloading. Inheritance. Virtual Functions. Exception Handling. Templates. Standard Template Library (STL). History of Graphical User Interfaces. Introduction To Visual Programming. QT Designer. Boolean Algebra. Digital Logic. Analysis of Algorithms. Elementary Data Structures. Recursion. Abstract Data Types. Elementary Sorting Algorithms. Quicksort. Mergesort.

Numerical Methods and Programing (38 Video Lectures)

Course topics:
1. Programing Basics. 2. Introduction to Pointers. 3. Pointers And Arrays. 4. External Functions and Argument Passing. 5. Representation of Numbers. 6. Numerical Error. 7. Error Propagation and Stability. 8. Polynomial Interpolation I. 9. Polynomial Interpolation II. 10. Error In Interpolation Polynomial. 11. Polynomial Interpolation. 12. Cubic Spline Interpolation. 13, 14. Data Fitting : Linear Fit. 15. - Data Fitting : Non Linear Fit. 16. Matrix Elimation and Solution. 17. Solution To Linear Equations. 18. Matrix Elimination. 19. Eigen Values of A Matrix. 20. Eigen Values And Eigen Vectors. 21. Solving NonLinear Equations. 22. Solving NonLinear Equations with Newton Method. 23. Methods For Solving NonLinear Equations. 24. System of NonLinear Equations. 25. Numerical Derivations. 26. High order Derivatives From Difference Formula. 27. Numerical Integration - Basic Rules. 28. Comparison of Different Basic Rules. 29. Gaussian Rules. 30. Comparison of Gaussian Rules. 31. Solving Ordinary Differential Equations. 32. Solving ordinary differential equations. 33. Adaptive step size Runge Kutta scheme. 34. Partial Differential Equations. 35. Explicit and Implicit Methods. 36. Nicholson Scheme For Two Spatial Dimensions. 37. Fourier Transforms. 38. Fast Fourier Transforms.

Convex Optimizations (EE364-a, Stanford University)

Read by professor Stephen Boyd in Winter Quarter 2007/2008.

Course description:
Concentrates on recognizing and solving convex optimization problems that arise in engineering. Convex sets, convex functions, and convex optimization problems. Basics of convex analysis. Least-squares, linear and quadratic programs, semidefinite programming, minimax, extremal volume, and other problems. Optimality conditions, duality theory, theorems of alternative, and applications. Interior-point methods. Applications to signal processing, control, digital and analog circuit design, computational geometry, statistics, and mechanical engineering.

Available lecture notes on topics:
Convex sets, Convex functions, Convex optimization problems, Duality, Approximation and fitting, Statistical estimation, Geometric problems, Numerical linear algebra background, Unconstrained minimization, Equality constrained minimization, Interior-point methods. Convex optimization examples, Filter design and equalization, Disciplined convex programming and CVX.

Introduction to Linear Dynamical Systems (EE263, Stanford University)

Read by professor Stephen Boyd in Autumn Quarter 2007/2008.

Course description:
Introduction to applied linear algebra and linear dynamical systems, with applications to circuits, signal processing, communications, and control systems. Topics include: Least-squares aproximations of over-determined equations and least-norm solutions of underdetermined equations. Symmetric matrices, matrix norm and singular value decomposition. Eigenvalues, left and right eigenvectors, and dynamical interpretation. Matrix exponential, stability, and asymptotic behavior. Multi-input multi-output systems, impulse and step matrices; convolution and transfer matrix descriptions. Control, reachability, state transfer, and least-norm inputs. Observability and least-squares state estimation.

Intelligent Systems Control (32 Video Lectures)

Course topics include:
Methods for the system analysis. Design of intelligent systems for control. Programming of computation of intelligent systems, and their communications. Numerical methods and optimization. Linear programming. Discrete programming. Dynamic (dynamical) programming. System learning. Reinforcement learning. Optimal solution estimations. Bayesian networks. Neural Networks. Expert systems. Genetic Algorithms.

Programming Systems Seminar Series

See the The Intel Research Berkeley Programming Systems Seminar Series for more information!

• Towards a Memory Model for C (by Hans Boehm)
Video Lecture - Low Speed (90 MB) or High Speed (600 MB)
Lecture Notes

• Software and the Concurrency Revolution (by Herb Sutter)
• Static Extended Checking for Cyclone (by Greg Morrisett)
• Design and Implementation of Python (by Guido van Rossum)
• Parallel Programming and Code Selection in Fortress (by Guy Steele)
• How Simply and Understandably Could The "Personal Computing Experience" Be Programmed? (by Alan Kay)
Video Lecture
Lecture Notes

• Contracts in Eiffel: old and new uses (by Bertrand Meyer)
• An outline of C++0x (by Bjarne Stroustrup)
Video Lecture
Lecture Notes

• Multithreaded Programming in Cilk (by Charles Leiserson)

• Faith, Evolution, and Programming Languages: From Haskell to Java (by Philip Wadler)
Video Lecture
Lecture Notes

Have fun with these lectures and get smarter! :)
Don't forget to check out the right menu bar for more lectures! Until next time!

Related Posts
• Free Computer Science Video Lecture Courses
(Courses include web application development, lisp/scheme programming, data structures, algorithms, machine structures, programming languages, principles of software engineering, object oriented programming in java, systems, computer system engineering, computer architecture, operating systems, database management systems, performance analysis, cryptography, artificial intelligence)

• Programming Lectures and Tutorials
(Lectures include topics such as software engineering, javascript programming, overview of firefox's firebug extension, document object model, python programming, design patterns in python, java programming, delphi programming, vim editor and sqlite database design)

• Programming, Networking Free Video Lectures and Other Interesting Ones
(Includes lectures on Python programming language, Common Lisp, Debugging, HTML and Web, BGP networking, Building scalable systems, and as a bonus lecture History of Google)

• Computer Science Lectures
(Courses include higher computing (intro to theory of computation), intro to computer science, data structures, compiler optimization, computers and internet, intro to clojure, the akamai story, cryptography, EECS colloquium videos at Case Western Reserve University)

• More Mathematics and Theoretical Computer Science Video Lectures
(Includes algebra, elementary statistics, applied probability, finite mathematics, trigonometry with calculus, mathematical computation, pre-calculus, analytic geometry, first year calculus, business calculus, mathematical writing (by Knuth), computer science problem seminar (by Knuth), dynamic systems and chaos, computer musings (by Knuth) and other Donald E. Knuth lectures)

• More Mathematics and Theoretical Computer Science Video Lectures
(Includes algebra, elementary statistics, applied probability, finite mathematics, trigonometry with calculus, mathematical computation, pre-calculus, analytic geometry, first year calculus, business calculus, mathematical writing (by Knuth), computer science problem seminar (by Knuth), dynamic systems and chaos, computer musings (by Knuth) and other Donald E. Knuth lectures)

• Computer Science Courses
(Includes introduction to computer science and computing systems, computational complexity and quantum computing, the c programming language, multicore programming, statistics and data mining, combinatorics, software testing, evolutionary computation, deep learning, data structures and algorithms and computational origami.)

• The "Introduction To Problem Solving and Programming" link on this page is incorrect. The correct link is, http://youtube.com/view_play_list?p=94CA590D7781A9B9

By Anonymous, at Thu Mar 13, 05:12:00 AM 2008

• HI,
I am Mustafa,from egypt
I am studying in medical field,pharmacy
I will be very glad if you tell me how to be successful and people helping in this field
I want to know how to gain clinical skills in this field ""the pharmacist in our strange Egypt have no work eccept standing in a pharmacy ""market""
good bye,
Mustafa

By مصطفى, at Sat Mar 15, 10:01:00 PM 2008

• It's really nice finding someone else that is into educational materials.
You are doing a great job with your blog

By Anonymous, at Tue Mar 18, 09:54:00 PM 2008

• Thank you _VERY_ much for the links.

By Feys, at Sat May 24, 11:17:00 AM 2008

• Its really good I have visited your blog many times. thanks for visiting mine one at http://pimpalepatil.blogspot.com/

By Prakash B. Pimpale-Patil, at Sat Sep 20, 10:51:00 AM 2008

• congratulations for this amazing source of lectures.
helps A LOT!
I come back here a lot of times.
thank you.

By Victor, at Tue Aug 18, 02:57:00 AM 2009

• No doubt you've been a good helper for us. Huge collection of valuable sources at your blog. Thanks for the videos. Its really useful for my cousin brothers.
Thanks,

By pass-guaranteed.com scam, at Fri Sep 11, 10:14:00 AM 2009