STEM Education Resources: Free Computer Science Classes

Earlier this year, job search powerhouse Glassdoor released its study of the 50 best jobs in America for 2017. The majority of the list involves STEM-related fields (short for Science, Technology, Engineering, and Math), with a heavy emphasis on computer science at the top. Four out of the top five spots went to Data Scientist, DevOps Engineering, Data Engineer, and Analytics Manager. To further emphasize growth within the computer science field as some of the “best” jobs, the Bureau of Labor Statistics found that software developers for applications are set to see almost 20% job growth by 2024.

Here at The Simple Dollar, we pride ourselves on keeping our finger on the pulse of financial self-improvement. We also see a lot of opportunities for people to get a head start on success in computer science and other STEM pursuits. Whether you’re a student looking to lay the groundwork for college, a working professional pursuing a change in career, or an experienced coder looking for a better way to vet a potential candidate, there’s a computer science education site for you.

Here’s our list of top websites for programmer education. Although not all of them are free, each site has at least one free level of instruction.

Note: Our selection of coding languages is based on the most popular languages featured in JetBrains’ State of Developer Ecosystem in 2017 study.

Free

The following programmer education websites are completely free to use:

Alice

WebsiteAlice
Languages taughtJava
Best forParents/Children, Aspirants (Students/ Retirees)
Certification?No
Free to use?Yes
Course durationN/A

Learning how to program doesn’t just mean learning how to build a website. Developed by Carnegie Mellon University, Alice is a unique way to learn how to program through developing basic CGI animations. The entire system is Java-based, and aspiring animators will develop and control models and a virtual environment via code. You’ll be able to design characters, environments, and even create unique dialogue to enrich your story or game.

It’s an impressive piece of software, and it’s completely open source. Alice has undergone three upgrades since its original release in 1999, and anyone who’s ever played The Sims before will feel right at home.

Bento

WebsiteBento
Languages taughtJava, JavaScript, Python, HTML/CSS, SQL
Best forAspirant (Students, Retirees), Intermediate (Job Hunters, Teachers)
Certification?No
Free to use?Yes
Course duration15-30 minutes

Bento is ideal for anyone looking to become a full stack developer — that is, anyone who wants to be familiar with all layers of development, from servers and hosting to user experience. Bento’s curriculum is designed by top engineers, teaching the fundamentals as well as front and back end development.

Each course stays on the shorter side, with individual lessons taking 10-30 minutes. Each course also pulls materials from around the web, including additional tutorials, lessons, and videos.

While certifications aren’t available for any of the learning tracks, the program is free, and instructors are experts in the tech industry. Users can develop their skills according to specified paths, or simply see what’s trending. It’s a great choice for those who are looking for a solid way to learn the fundamentals quickly.

CodeConquest

WebsiteCodeConquest
Languages taughtJavaScript, PHP, Python, HTML/CSS, Ruby, SQL, Swift
Best forAspirant (Students, Retirees), Intermediate (Job Hunters, Teacher)
Certification?No
Free to use?Yes
Course durationN/A

CodeConquest is a unique hybrid. Their site is one part introduction to essential languages and one part reviews of other coding instruction websites. Tutorials are streamlined, one-page articles that introduce users to the foundations of some of the most commonly used programming languages.

CodeConquest will also alert students to “training bundle deals” — comprehensive certification programs with a deep price cut. Aspiring programmers can also enjoy recommendations about the best training site to visit, based on the language they intend to learn. And to test coding knowledge, CodeConquest offers a series of beginner’s coding quizzes for nine different languages.

CodeFights

WebsiteCodeFights
Languages taughtAll
Best forIntermediate (Job Hunters, Teachers), Professionals (Hiring Managers, Engineers)
Certification?No
Free to use?Yes
Course durationN/A

CodeFights is a competitive coding website that boasts an “active community of 500,000+ engineers.” Engineers who create a free account have access to six game modes, designed to reinforce and enhance programming knowledge in unique and engaging ways.

Engineers can challenge friends and coworkers to head-to-head coding challenges, participate in tournaments, or even engage in interview practice (based on questions from the top tech companies). CodeFights offers one of the most robust selections of languages available, from core languages like JavaScript and HTML, to newer languages like Scala and Swift.

Hiring managers can request a demo of CodeFightsR, a comprehensive recruiting system that combines interviews with live coding exercises, all optimized to identify top engineering talent.

Codewars

