Computer Science for All — Computer Not Required
Computers are everywhere — in our pockets and on our wrists; in our cars and appliances; and at work, home and school. These days, understanding how computers work and how people can use them to create solutions is not just for “techies.” Students of all ages need foundational skills in computer science. These skills will prepare them for the future and open doors to in-demand careers and other opportunities.
Here’s the good news: Students can start developing computer science skills right away, and they don’t even need a computer to begin!
They do, however, need hands-on, minds-on opportunities to learn how computer scientists think, and to use “computational thinking” skills to solve problems, develop solutions and innovate. These skills are important to success in school and beyond, and to the nation’s economy. That’s why the White House, along with the U.S. Department of Education and other federal agencies, launched the Computer Science for All initiative.
A supportive 21st CCLC program environment offers an ideal setting for helping students explore computer science and develop computational thinking skills. The opportunities you help to provide can be especially important to students traditionally underrepresented in computer science, such as girls and young women, socioeconomically disadvantaged students, students of color, English learners and students with disabilities.
Whether you’re a novice or a tech guru, the high-quality, research-based resources described below provide a great place to get started. Be sure to check out the downloadable guide, “Computational Thinking: Why It Matters,” which can help you think about selecting and structuring activities to use in your program. These high-quality computer science resources can be used by stakeholder groups such as parents, students, teachers and out-of-school time educators.
21st CCLC practitioners:
You can choose from a wide range of computer science teaching materials, with something for every age or grade level.
- Children in grades K-2 can begin learning with The Foos and lesson plans for ScratchJr. These resources develop skills such as recognizing and following patterns.
- Students in grades K-5 can use materials developed by the Code.org online education platform.
- For middle and high schoolers, there are materials and activities from Teaching Kids Programming and CodeHS.
- For students in grades K-12, tap into their innate creativity by using a guide from a Harvard research team to help them express themselves as they learn. The Exploring Computer Science high school curriculum was developed in partnership with the National Science Foundation.
- Educators focused on activities appropriate during the school day may be interested in Advanced Placement Computer Science Principles courses for their students. You can choose from options meant to help students find the fun in computer science and create applications for mobile devices, and discover other innovative aspects of computer science.
- Materials you can readily adapt for use in out-of-school time activities include MIT App Inventor. You might even want to start a computer science club using a program like CS First.
- If computers are not available, the games and activities at Computer Science Unplugged use common classroom materials to develop computational thinking.
- If your school district plans to invest in computer science learning materials, depending on grade level, you might consider engaging a child’s natural playfulness and imagination with educational toys such as these:
Parents and families:
Motivate children to learn computer science by encouraging them to explore high-quality learning resources on their own or in school. You can also use free online curricula to directly engage them in activities that are educational and fun. As you explore the resources on this page, you’ll find information about programs like The Foos and ScratchJr, which make learning computer science fun for ages 5-7, and Creative Computing, which offers entertaining and educational content for learners of all ages. For families without home computers, there are great interactive games and activities that cultivate computational thinking and can be set up with readily available household materials.
Elementary school students:
If you think a child is too young to start learning computer science, think again. The earlier a child starts with computational thinking, the more natural it becomes. There are resources that target elementary school students. Even the youngest students can explore fundamental principles of computer science, like pattern recognition, in fun and interactive ways that allow them to play as they learn.
Middle school students:
Computer science education can help young people express themselves by making games, music, animations and other projects. Once they learn basic concepts, they can move on to more advanced materials to build on what they know using detailed learning materials. As their computer science skills develop, they can learn how to make their own mobile phone apps, build their own websites, create games and animated videos, or even design and build their own electronic gizmos.
High school students:
Learning computer science is a great way for students to complement their high school education and prepare for college and career. Advanced Placement Computer Science Principles courses like The Beauty and Joy of Computing, CodeHS, and Mobile CSP teach the foundational concepts students need to succeed, and help them explore how computers have shaped the world we live in. Other resources can inspire and excite students as they create games and animations or build their own websites.
Ready to hit the “Start” key?
Check these links for resources and ideas:
- Ready-to-use resources for 21st CCLC practitioners
- School-day resources 21st CCLC practitioners can adapt for use
- Resources students and families can explore together
- Resources students can explore on their own
Computer Science Learning Resources for All
Note: Resources that are relevant to more than one of the sections below are listed in those sections for ease of reference. Except where noted, these resources are free. Resources are organized alphabetically.
Ready-to-Use Resources for 21st CCLC Educators
Afterschool Alliance has materials for teaching computer science, including links to curricula and professional development opportunities.
ChicTech is a grass-roots initiative through which teams of volunteers travel to Illinois high schools to generate girls' interest in computer science.
CodeHS features a free computer science curriculum, plus the option to access more advanced features with paid accounts.
Code.org offers introductory computer science modules for K-5 students.
Creative Computing features a full curriculum that can be used for teaching computer science in K-12 classrooms.
Exploring Computer Science provides a curriculum developed by the National Science Foundation for teaching computer science to K-12 students; it’s free to users who sign up and log in to the site.
Mobile CSP offers an Advanced Placement Computer Science Principles curriculum built around developing applications for mobile devices such as tablets and smartphones.
ScratchJr gives educators an introductory computer science curriculum for K-2 students.
Teaching Kids Programming includes computer science lesson plans and learning materials for middle and high school students.
The Beauty and Joy of Computing offers an Advanced Placement Computer Science Principles curriculum developed by the University of California, Berkeley.
School-Day Resources 21st CCLC Practitioners Can Adapt
100 Girls of Code is a TN Code Academy initiative that introduces young women to the world of computer science and engineering by providing free workshops led by female programmers.
Alice is educational software that teaches students computer science as they create animated movies and games.
Aspirations in Computing provides a long-term community for female technologists, from K-12 through higher education and beyond.
AspireIT uses a near-peer model to connect high school and college women with girls in grades K-12 who are interested in computing.
Black Girls CODE organizes workshops and afterschool programs to inspire and empower girls of color to participate in computer science.
Bootstrap simplifies web development, helping students learn computer science by designing their own websites.
Code Academy helps educators put together clubs that teach students computer science through making websites and other projects.
Computer Science K-8: Building a Strong Foundation provides an overview of how to implement computer science education in K-8 classrooms.
Computer Science Unplugged offers ideas for games and activities that can teach students computational thinking without the use of computers.
CS First provides materials to help teachers organize computer science clubs with themes like sports, video games and music.
Cubetto engages young students in computer science education using robotic blocks and toys. This computer science learning tool might require an investment of school or district resources.
DIY Girls provides a supportive community for girls in Los Angeles and offers afterschool and in-school programs, as well as workshops that provide hands-on experience in science, technology, engineering, the arts and mathematics (STEAM).
FIRST Robotics is an organization that applies computer science skills by having teams of students create their own robots and enter them in competitions.
GEMS Clubs increase interest in STEM for girls in elementary and middle school by exposing them to the fun and wonder of these fields.
Girls Who Code helps to set up computer science clubs for girls in grades 6-12.
Khan Academy teaches students how to make games and animations, as well as how to create websites.
Kibo is designed for teaching children ages 4-7 computer science with robotic blocks and toys. This computer science learning tool might require an investment of school or district resources.
MIT App Inventor teaches students computer science as they develop applications for mobile devices.
MouseSquad is a national youth development nonprofit that empowers students to create with technology to solve real problems and make meaningful change in the world.
Raspberry Pi offers a simple, low-cost computer for students, plus educator training, information and community forums.
Scratch helps students learn computer science through creating games and animations.
The BotBall Educational Robotics Program engages middle and high school students in team-oriented robotics competition.
The Foos, which turns learning computer science into a game, was developed for young children but can be explored and enjoyed by learners of all ages.
The Technovation Challenge invites teams of girls all over the world to build a mobile app that addresses a community problem.
Tynker for Sphero teaches computer science using a programmable robotic ball. This computer science learning tool might require an investment of school or district resources.
US IGNITE is an independent nonprofit that fosters the creation of next-generation internet applications that provide transformative public benefit by engaging diverse public and private leaders. Its website includes resources on next-generation technologies.
Resources Students and Families Can Explore Together
4-H Robotics helps students learn applied computer science in programs that work with local volunteers and corporate supporters.
Alice is educational software that teaches computer science to children as they create animated movies and games.
Black Girls CODE organizes workshops and afterschool programs to inspire and empower girls of color to participate in computer science.
Code.org offers introductory computer science modules for children in grades K-5.
Computer Science K-8: Building a Strong Foundation provides an overview of computer science learning opportunities for children in grades K-8.
Computer Science Unplugged offers ideas for games and activities that can teach computational thinking without the use of computers.
Creative Computing offers ideas and lesson plans to help children of all ages use computer science to express themselves and explore their interests.
Cubetto engages young children in computer science education using robotic blocks and toys. This computer science learning tool might require an investment of school or district resources.
FIRST Robotics is an organization that applies computer science skills by having teams of students create their own robots and enter them in competitions.
Girls Who Code helps to set up computer science clubs for girls in grades 6-12.
Kibo is designed for teaching children ages 4-7 computer science with robotic blocks and toys. This computer science learning tool might require an investment of school or district resources.
MIT App Inventor teaches children computer science as they develop applications for mobile devices.
MouseSquad is a national youth development nonprofit that empowers students to create with technology to solve real problems and make meaningful change in the world.
Raspberry Pi is a simple, low-cost computer children can program to perform a wide variety of tasks.
Scratch helps children of all ages learn computer science through creating games and animations.
ScratchJr has computer science learning materials for children in grades K-2.
TECHNOLOchicas is a collaborative project designed to raise awareness among young Latinas and their families about opportunities and careers in technology.
The Foos, which turns learning computer science into a game, was developed for young children but can be explored and enjoyed by learners of all ages.
Tynker for Sphero teaches computer science using a programmable robotic ball. This computer science learning tool might require an investment of school or district resources.
Resources Students Can Explore on Their Own
100 Girls of Code is a TN Code Academy initiative that introduces young women to the world of computer science and engineering by providing free workshops led by female programmers.
Alice is educational software that teaches children computer science as they create animated movies and games.
Black Girls CODE organizes workshops and afterschool programs to inspire and empower girls of color to participate in computer science.
Bootstrap simplifies web development, helping users learn computer science by designing their own websites.
CodeHS features a variety of computer science courses for high school students. Access to online curricula is free, with the option to access more advanced features with a paid account.
Girls Who Code helps to set up computer science clubs for girls in grades 6-12.
Khan Academy teaches students how to make games and animations, as well as how to create websites.
MIT App Inventor teaches computer science through developing applications for mobile devices.
Mobile CSP offers an Advanced Placement Computer Science Principles curriculum built around developing applications for mobile devices such as tablets and smartphones.
MouseSquad is a national youth development nonprofit that empowers students to create with technology to solve real problems and make meaningful change in the world.
Raspberry Pi offers a simple, low-cost computer students can program to perform a wide variety of tasks, plus examples of projects from other users.
Scratch helps users learn computer science through creating games and animations.
TECHNOLOchicas is a collaborative project designed to raise awareness among young Latinas and their families about opportunities and careers in technology.
The Beauty and Joy of Computing offers an Advanced Placement Computer Science Principles curriculum developed by the University of California, Berkeley.
The Foos, which turns learning computer science into a game, was developed for young children but can be explored and enjoyed by learners of all ages.