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.

Sunday, September 30, 2007

Programming Language Video Lectures

This month I present to you my findings on programming language video lectures. I found some good introductory lectures on C++, Java, Perl, Python and a full blown course on Symbolic Programming from UC Berkeley. Have fun! :)

Introduction to Symbolic Programming (University of California Berkeley)

Topics covered are the following:
  1. Exploration: introduction to the course and to programming.
  2. Procedures and functions: evaluation, words and lists, functional programming.
  3. Variables: data types, inputs to procedures and functions, scope of variables, assignment.
  4. Predicates: conditional evaluation.
  5. Recursion (several models): linear- and tree-recursive operations.
  6. Planning and debugging.
  7. Functional operators.
  8. Other control structures, e.g. iteration, non-local exit.
  9. Other data structures, e.g. trees, hash tables, property lists, files.
  10. Programs as data.

C++ for Particle Physicists

Series of 13 lectures that was presented at CERN in Geneva by Paul Kunz from Stanford University. The lectures are very clear and start with the basics in an attempt to teach C++ to Particle Physicists. Each lecture is about an hour and a half long.

More information about these 13 lectures can be found here:

C++ Programming Tutorial

Bjarne Stroustrup’s Video Lecture on C++0x Standard

Dr. Bjarne Stroustrup is the original designer and implementer of the C++ Programming Language.

Quoting Him: "A good programming language is far more than a simple collection of features. My ideal is to provide a set of facilities that smoothly work together to support design and programming styles of a generality beyond my imagination. Here, I briefly outline rules of thumb (guidelines, principles) that are being applied in the design of C++0x. Then, I present the state of the standards process (we are aiming for C++09) and give examples of a few of the proposals such as concepts, generalized initialization, being considered in the ISO C++ standards committee. Since there are far more proposals than could be presented in an hour, I'll take questions."

Java Programming basics

An excellent video lecture course in Java Programming.
Students who view the complete video course will:
  • Understand fundamentals of programming such as variables, conditional and iterative execution, methods, etc.
  • Understand fundamentals of object-oriented programming, including defining classes, invoking methods, using class libraries, etc.
  • Gain exposure to the important topics and principles of software development.
  • Have the ability to write computer programs to solve specified problems.
  • Be able to use a software development environment to create, debug, and run programs.

Introduction to Perl: The Friendly Programming Language

Adam Trickett gives a short talk introducing the Perl scripting / programming language. This talk does not require any previous knowledge of Perl.

The talk covers history of Perl, Perl's parent programming languages, Hello world program, Perl's books, CPAN (Comprehensive Perl Archive Network) and Useful Perl resources/websites.

Beginning Perl for Nonprogrammers

This is an instructional video outlining the basics of the Perl scripting language.

Audrey Tang - Perl 6 Today

Introducing Python

This 24 minute video contains interviews with luminaries from the Python community interspersed with A Python Love Story. It was created for use as an introductory activity in a computer science course using Python.

Why I Like Python

Jim Dennis gives a short talk on the aspects of the Python programming language that he most appreciates. This talk requires some basic programming knowledge.

Intro to programming with Python and Tkinter

(Sorry, I couldn't find lectures 1 and 2). Starts with lecture 3:

More details on these tutorials at Intro to programming with Python and Tkinter wiki.

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)

  • 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 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)

  • Computer Science and Programming Lectures
    (Includes Haskell functional programming lecture, C++ and object oriented programming course, Java programming and Java app. development course, operating systems course, data mining course, cluster computing and map reduce lectures, internetworking & networking lectures, information systems lectures, computers and society course, human-computer interaction lecture course, java and web framework comparison 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.)

Labels: , , , , , , , , ,