WebsiteCodewars
Languages taughtJava, JavaScript, PHP, Python, C, C#, C++, Ruby, Swift, Go, SQL
Best forIntermediate (Job Hunters, Teachers), Professionals (Hiring Managers, Engineers)
Certification?No
Free to use?Yes
Course durationN/A

Codewars promotes programming education through collaborative learning. Instead of coursework, users sharpen their skills through solving “kata,” or community-generated coding challenges. The more difficult the challenge, the higher the kata. The result is one of the most flexible programming education options available.

Codewars is entirely free to use. All you need is a beginner’s understanding of your chosen language (aspiring students need to solve a challenge before signing up). Once you’re in, you’ll have access to a rich community and the opportunity to enrich your knowledge of a particular language or gain knowledge of a new one.

With 20 languages currently available and over 10 in beta, Codewars offers some of the most comprehensive programming education available today.

Crunchzilla

WebsiteCrunchzilla
Languages taughtN/A
Best forChildren/Parents, Aspirant (Students, Retirees)
Certification?No
Free to use?Yes
Course durationN/A

If you’re looking for more of a streamlined approach to the basics, then Crunchzilla may be the best option for you. Crunchzilla offers four games — Code Monster, Code Maven, Game Maven, and Data Maven — each designed to introduce different coding, data, and statistics concepts. Through each game, a friendly character will introduce players to the next step, provide context, and then explain specifics once players have achieved their goals. All four games are free.

Crunchzilla is a simple tool, ideal for those just looking to dip their feet into the world of programming and statistics.

freecodecamp

Websitefreecodecamp
Languages taughtJavaScript, HTML/CSS, SQL
Best forAspirant (Students, Retirees), Intermediate (Job Hunters, Teachers)
Certification?Yes
Free to use?Yes
Course duration400 hours (self-paced)

It’s in the name — freecodecamp offers 100% free education in core computer science subjects. That includes HTML/CSS and JavaScript, two of the most popular coding languages currently used by programmers, and a cornerstone for any beginning tech career. If you’ve already got a foothold in those languages, you’ll be able to take your knowledge even further, venturing into JavaScript-based runtimes like Node.js, or collaborative software like Git & GitHub.

Freecodecamp offers four different certifications: front-end development, back-end development, data visualization, and a certification that combines all three. Programs are extensive, requiring an average of 400 hours, but each course is self-paced. If you want to take your education further, there’s a Medium publication and a YouTube channel at for your disposal.

According to freecodecamp, more than 7,000 campers have gotten their first developer jobs, while 9,000 experienced developers have gotten better jobs. That’s not bad for a completely free program.

General Assembly Dash

WebsiteGeneral Assembly Dash
Languages taughtJavaScript, HTML/CSS
Best forAspirant (Students, Retirees)
Certification?No
Free to use?Yes
Course durationSelf-paced

Dash is the online learning platform offered by General Assembly, a cutting-edge educational institution. With Dash, students will learn how to code three essential programming languages: HTML5, CSS3, and JavaScript. Under the guidance of General Assembly faculty, students will combine all three languages, learning how to build multiple websites, including homepages, blogs, and more.

The entire platform is open-source and free. If you’ve finished Dash and loved it, General Assembly offers an entire catalog of full-time and part-time courses (all paid).

Google Web Fundamentals

WebsiteGoogle Web Fundamentals
Languages taughtN/A
Best forIntermediate (Job Hunters, Teachers), Professional (Hiring Managers, Engineers)
Certification?No
Free to use?Yes
Course durationN/A

Google Web Fundamentals is a fantastic resource for experienced developers looking for articles and programming labs. Each tutorial comes directly from Google, with content on the cutting edge of the industry. Articles cover advanced concepts of web architecture and user experience while providing a glossary for newcomers.

Google also offers a number of developer’s tools designed to help optimize the Google Chrome experience and a number of case studies that provide real-world examples of their subjects. If you’re an advanced programmer looking to optimize your skills for Chrome, you’ll find Google Web Fundamentals incredibly useful.

hack.guides()

Websitehack.guides()
Languages taughtAll
Best forIntermediate (Job Hunters, Teachers), Professional (Hiring Managers, Engineers)
Certification?No
Free to use?Yes
Course durationN/A

If you’ve already got a solid foundation of engineering and programming knowledge but you’re looking to expand your horizons while contributing to a vibrant community, hack.guides() is the place for you. Part of the hack. series of websites (which also includes hack.pledge, hack.summit, and hack.hands), hack.guides() is still in beta.

