<p>Harvard: Introduction to Computer Science I</p>
<p>Computer Science 50: Introduction to Computer Science I is a first
course in computer science at Harvard College for concentrators and
non-concentrators alike. More than just teach you how to program, this
course teaches you how to think more methodically and how to solve
problems more effectively. As such, its lessons are applicable well
beyond the boundaries of computer science itself. That the course does
teach you how to program, though, is perhaps its most empowering
return. With this skill comes the ability to solve real-world problems
in ways and at speeds beyond the abilities of most humans. Visit us on
the Web at <a href=“http://www.cs50.org%5B/url%5D”>www.cs50.org</a>.</p>
<p>[Harvard</a> College’s Computer Science 50: Introduction to Computer Science I - Download free podcast episodes by David J. Malan on iTunes.](<a href=“http://itunes.apple.com/podcast/harvard-colleges-computer/id263483352]Harvard”>http://itunes.apple.com/podcast/harvard-colleges-computer/id263483352)</p>
<p>C++</p>
<p>The instructor has a lot of energy and it looks like a fun course.</p>
<hr>
<p>Indiana-Purdue University</p>
<p>CSCI 230 Computing I (Standard C), Lectures and Powerpoint Presentations
[CSCI</a> 230 :: Computing I Distributed Lectures](<a href=“http://wally.cs.iupui.edu/csci230/]CSCI”>http://wally.cs.iupui.edu/csci230/)</p>
<hr>
<p>Stanford: Introduction to computer science | programming methodology</p>
<p>This course is the largest of the introductory programming courses and
is one of the largest courses at Stanford. Topics focus on the
introduction to the engineering of computer applications emphasizing
modern software engineering principles: object-oriented design,
decomposition, encapsulation, abstraction, and testing. Programming
Methodology teaches the widely-used Java programming language along
with good software engineering principles. Emphasis is on good
programming style and the built-in facilities of the Java
language. The course is explicitly designed to appeal to humanists and
social scientists as well as hard-core techies. In fact, most
Programming Methodology graduates end up majoring outside of the
School of Engineering.</p>
<p>[Stanford</a> School of Engineering - Stanford Engineering Everywhere](<a href=“http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111]Stanford”>http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111)</p>
<hr>
<p>MIT Structure and Interpretation of Computer Programs</p>
<p>[Structure</a> and Interpretation of Computer Programs, Video Lectures](<a href=“http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/]Structure”>Structure and Interpretation of Computer Programs, Video Lectures)</p>
<p>This is pretty old (check out the clothes and hairstyles) and it’s done
in LISP. I believe that the current course is done in Python. It should
be available on MIT OCW - I don’t know if they have the Python course
on video.</p>
<hr>
<p>Berkeley Structure and Interpretation of Computer Programs</p>
<p>CS 61A - Spring 08 - The Structure and Interpretation of Computer
Programs - Spring 2007. Introduction to programming and computer
science. This course exposes students to techniques of abstraction at
several levels: (a) within a programming language, using higher-order
functions, manifest types, data-directed programming, and
message-passing; (b) between programming languages, using functional
and rule-based languages as examples. It also relates these techniques
to the practical problems of implementation of languages and
algorithms on a von Neumann machine. There are several significant
programming projects, programmed in a dialect of the LISP
language. Video of lectures available at
webcast.berkeley.edu/courses.The Structure and Interpretation of
Computer Programs - Spring 2007. Introduction to programming and
computer science. This course exposes students to techniques of
abstraction at several levels: (a) within a programming language,
using higher-order functions, manifest types, data-directed
programming, and message-passing; (b) between programming languages,
using functional and rule-based languages as examples. It also relates
these techniques to the practical problems of implementation of
languages and algorithms on a von Neumann machine. There are several
significant programming projects, programmed in a dialect of the LISP
language.</p>
<p>This is in Scheme.</p>
<p>[UC</a> Berkeley Webcasts | Video and Podcasts: CS 61A](<a href=“Webcast and Legacy Course Capture | Research, Teaching, and Learning”>Webcast and Legacy Course Capture | Research, Teaching, and Learning)</p>
<hr>
<p>University of South Queensland: Object Oriented Programming in C++</p>
<p><a href=“http://ocw.usq.edu.au/course/view.php?id=13[/url]”>http://ocw.usq.edu.au/course/view.php?id=13</a></p>