Introduction Programming Courses (No Prior Programming Experience Necessary) available on Coursera.org
1. Computer Science 101
CS101 teaches the essential ideas of Computer Science for a zero-prior-experience audience. The course uses small coding experiments in the browser to play with the nature of computers, understanding their strengths and limitations.
2. Learn to Program: The Fundamentals
This course introduces the fundamental building blocks of programming and teaches you how to write fun and useful programs using the Python language.
3. An Introduction to Interactive Programming in Python
This course is designed to be a fun introduction to the basics of programming in Python. Main focus of this course will be on building simple interactive games such as Pong, Blackjack and Asteroids.
4. Introduction to Systematic Program Design
This course is about learning to program well: building programs that are elegant, well tested and easy to maintain. The course is intended for students with no programming experience, but many former students who already knew how to program have said it made them better programmers.
Advanced Programming Courses (college freshman/sophomore level courses)
1. Learn to Program: Crafting Quality Code
In this course, we'll focus on writing quality code that runs correctly and efficiently. We'll design, code and validate our programs and learn how to compare programs that are addressing the same task.
2. Algorithms I
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers basic iterable data types, sorting, and searching algorithms.
3. Algorithms II
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations.
Core Languages and IDEs
1. General OO concepts and Java Development. Use Eclipse and focus on: Learning the Java Language, Essential Java Classes, and Collections. http://download.oracle.com/javase/tutorial/
2. ASP.NET (Tiers 1, 2 and 3). Download Visual Web Developer and focus on C#. http://msdn.microsoft.com/en-us/beginner/
Links to Princeton's free book website
Back to Students