This piece was co-authored with Rachel Paulter, marketer at Chalk.com.
Computer science (CS) education faces a crisis. The White House calls computer science "an economic and social imperative for the next generation of American students." Yet only 1 in 4 elementary and high schools teach programming. The number of introductory secondary school computer science courses have decreased by 17% since 2005. Every other STEM (Science, Technology, Engineering, and Mathematics) course has seen a steady enrollment increase over the same period.
Computer science is becoming a critical component of public education as technology continues to affect more aspects of our daily lives. According to Code.org, there is currently a demand for over 500,000 computer science graduates in America, yet only 6% of the roles are being filled by American graduates. Students who take Advanced Placement (AP) CS in high school are 8 times more likely to major in CS during their postsecondary education.
It's not just the job market that needs people familiar with CS. Computer science at a young age teaches students to solve problems and think critically; skills that will benefit them no matter where their career takes them. Parents are seeing the benefit of this, with 9 in 10 saying that they want their child to study CS.
Image from Code.org
President Barack Obama recently announced the Computer Science for All initiative; a plan to increase the amount of elementary and high school students learning how to code.
How do you add computer science into your curriculum as a teacher or school administrator? We've collected some of the best tools to help accomplish this including training for teachers to prepare to teach programming, and games to keep students learning beyond the classroom.Teacher Training
- Code.org -- Find workshops, curriculum overviews, and 3rd party resources designed for each grade level
- TeachCS -- Matches teachers with the appropriate training for grade level, the school's background in computer science, location and timing
- LeadCS.org -- Collection of tools, information, and recommendations to help bring computer science into schools
- Lynda.com -- Online courses ranging from development and design to education and business
- Codecademy -- Interactive courses to learn how to program in different languages and for different applications
- Code.org -- Offers curriculum for elementary, middle, and high school, designed to teach concepts beyond programming at the same time
- Computer Science Teacher's Association (CSTA) K-12 Computer Science Standards -- Indicates the core learning standards for a complete computer science curriculum
- Kodable -- Programming curriculum for elementary students that also provides resources for parents to continue their child's education at home
- Khan Academy -- Online courses that can be added to curriculum to provide a personalized experience for each student
- Codecademy -- Lesson plans and assessment criteria for classes taught using their online courses
- Lightbot -- Designed for children who have had little to no programming experience, this game takes kids through if-then statements and loops by guiding a robot through a maze
- Daisy the Dinosaur -- Uses a drag and drop interface to animate dancing Daisy the Dinosaur and includes a downloadable kit for students to program their own games
- The Foos -- Curriculum based on research from MIT that's been mapped to common core standards; students learn programming in an interactive world
- Tynker Games -- Interactive games to teach programming concepts as well as the option to let students program their own games
- Cargo-bot -- Puzzle game that teaches programming concepts by helping a robot move crates
- Minecraft: Education Edition -- Use a game that students are already playing to teach them programming principles and allow them to unleash their creativity
- Scratch -- Allows students to develop games, animations, and beyond and share them with others; ScratchEd also include additional resources for educators
- Hopscotch -- Game design studio that allows for students to share with others to play on an iPad or iPhone
- Alice -- Teaches students object oriented programming in a 3D environment; includes resources for educators to implement into the classroom
- Kodu -- Game lab developed by Microsoft that allows students to build, play and share games
- Robot Turtles -- Designed for younger students, this board game teaches fundamental programming skills by guiding a turtle through a maze
- Code.org -- Each curriculum set includes "unplugged" activities that can be used on their own, or with the computer focused activities
- Code Monkey Island -- Board game that teaches students conditional statements, assignment operations, loops and boolean operators
- Computer Science Unplugged -- Collection of activities that teach computer science through interactive games and puzzles; all completely without a computer
Computer programming is quickly becoming one of the most valuable skill sets for the upcoming generations. Adding computer science curriculum into the classroom today will provide students with the skills that they'll need for tomorrow!