Education Insider News Blog -

Perfect School Search

List of Free Online Programming Courses and Classes

See our list of the top free online programming courses. Learn about what courses are available and what topics they cover to find the course that's right for you.

Take Free Courses. Earn Real College Credit.

Most free courses don't lead to college credit. Education-Portal.com's free courses do!

Here's how it works:

  1. 1. Watch free video lessons.
  2. 2. Pass an exam to earn real college credit.

Free Online Programming Course Information

Some major universities offer open access to course materials used in their computer programming courses. Introductory and advanced topics are available. Registration isn't required to use these materials, which vary by institution and course. Students don't receive the benefit of interaction with instructors, grades or academic credit.

Massachusetts Institute of Technology (MIT)

MIT offers a wide variety of OpenCourseWare (OCW) programming courses, several at the introductory level. A Gentle Introduction to Programming Using Python was designed as a 3-week course for undergraduates with little or no experience in programming. Course materials available to OCW users include a downloadable text, which introduces learners to basic concepts in computer science and programming through the Python programming language. Lecture notes, assignments, handouts, exams and links to outside Python resources are also provided. Through a study group link on the course webpage, students can interact with peers and ask questions.

Through Introduction to Computer Science and Programming, OCW users can likewise learn to solve basic programming problems using Python. Some of the recommended texts on learning Python are available online for free as well as the required software. Video lectures, handouts, assignments, supplemental links, access to an online study group and quizzes are some of the additional resources available for this course. Introduction to C Memory Management and C++ Object-Oriented Programming is a brief course for undergraduates with previous programming experience in another language. Learners move from basic to advanced topics in writing C/C++ code within six sessions, for which lecture notes and assignments are available.

Introduction to Programming in Java is another short course designed for undergraduates interested in software engineering. Lecture notes for the seven class sessions, assignments and links to several free resources for learning the fundamentals of Java are available. Links are provided to download the Java Development Kit and a source code editor. A required course for all undergraduates in the Department of Electrical Engineering and Computer Science, Structure and Interpretation of Computer Programs is programming intensive and designed to familiarize students with basic computer science concepts. OCW learners have access to video lectures, transcripts, lecture notes, the online textbook, project assignment descriptions and exams.

University of California at Berkeley (UC - Berkeley)

Learners can view video lectures for several courses from UC - Berkeley's Computer Science Division on the university's website, YouTube and iTunes U; audio podcasts are available through iTunes, as well. No other course materials are provided. Data Structures is an undergraduate course designed to teach the fundamentals of software engineering and introduce students to Java. Learners following the lectures in Efficient Algorithms and Intractable Problems are exposed to theories and basic methods for creating and analyzing different types of algorithms as well as a variety of computation models.

The introductory course Operating Systems and System Programming familiarizes learners with a wide variety of topics in its 23 lectures, including segmentation, storage devices, security and utility programs. The 21 lectures in Programming Languages and Compilers provide an overview of how programming languages are designed. In Structure and Interpretation of Computer Programs, learners explore a variety of programming concepts through learning Python. The focus is on learning the essentials of programming rather than picking up a particular language. Previous programming experience isn't required.

Stanford University

Through the initiative Stanford Engineering Everywhere, students can access free online courses from the School of Engineering, including computer programming courses. Among these are three introductory computer science courses. While all the original course materials may not be available online, course materials typically include video lectures, readings and assignments. Lectures, which include transcripts, are available through YouTube, iTunes, WMV Torrent and MP4 Torrent.

The three Introduction to Computer Science courses follow a sequence. The first, Programming Methodology, is directed toward both humanities- and technology-oriented students, requiring no previous programming experience. Learners study basic concepts of computer application engineering while learning Java and may download for free all required software for the course.

Through the C++ programming language, students in the next course in the sequence, Programming Abstractions, explore advanced topics, like data abstraction and algorithmic analysis. Instructions for programming assignments, linked to various lectures, are provided in addition to problem sets and solutions. Building on the first two courses in the series, Programming Paradigms introduces students to advanced features of C/C++ and, through an overview of other contemporary languages, explores the differences between different approaches to programming. Course materials include links to several online tutorials and additional resources.

The remaining School of Engineering programming courses aren't part of the Stanford Engineering Everywhere project, and their course materials primarily consist of video lectures available on iTunes. Prerequisites and recommendations for iPhone Application Development include experience in C language and object-oriented programming. The course focuses on developing original ways for users to interact with the multi-touch capabilities of iPhones. The 16 lectures for Programming Massively Parallel Processors are designed for students who wish to develop software applications for concurrent processors. Students learn about parallel programming and communication models, among other topics.

Earn Real Credit from Free Courses

While the free courses above don't award credit directly, you can earn credit by passing an exam and transferring credit to your college. There are two widely recognized and affordable options for exams that award credit.

Option #1: CLEP Exams

The College Board's 33 CLEP exams allow you to test out of your general education requirements. Credit is accepted at 2/3 of colleges and universities in the U.S.

Option #2: Excelsior College's Credit-by-Exam

Excelsior College offers over 40 exams that lead to transferable credit. You can also earn three full degrees by taking free online courses and earning your credit by exam.

Learn how Education Portal Academy will pay you to earn credit!

Do you like this post?
Yes No

Thanks for your feedback!

What didn't you like?

Get our best student money savers and free resources
Education Insider Sample
Subscribe to Education Insider
Our strict privacy policy keeps your email address 100% safe & secure.
Related Articles
  • Related
  • Recently Updated
  • Popular

25 Popular Schools

The schools in the listing below are not free but are popular choices among our users. Tuition and costs will vary across programs and locations. Be sure to always request tuition information before starting a program.