Take a look inside 5 images
Code School
Pros: Very well-designed lessons get to practical content right away, while interactive challenges and lovely tutorial videos get learners coding immediately.
Cons: Not much expert support, limited in-lesson feedback; lessons using external environments don't have the same level of interactivity.
Bottom Line: These lessons will keep learners engaged as they grow from novice to beginning programmer, ready to tackle small projects in only a few days.
Code School is an awesome option for teachers looking to offer a flipped or blended programming classroom, either as part of a computer science course or integrated into science or math (or anywhere else). Students can easily work through lessons at their own pace and on their own computer at home. Skipping videos if they're already somewhat proficient or taking their time if they need more structure makes for easy, student-driven differentiation. This could free up class time for collaborative work on larger projects or give teachers the freedom to provide one-on-one instruction as needed. There's no teacher dashboard to manage classes, so you'll have to get creative with assessment to keep track of individual student progress.
Another awesome option could be to include Code School as a choice for kids who want to learn programming skills but don't have time in their class schedules, as a piece of an after-school program on computer science or as an alternative to an internship or job-practice program for kids with busier lives.
Code School is exactly what its name implies: a large set of interactive online lessons that teach users how to code. Using a smart combination of live lecture videos, informative slide decks, and interactive practice, learners can work through dozens of courses. Students can explore web markup, databases, and programming languages (such as HTML/CSS, Ruby, SQL, and JavaScript), get their hands dirty with Python, build iOS apps with Swift, Objective-C, and Google Maps, or learn about other useful development technologies (such as Git, R, Chrome DevTools, and Regular Expressions).
Users begin by watching amusing themed videos with expert lecturers and clear visuals, answer a few multiple-choice questions, and then get started right away on coding challenges. Each challenge gives step-by-step tasks, which users program in an online development environment. During the process, a real-time interpreter displays results of code immediately. For extra help, students can jump back and forth between slides, videos, and the coding environment as needed.
Code School's videos are excellent and well-paced, with visuals and examples that give students immediate familiarity with the concepts. A quick review quiz after each lesson emphasizes key concepts to ensure learners are ready to move on to practice. The real strength of the experience lies in the practice challenges –- there's really no better way to learn programming than with hands-on tasks, which here are broken down into sensible pieces that reflect what each chunk of code is intended to accomplish.
Being able to see the results of work in real time allows users to see, down to the character, what their code actually does (or fails to do). It also allows flipping back and forth between lessons and practice, which means fewer web searches for help when inevitable confusion occurs. There are also various screencasts to extend learning beyond lessons and a robust community forum for peer-to-peer support.