By Noah Moster
1. Khan Academy
Link: https://www.khanacademy.org/computing
Level: Beginner
Price: Free
Khan Academy is a fun, visually engaging website for those who may not know much about the language of computers! The focus of this website isn’t just on the how-to program but also on the what and the why. Students have the opportunity to delve into JavaScript, Python, data protection, and even some of Pixar’s tools for animated films.
2. SoloLearn
Link: https://www.sololearn.com/en/
Level: Beginner
Price: Free with Premium options
SoloLearn is an app similar to Duolingo, with the language of choice in this regard being a programming one instead. C Python, C++, and Java are just a few of the many choices available in this simple yet comprehensive course trainer! It also features a more proactive stance on computer learning with a specialized lesson set for generative AI. With both a phone and a computer format, it’s an easy homework assignment for anyone wanting to get in just a bit more practice after the end of the school day. Just be aware that it is a Freemium service, so ads and limited progression are sure to follow.
3. MDN Curriculum
Link: https://developer.mozilla.org/en-US/curriculum/
Level: Intermediate
Price: Free
While Khan Academy and SoloLearn provide more general knowledge of the coding world at large, Mozilla disregards this approach for a more in-depth view of web development. Rather than a shallow lake, this website provides a deep well of education in the fundamentals of HTML, CSS, design theory, and JavaScript, as well as how best to employ all those languages in a tasteful manner to present a smoothly functional website. While this choice of quality over quantity allows students a deeper connection with the material they’re learning, it also means that there is less freedom to try out alternative languages (though knowing the ins and outs of website creation is never a bad skill to have).
4. MIT OpenCourseWare
Link: https://ocw.mit.edu/collections/introductory-programming/
Level: Professional
Price: Free
“MIT” and “General Introductions to Programming” seem like almost a juxtaposition, but don’t worry! While this school of prestige could likely flood a dam with its sea of programming expertise, these courses are designed with the ambitious prospective programmer at heart! They fixate on Python for their main classes, but if MATLAB, Java, or C++ are more compelling, they have that too. Remember, these are the materials and documents for classes more than prebaked, set-it-and-forget-it lesson plans, so prep time will be needed. Another thing of note is that while these courses are made for beginner-level programmers, they are also designed for MIT undergraduates. Keep that in mind when evaluating skill sets for your class.
5. LeetCode
Link: https://leetcode.com/
Level: Professional
Price: Free, with Premium options
LeetCode isn’t the typical learning suite when it comes to programming. It’s not there to teach you directly how to code or make a “hello world” project. LeetCode is supposed to prepare the student for their future computer sciences career. It gives out questions and problems you’d find in a job interview, which is why it’s the last entry on the list. Rather than learning about languages, the student will learn about companies: What type of things is Apple looking for? How would I solve this algorithm question for Google?
These inquiries are rated in difficulty level and separated by topic (i.e., Math, Dynamic Programming, Sorting, etc.). The site even features a discussion board for real-world experience exchange and forum-based assistance. However, something to remember is that, as a Freemium option, the solutions and explanations will be limited.
Finding websites and course plans that allow for a secure and friendly learning environment can be difficult. Fortunately, with these five tools of the trade, students can feel much more prepared to understand the world of computer science and mold it themselves with hard work, dedication, and, most importantly, a love of learning!
Do you want more resources on the topic of computer science resources? NSTEM’s vast resources database provides thousands of STEM resources that are searchable by category, school level, and state. This comprehensive library includes info on enrichment activities, curricula, internships, scholarships, and more. Check out a free sampling here. Or get an NSTEM membership today to unlock the complete list.
Project-based learning enrichment provides high school students with college and career readiness. It gives them real-world relevance, transforming students into collaborators and imaginative problem solvers. They will gain the upper hand in a global landscape, stemming from enhanced confidence and grit. NSTEM provides these young STEM enthusiasts with a close community of like-minded fellow students and educators. To start your 9-12 Chapter of the National STEM Honor Society, click here.