Code Learning Sites and Apps: June 2024

I am about a month into my recent attempt to get back into coding and get further than I ever did before. In the process, I am using a variety of websites and apps to teach, motivate, and give me practice opportunities. I’m reviewing them to help others who might be in my position, and because I’m interested in instructional tech. This is a bit long, so hang on!

My context

I’m not completely new to coding. I taught HTML and CSS for 15 years at the college level, but that job ended some years ago (the school actually went out of business shortly afterwards, for good reason, but that’s another story entirely).

However, HTML and CSS aren’t exactly the same thing as other programming. In a sense, it’s just formatting. I wanted to learn to program. After I left the teaching job, I enrolled in the Web Technology Solutions certificate program at the University of Washington. This involved learning JavaScript, MySQL, and php. I completed the cert. At the same time, I was studying Python through a Rice University course on Coursera. I made an Asteroids game in Python!

But then… I didn’t get a job using any of these skills. And I forgot most of it, the same way you can forget your high school foreign language skills if you never use the language after you graduate. And in the meantime, technology advanced. Python is now Python 3. HTML/CSS practices have shifted. So I found myself in 2024, annoyed with myself for having forgotten so much, and looking for affordable ways to get it back… and beyond! Here’s what I’ve been trying so far.

“Duolingo” Apps

A common design now is the “Duolingo” type app. So far, these don’t involve a ton of code writing, so I am doubtful they can be a standalone solution, but they do help keep code alive in your head for one more day every time you use them, so they have their value. They tend to have “streaks” and leaderboards, just like Duolingo, so if these work for you, here they are! Each also has a free level, which is ad-supported in some cases.

Sololearn, https://www.sololearn.com

Works well, and I find the free version is fine for me at this stage. The Pro version gives some more exercises but I don’t feel they add enough value at this stage.

Full learning paths: Coding Foundations, Web Development, Python Developer, Coding for Data, Front-end for Beginners. Courses include tons of languages, including C, Java, C++, JavaScript, etc. They also have courses focused on generative AI.

Mimo, https://mimo.org

The free level is OK. It is frustrating to be mobile-only once you finish the early lessons, because sometimes they want you to type code in and I really dislike coding on mobile. But, it’s free. The main problem is the cost to be able to use your laptop or desktop computer. You have to have the Max plan, which is $$$$! I don’t feel the added value is worth the cost. The lessons are fine but I would not pay for either the Pro or Max levels.

Career paths: Full-stack, front-end, Python. Courses include HTML, CSS, SQL, Swift, JavaScript, Python.

Encode: Learn to Code, app on iOS and Android

Very similar to the previous two, but the price is better. Has the usual “Duolingo”-type features.

Paths: Learn to Code, Swift, Command Line, Make a Website, Analyze Data, SQL, Java. Courses include all the above (including Python, HTML, CSS), plus R.

Show-and-Type Lessons

“Show-and-type” lessons are the next step above the Duolingo-type apps, and it’s a pretty big step! These apps tend to have a built-in IDE and terminal in which you can create actual programs, guided by lessons with working examples, and working up to completing full programs by yourself.

Codecademy, https://www.codecademy.com/

I can’t say much about Codecademy because I haven’t been using it recently. I used it many years ago and loved it — back then, it was completely free, which was a bonus! A lot may have changed since then — it looks to me like much of what made Codecademy great is locked behind the paywalls now. Worth trying out to see if it works for you and if you feel the price is worth it.

Codédex, https://www.codedex.io

Codédex is unusual in specifically targeting Gen Z, though others are welcome too. Its retro-video-game style is actually pretty good at targeting Millennials and GenX as well. A strength of Codédex is the community, which is pretty active and quite helpful. If you are a club member, you can turn in projects that get reviewed by Code mentors with legit feedback. I do kind of worry about scalability as the site grows, but right now it’s great. Flaws here seem to be partially growing pains — things not quite fully baked yet (like some courses not having certificates yet, or the badges being kind of minimal — could they use the Open Badges format, maybe?), but it’s got a lot of personality (Tamagotchi, anyone?) and the price is exceptionally good for what you get.

Courses: Python, HTML, CSS, JavaScript, Git & GitHub, React, SQL

CodeSignal, https://learn.codesignal.com/

