Free Online Programming Courses

9 Programming Courses

Building Dynamic Websites

Harvard University

Today's websites are increasingly dynamic. Pages are no longer static HTML files but instead generated by scripts and database calls. User interfaces are more seamless,...

Computer Science I: Programming Methodology

Stanford University

Programming Methodology is the largest of the introductory programming courses and is one of the largest courses at Stanford. Topics focus on the introduction to...

Computer Science II: Programming Abstractions

Stanford University

This course is the natural successor to Programming Methodology and covers such advanced programming topics as recursion, algorithmic analysis, and data abstraction...

Computer Science III: Programming Paradigms

Stanford University

Topics include: Advanced memory management features of C and C++; the differences between imperative and object-oriented paradigms; the functional paradigm (using...

CS1: Higher Computing

University of New South Wales

This is the introductory course for computer science at UNSW.This course consists of three strands: programming, systems, and general computer-science literacy.The...

CS2: Data Structures and Algorithms

University of New South Wales

These are the 2009 lectures of COMP1927 Algorithms and Data Structures, aka Computing2 the second computing course taken by first year computing students at UNSW....

CS3: Design in Computing

University of New South Wales

Introduction to Java, OO Design, Algorithm Design for second year programmers. Anyone is welcome to access the course materials and teach yourself this course at...

Introduction to Algorithms

Massachusetts Institute of Technology

This course teaches techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics covered include: sorting; search...

Introduction to Computer Science and Programming

Massachusetts Institute of Technology

This subject is aimed at students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in...