Programming Languages
Scratch
Recommended: Elementary school and up Scratch is a visual programming language designed to be accessible for people of all ages! It’s designed for younger kids to help build creativity, problem solving, and collaboration skills. Scratch is a project of the Lifelong Kindergarten Group at the MIT Media Lab. It is provided free of charge.Processing
reccomended: Middle school and up. Processing is an incredibly powerful programming language that remains accessible for all skill levels. Processing uses traditional code making it a great starting point for older kids. Processing also has more than enough capability to maintain the interest of advanced programmers. Processing also has a tool that allows you to program in your browser! This is a fantastic option if you are unable to install processing but still want to learn.Java
reccomended: High School and up. Java is a fully fledged programming language that’s popular in industry and with amateurs. It’s open source with a plethora of libraries and tutorials. Java has online editors and compilers, but because it is a much larger language these will want to be avoided.
Video
Online Books
AP Computer Science Resources
A collection of resources for starting and creating a computer science curriculum for your own school.
- AP Computer Science Principles Course and Exam
- AP CS Educator Community
- How to start an AP course.
- Thriving in Our Digital World
- Project Lead the Way
Opportunities for Students
There’s a lot of options for students to get involved with computer science. There is a wide variety in options from events designed around competition to exploration.