CodeSignal originally provided testing and interviewing services for hiring coders, then added educational content. The resulting Learn site is kind of a mix between Duolingo sites and Show-and-Type sites: Each lesson page is a show-and-type page, but each time you submit your code to be checked, you lose one “heart”. Even if your code was perfect. (You lose more if you ask the AI for advice.) It takes a whole day for the hearts to fully regenerate. This means that, if you don’t pay for a plan, you can only take 5 actions per day. Period. The lessons are pretty good (and themed!) and it does validate your code after each step, but the free level is so limited that the site’s value is pretty limited, to me. It might be great if I pay $25/month, but I will probably never know. Still, it has some paths that other sites do not.

Paths include: Introduction to Programming with Python, Data Analysis 101 with R, Intro to Data Analysis with Python, Journey into SQL with Taylor Swift (yes, that’s its name!), Fundamental Coding Interview Preparation with C++, Introduction to COBOL and Mainframe Programming (!), Fundamental Coding Interview Preparation with Python, Introduction to Dart for Beginners, Mastering Algorithms and Data Structures in Python, Python Programming for Beginners, Mastering Algorithms and Data Structures in JavaScript, JavaScript Programming for Beginners, and tons more, many of them not easily found elsewhere.

FreeCodeCamp, https://www.freecodecamp.org/

Coding bootcamps are a great option for some people, but they can be EX. PEN. SIVE. Like, grad school-level expensive. FreeCodeCamp was formed to get around that. You can take a ton of courses and get free verified certificates. Older courses (still available on the site) seem to have been video lectures, but the newer one I’m taking (Responsive Web Design) is a show-and-type course with lots of elaborate step-by-step interactive tutorials. It’s really well-designed, and although I taught web design for a long time, I’m finding quite a few things in there that I didn’t know (because they are newer techniques, mostly). You can even get at least one free professional Microsoft certification in C#. I highly recommend FreeCodeCamp.

Some of the certifications: Responsive Web Design, JavaScript Algorithms and Data Science, Front End Development Libraries, Data Visualization, Relational Database, Back End Development and APIs, Quality Assurance… and more. Additionally, they have courses to prepare for developer interviews.

Classes. Like, traditional classes. But online.

This leads me to online courses that aren’t cute button-tapping apps with kawaii mascots, or show-and-type apps: courses that are the equivalent of high school or college classes. There are a ton of these, some offered through universities, some elsewhere, like Udemy. It’s worth researching them. But there are some I want to mention.

EdX and Coursera have a bunch of these courses and full programs, mostly offered by legit universities. Both sites have free auditing of their courses, but to get certificates you have to pay.

I especially want to mention something from EdX, though: CS50.

CS50 courses

CS50 is an introductory computer science course from Harvard, which is the largest course on campus, and now the largest course on EdX. I was in the first cohort of CS50 ten years ago, but never finished due to real world life stuff interfering. (Divorces suck, I tell you…) But the course was GREAT. Lectures, exercises, problem sets, and a lot of hard work, but I *learned* so much while I was there. I have always wanted to get back to it. I decided now is the time.

But what did I find when I looked into it?

CS50 has become an entire ecosystem of courses, with free certificates available as well as paid, verified certificates. These are the current CS50 courses available:

All can be taken for free, completely, through Harvard’s OpenCourseWare. https://cs50.harvard.edu/x/2024/ gets you to the main CS50x page, and look near the bottom of the left side menu to find links to all the other courses. Follow the very well-defined steps to complete the course and get a free CS50 Certificate. If you want the verified cert, you’ll also have to enroll in EdX’s version of the same course, but it’s all explained clearly on the CourseWare page.

Now, the thing about the EdX cert is that you have to pay $$ for that one. But... If you are in the US, you can sign up for Verizon Skill Forward, which is a 12-month scholarship to certain EdX courses, including all of the CS50 courses. Including... all of the verified certificates if you finish the courses successfully. FREE.

Conclusion

So there you go. There are a lot of other options out there, but if you are trying to put together a self-guided coding education, these should be helpful. I am currently working through every single one of the items I listed here, except for Codecademy. I may end up dropping some as I learn which ones are most valuable, but for now, every day I do at least something on every one of these sites/apps.

Have you tried any of these? Tell me what you think!
-- @litlnemo