But it’s already home to a number of wide-ranging discussions all about programming languages big and small. The website is entirely open source and free, but it is not an ideal place for beginners. Users should have a core to intermediate understanding of a handful of languages before commenting.

The hack.guides() community is dedicated to improving the peer-review process while developing a “Medium.com for developers.” So once you’re ready for the next step in your education, this could be the place for you.

HackerRank

WebsiteHackerRank
Languages taughtJava, JavaScript, C++, Ruby, SQL
Best forIntermediate (Job Hunters, Teachers), Professionals (Hiring Managers, Engineers)
Certification?No
Free to use?Yes
Course durationN/A

A learning and competition community ideal for more experienced developers, as well as hiring managers or companies looking for a better way to vet applicants. Developers earn badges through competing against a set of opponent A.I.s, consistently updating the code until either the player or their opponents makes an invalid move. The better a developer does, the more stars on his or her badge.

HackerRank also provides a series of automated technical assessments for technical recruiters, making it easier than ever to identify talent. Recruiters can send in assessments in more than 35 languages and even use an online coding interview tool.

HackerRank also serves as a job search board, linking aspiring and experienced developers with technical job postings located across the United States. Developer challenges are open-source and free, while professional organizations have a 14-day free trial for recruiting tools. After the trial ends, pricing varies per needs and requirements.

Khan Academy

WebsiteKhan Academy
Languages taughtJavaScript, HTML/CSS, SQL
Best forChildren/Parents, Aspirant (Students, Retirees), Intermediate (Job Hunters, Teachers)
Certification?No
Free to use?Yes
Course durationVaries per course

Khan Academy’s a little over 10 years old, and it’s still a solid starting point for anyone looking to build a strong foundation. It’s not just the ideal starting place for children, but also for those with little programming experience looking to change careers, or retirees looking to add a new source of income.

Khan Academy creates virtual classrooms for each course, with lesson plans full of videos, text, and coding challenges. Students will learn the philosophy behind programming, and an overview of each subject, before digging into the specifics. Lesson plans include in-depth examinations, videos, and coding challenges.

Instead of certification, Khan Academy utilizes a “ Mastery System” for its students. Levels range from “struggling” to “mastered”, and the system utilizes multiple metrics to track what each student knows and adjusts their level accordingly. Combined with a robust curriculum, Khan Academy makes an ideal place to begin your programming education.

MIT OpenCourseWare

WebsiteMIT OpenCourseWare
Languages taughtJava, Python, C, C++
Best forAll difficulties
Certification?No
Free to use?Yes
Course durationSelf-paced

MIT (Massachusetts Institute of Technology) is one of the most prestigious schools in the world, and with MIT OpenCourseWare, they’ve made materials from over 2,400 of their courses available to the public for free. Courses are available on a wide array of topics, from social sciences, to education, to engineering.

There is a host of beginner and advanced courses for programming languages, as well as other STEM subjects, such as civil engineering and nanotechnology. Each course has a variety of features, including lecture notes, assessments, interactive simulations, and more. There’s no enrollment period and no set time for coursework. Every class is self-paced.

Unfortunately, MIT OpenCourseWare does not issue course certifications, and available materials are limited to whatever a course’s instructor is willing to publish for free. But MIT OCW has a Creative Commons license, which means their materials aren’t just free to use, they’re free to share.

The Odin Project

WebsiteThe Odin Project
Languages taughtJava, JavaScript, HTML/CSS, Ruby
Best forAspirant (Students, Retirees), Intermediate (Job Hunters, Teachers)
Certification?No
Free to use?Yes
Course durationSelf-paced

The Odin Project’s curriculum is dedicated to helping students learn essential coding languages, build a portfolio, and prepare for a career as a web developer. The website is fully open-source and community-driven, combining coursework with user-created content and carefully vetted materials found from around the web.

Courses combine an introduction to programming languages with practical industry experience, including how to get hired as a web developer. Coursework is comprehensive, teaching users how to create a multitude of websites. Each lesson is distilled down to the essentials, but by the time you finish, you’ll have the skills you need for your first job as a professional developer.

Scratch

WebsiteScratch
Languages taughtN/A
Best forParents/Children, Aspirant (Students, Retirees)
Certification?No
Free to use?Yes
Course durationN/A

Scratch is the ideal choice for anyone with absolutely zero programming experience or understanding. Developed by the MIT Media Lab and provided free of charge, Scratch is a custom-built coding language designed to illustrate the core concepts of programming. Scratch is designed especially for children from ages 8-16, but it’s accessible by everyone.

Users can create simple commands for characters, events, sounds, and more. Each command can be combined to create more complex chains, eventually building up to an entire animation or game. It’s ideal for anyone who wants to learn how to strategize, communicate, and solve problems using code.

Free/Paid

The following programmer education websites are mostly free to use or trial, but may have a cost associated with certification or specific courses:

Codecademy

WebsiteCodeacademy
Languages taughtJava, Javascript, Python, HTML/CSS, Ruby
Best forAspirant (Students, Retirees), Intermediate (Job Hunters, Teachers)
Certification?Yes
Free to use?Free courses, paid certification
Course duration5-10 hours (self-paced)

Offering comprehensive, hands-on instruction that covers the most essential coding languages, Codecademy.com is one of the best places to begin a programming career or expand your knowledge. Each course is broken down into interactive lessons: Users follow the instructions and create their own code, then watch the results pop up in their browser.

Further courses allow aspiring or intermediate coders to learn more complicated processes, like publishing a website or learning responsive design.

Basic courses are free. However, advanced courses, certifications, and projects require a $20/month subscription to Codecademy Pro. And if you’re looking for an even deeper experience, Codecademy Pro Intensive offers accelerated courses for all levels, designed to build professional coding skills in 10-12 weeks.

Code Combat

WebsiteCode Combat
Languages taughtJavaScript, HTML/CSS, Python
Best forParents/Children, Aspirant (Students, Retirees)
Certification?No
Free to use?Free courses, paid subscription optional
Course durationN/A

Video games are a fantastic way to enter the world of programming, and Code Combat combines the two to teach children the essentials of code. Children build their skills with every level, learning syntax as they fight their way through a dungeon, to object literals as they climb a perilous mountain, all the way to the mysterious castle at game’s end.

Players guide characters by developing lines of code, developing commands that push their avatars to grab treasure while avoiding pitfalls. The more complicated the environments become, the more complicated the code required in order to beat the level. It’s a smart, quick way to teach your child (or yourself) the logic and details of the coding world.

Code Combat is open source, and core levels are free to play for all. But, for a $9.99 monthly subscription, players can access extra level branches and 3,500 bonus gems (in-game currency) per month.

CodeHS

WebsiteCodeHS
Languages taughtJava, JavaScript, Python, HTML/CSS
Best forAspirant (Students, Retirees), Intermediate (Job Hunters, Teachers)
Certification?No
Free to use?Free, paid professional plan
Course duration1 Year

Much of this list revolves around teaching yourself how to code, but if you’re a teacher looking to introduce your students to the world of programming, then you should consider CodeHS. CodeHS offers a rigorous but fun curriculum designed for 6th-12th graders, as well as a professional development course for teachers.

Both programs introduce core concepts of computer science to student and teacher alike, no background necessary. Modules are entirely web-based and are made up of video tutorials, coding exercises, and unique problems for students to solve. The average course duration for students is ome year, while duration for teachers can vary from 15 to 30 hours.

CodeHS offers three payment plans: Free, Pro, and Super. The Free plan grants students and teachers access to the full 6-12 curriculum, but limits teacher resources. Pro and Super help track teacher development, in addition to students, and provide advanced metrics on each assignment.

Coursera

WebsiteCoursera
Languages taughtJava, JavaScript, Python, C, C#, C++, HTML/CSS, Ruby, Scala, Swift, Objective-C
Best forAll difficulties
Certification?Varies per course
Free to use?Varies per course
Course durationFull semester (2-5 hours per week)

Coursera offers a wide variety of online courses, ranging from programming and STEM to arts and the humanities. Subjects change frequently, but introductory courses for the most common programming languages are consistently available. Requirements vary by course. Some are optimized for complete beginners, while others rely on advanced knowledge.

Courses take place over months, while individual modules require anywhere from 2-5 hours per week. Certain courses are free including courses without certifications. If a certification is what you’re looking for, courses vary according to cost (Coursera also offers financial aid).

With Coursera, you’re not just limited to programming. There are certifications available in data science, physical science and engineering, language learning, and other disciplines.

edX

WebsiteedX
Languages taughtJava, JavaScript, Python, C#, C++, HTML/CSS
Best forAspirant (Students, Retirees), Intermediate (Job Hunters, Teachers)
Certification?Varies per course
Free to use?Free course, paid certification
Course durationSelf-paced

A nonprofit founded by Harvard and MIT, edX utilizes a unique open-source Massive Open Online Course (MOOC) system for each of its courses. Each course comes with a unique Learning Management System and advanced modules, and is designed to track a student’s progression.

edX’s faculty is made up of leading professors from around the globe, and each course varies by difficulty. Students can choose to take standalone courses or combine courses to obtain verified certifications. While individual courses are free, certifications can range from anywhere between $50 to $100.

Students aren’t just limited to computer science. Other STEM-related subjects include life sciences, engineering, and physics. If you’re looking to take your education even further, edX also offers extensive business and humanities programs.

Tuts+

WebsiteTuts+
Languages taughtJava, JavaScript, PHP, Python, C#, HTML/CSS, Ruby, Swift, Go, Objective-C
Best forAll difficulties
Certification?Varies per course
Free to use?Free trial, paid subscription
Course duration1-2 hours

Tuts+, created by the creative assets marketplace Envato, offers a unique mix of how-to articles and tutorials, courses, and ebooks, all designed to help further the user’s programming knowledge. What makes Tuts+ unique is its emphasis on design. Courses center around learning languages and web design hand in hand, in addition to courses on creating logos and typography.

While Tuts+ how-to articles and tutorials are free, courses and ebooks are available only with a subscription of $29/month. However, subscribers gain access to two sites: Envato Tuts+, and Envato Elements, a design software stacked to the brim with photographs, assets, and design templates, all ready to use.

Udacity

WebsiteUdacity
Languages taughtJava, JavaScript, Python, HTML/CSS, Ruby, Swift
Best forAll difficulties
Certification?Varies per course
Free to use?Varies per course
Course durationVaries per course

Udacity is a massive online course catalog where students can earn “nanodegrees,” special certifications earned by completing cutting-edge projects built by expert instructors. Courses range in difficulty from beginner to advanced, and cover everything from the introduction of programming languages to introductions to self-driving cars and virtual reality.

Many Udacity courses are developed in tandem with major names in the tech industry, including Google, Samsung, and IBM’s Watson. The faculty consists of industry professionals, and each module comes with a host of informative videos and interactive quizzes. Courses can be self-paced or have a set curriculum that unfolds over a matter of months.

While many Udacity courses are free, nanodegree-driven programs are not. Costs vary, but can either be paid via monthly payments or a one-time upfront fee. For the frugal-minded, Udacity offers a number of scholarships based on a student’s aspiration.

Udemy

WebsiteUdemy
Languages taughtAll
Best forAll difficulties
Certification?Varies per course
Free to use?Varies per course
Course durationVaries per course

Much like Coursera and edX, Udemy boasts an extensive online catalog covering a wide range of unique subjects. Multiple courses are available for a wide variety of languages, capable of taking students from novice to expert. Courses include a mix of in-depth articles, assignments, videos, and exercises, designed by some of the top engineers in their field.

There are plenty of free courses available, but average pricing for an individual course is between $150 to $200. Each course comes with lifetime access: once you’ve bought it, it’s yours for life. Certificates of completion vary from course to course, and access is always available on multiple devices, optimized for both desktop and mobile.

Viking Code School

WebsiteViking Code School
Languages taughtJavaScript, HTML/CSS, SQL
Best forAspirant (Students, Retirees), Intermediate (Job Hunters, Teachers)
Certification?No
Free to use?Free trial, paid program
Course durationSelf-paced or 70 hours/week

Viking Code School’s methodology offers a “battle-tested way to learn” and a curriculum of lessons built on learning, building and refactoring (aka condensing many lines of code into few). Learning paths are broken down into two categories: the self-paced Flex category, providing quality lessons and full support according to your schedule, or the 70+ hours per week Intensive category, which lasts for 12 immersive weeks.

Both tracks are dedicated to comprehensive programming instruction. Students will utilize popular coding languages to build real-world projects, including JavaScript tools and applications from scratch, all within the Agile software development system.

Students will enjoy one-on-one instructor collaboration, in addition to large group projects and immersive career support. The first two courses of each track — Basic Prep Work and Advanced Prep Work — are free. The cost of further instruction varies according to track, but Viking does offer a “deferred fee” option. With a deferred fee, there is no tuition. Instead, participants pay 20% of their first year’s salary when they land their first job.

Conclusion

Education and self-betterment are processes that never really stop. Programming and other STEM-based skills are increasingly vital in modern business. Whatever your degree of programming knowledge, these programs, sites, and courses are sure to help you expand your understanding of the digital world. With time, patience, and a little hard work, you’ll develop skills that will help guide you throughout the rest of your career.