{"id":585,"date":"2022-03-03T16:58:50","date_gmt":"2022-03-03T16:58:50","guid":{"rendered":"https:\/\/www.computerscience.org\/?p=585"},"modified":"2023-08-08T16:09:20","modified_gmt":"2023-08-08T16:09:20","slug":"computer-science-before-college","status":"publish","type":"post","link":"https:\/\/www.computerscience.org\/resources\/computer-science-before-college\/","title":{"rendered":"Computer Science Before College"},"content":{"rendered":"<p>Computer scientists play a central role in our technological infrastructure. They develop hardware, software and other applications for use by the military, businesses and average consumers. This has made computer science one of the fastest-growing career fields in the U.S. today, with some occupations, such as software engineer, expected to grow an estimated 22 percent from 2012 to 2022. While this means tremendous opportunity for students and young professionals interested in the field, it also means increased competition, both at the college level and in the job market.<\/p>\r\n\r\n\r\n\r\n<p>Many experts in computer science education tout skill development before college as the key to success. Students as young as six and seven are learning the logic behind computer programs and, in some cases, how to create simple programs of their own. Yet formal computer science learning remains a rare commodity in K-12 curricula. In 2011, just five percent of high schools across the country offered an Advanced Placement test in the subject. This gap has forced students to seek computer science education elsewhere.<\/p>\r\n\r\n\r\n\r\n<p>The following guidebook helps students and parents identify and understand the multitude of opportunities available for learning computer science before college. Key elements include:<\/p>\r\n\r\n\r\n\r\n<ul><li>An in-depth look at why computer science is important to learn at the primary and secondary levels.<\/li><li>A breakdown of computer science information and resources at each level: elementary school, middle school and high school.<\/li><li>A detailed look at college prep. Specifically, how high school students can ready themselves for advanced computer science study at the post-secondary level.<\/li><\/ul>\r\n\r\n\r\n\r\n<section class=\"-mx-4 md:-mx-1\/2vw py-12 md:py-16 mt-12 md:my-16 relative md:left-1\/2 md:right-1\/2 md:w-screen bg-primary-light\">\n    <div class=\"container content\">\n        \r\n<sonic-editorial-listings degree=\"\" category=\"\" subject=\"\" limit=\"3\"><\/sonic-editorial-listings>\r\n\n    <\/div>\n<\/section>\n\r\n\r\n\r\n\n  \n  \n  <a class=\"subnav-waypoint\" name=\"cs-in-elementary-school\" id=\"cs-in-elementary-school\"><\/a>\n\n\r\n<h2>Elementary<\/h2>\r\n\r\n\r\n\r\n<p>Young children have a natural gift for learning a foreign language. Advocates for teaching Spanish or Chinese in elementary curricula assert that kids soak up concepts and vocabulary more organically than adults. Computer programming, aka \u201ccoding\u201d, includes very similar elements and incorporates multiple languages. Coding also facilitates student collaboration, creativity, design, presentation and problem solving skills. This has many parents asking the question: Why aren\u2019t kids learning basic computer science and programming in school? Common Core and No Child Left Behind may seem like barriers, but alternatives exist.<\/p>\r\n\r\n\r\n\r\n<h3>Why Start in Elementary School<\/h3>\r\n\r\n\r\n\r\n<p>Teachers, administrators and principals interested in computer science and coding can look to open-source curriculum to help bring volunteer-based programs into their schools. <strong><a rel=\"noreferrer noopener\" href=\"http:\/\/www.codeed.org\/about\/index.html\" target=\"_blank\">CodeEd<\/a><\/strong>, a non-profit volunteer program that teaches principles of computer science and programming to girls in New York, Boston and San Francisco, starts as early as grade six. Its founders understand that an interest in computer science and an I-can-do-this attitude should be nurtured early.<\/p>\r\n\r\n\r\n<section class=\"-mx-4 md:-mx-1\/2vw py-12 md:py-16 mt-12 md:my-16 relative md:left-1\/2 md:right-1\/2 md:w-screen bg-gray-50\">\n    <div class=\"container content\">\n        \r\n<p class=\"text-center\"><span class=\"heading-3\"><mark style=\"background-color:#DDD9F2\">&ldquo;We\u2019ve seen that children clearly have the capacity to learn complex computer science concepts from an early age&rdquo;<\/mark><\/span><\/p><br>\r\n\r\n<hr style=\"background: #A99FDF; border:0; height:2px;\" \/>\r\n\r\n<p class=\"text-center\">\r\n<small>Angie Schiavoni of CodeEd says<\/small>\r\n<\/p>\r\n\n    <\/div>\n<\/section>\n\r\n\r\n<p>Computer science can be introduced to students at a young age, but the concepts must be simple to understand, reports the <strong><a rel=\"noreferrer noopener\" href=\"http:\/\/blog.acm.org\/archives\/csta\/news_and_views\/\" target=\"_blank\">Computer Science Teachers Association<\/a><\/strong>. Charlie King of CLEARLINK suggests that <a href=\"\/resources\/kids-introduction-to-coding\/\">kids should start coding<\/a> and delving into computer science as soon as they show an interest. Specific age may not be as important.<\/p>\r\n\r\n\r\n<section class=\"-mx-4 md:-mx-1\/2vw py-12 md:py-16 mt-12 md:my-16 relative md:left-1\/2 md:right-1\/2 md:w-screen bg-gray-50\">\n    <div class=\"container content\">\n        \r\n<p class=\"text-center\"><span class=\"heading-3\"><mark style=\"background-color:#DDD9F2\">&ldquo;Fourth or fifth grade is a fun place,\u201d he says. \u201cThey have wild imaginations and don\u2019t believe in limitations. My son is in fifth grade and he is loving it.&rdquo;<\/mark><\/span><\/p><br>\r\n\r\n<hr style=\"background: #A99FDF; border:0; height:2px;\" \/>\r\n\r\n\n    <\/div>\n<\/section>\n\r\n\r\n\r\n\n<div class=\"sonic-interlink duration-500 flex hover:shadow-lg bg-primary-700 \">\n    <a\n        target=\"_self\"\n        href=\"\/resources\/robotics\/\"\n        class=\"flex items-center p-8 relative rounded w-full transition-opacity duration-500 hover:opacity-75\">\n                <span class=\"text-white block w-full\">\n          <span class=\"interlink-content flex justify-between items-center\">\n            <div>\n                                                <span class=\"title leading-snug\">Learn more about how robotics can help future tech students<\/span>\n                            <\/div>\n            <sonic-icon class=\"ml-3 md:ml-0\" icon=\"arrow-circle-right\" size=\"small\" color=\"#fff\"><\/sonic-icon>\n          <\/span>\n        <\/span>\n    <\/a>\n<\/div>\n\n\n\r\n\r\n\n  \n  \n  <a class=\"subnav-waypoint\" name=\"basic-resources\" id=\"basic-resources\"><\/a>\n\n\r\n<h3>Resources for Coding Basics<\/h3>\r\n\r\n\r\n\r\n<p>Many different organizations offer coding education for young children. Whether summers camp or online programs, they provide opportunities for children to develop practical computer science knowledge and skills.<\/p>\r\n\r\n\r\n<section class=\"-mx-4 md:-mx-1\/2vw py-12 md:py-16 mt-12 md:my-16 relative md:left-1\/2 md:right-1\/2 md:w-screen bg-gray-50\">\n    <div class=\"container content\">\n        \r\n<p class=\"text-center\"><span class=\"heading-3\"><mark style=\"background-color:#DDD9F2\">&ldquo;The best way for young children to learn programming is just for them to start doing it in a very concrete way,\u201d Angie Schiavoni of CodeEd says. \u201cIt\u2019s kind of like the best way for kids to play soccer is not to just learn how to dribble or just learn to pass the ball, but to get out on the field and play soccer, a lot. Then you can fine tune your skill set later.&rdquo;<\/mark><\/span><\/p><br>\r\n\r\n<hr style=\"background: #A99FDF; border:0; height:2px;\" \/>\r\n\n    <\/div>\n<\/section>\n\r\n\r\n\r\n\r\n\r\n<p>Like CodeEd, <strong><a rel=\"noreferrer noopener\" href=\"http:\/\/scratch.mit.edu\/about\/\" target=\"_blank\">Scratch<\/a><\/strong> gives young students the chance to create interactive stories, animations and games, and then share them online. While designed for kids ages eight to 16, the program is appropriate for all beginning coders, as it uses visual representations to teach foundational mathematical and computational ideas. The site has sections for kids, of course, as well as for parents and educators. Since conception, an estimated 800,000 students have shared more than a million Scratch projects.<\/p>\r\n\r\n\r\n\r\n<p>Scratch and CodeEd represent just two of the many online resources for primary schoolers interested in technology. The following resources may also prove helpful for students and parents:<\/p>\r\n\r\n\r\n\r\n\r\n<sonic-resource-list title=\"Alice.org\" titleLink=\"http:\/\/www.alice.org\/index.php\" target>Alice.org offers a 3D programming environment to help kids across all ages learn about object-oriented programming. Downloads, licensing and tutorials are available.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Codecademy.com\" titleLink=\"http:\/\/www.codecademy.com\/\" target>Codecademy.com offers anyone the opportunity to learn how to code for free using simple examples and methods.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Codepupil.com\" titleLink=\"http:\/\/codepupil.com\/not-supported.html\" target>Codepupil.com uses simple games, like its \u201cCode Stitch\u201d, and exercises to teach kids to code with HTML and CSS.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Code.org\" titleLink=\"http:\/\/code.org\/learn\" target>Code.org teaches the basics in computer science through a tutorial that uses drag-and-drop programming. A K-8 Intro to Computer Science course 15 to 25 hours long is available to kids as young as age six.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"ComputerScienceForKids.com\" titleLink=\"https:\/\/www.kidwaresoftware.com\/\" target>ComputerScienceForKids.com offers four different language-programming tracks for home-schooled students as well as curriculum for teachers that can be used in the public classroom.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"DaisyTheDinosaur\" titleLink=\"http:\/\/www.daisythedinosaur.com\/\" target>DaisyTheDinosaur is an iPad app that introduces kids ages five to eight basic logic and allows them to drag one-word commands into the programming space.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Hackety.com\" titleLink=\"http:\/\/hackety.com\/\" target>Hackety.com teaches students the basics of the Ruby programming language, which is used for applications and websites. Online courses include An Introduction to Ruby and An Introduction to Programming.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Kodable\" titleLink=\"http:\/\/www.kodable.com\/\" target>Kodable is an iPad game to teach children as young as age five how to develop coding skills. Learning tools are also available for students as advanced as the 12th grade.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"PluralSight\" titleLink=\"http:\/\/www.pluralsight.com\/training\/Kids\" target>PluralSight knows that kids are already experts in technology and offers free courses such as Teaching Kids to Program and Learning to Build Apps with App Inventor.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Scratch.MIT.edu\" titleLink=\"http:\/\/scratch.mit.edu\/\" target>Scratch.MIT.edu offers a visual programming language developed by the MIT Media Lab, allowing kids to build interactive animations, games and stories. More than 4.9 million projects have already been shared on the site.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"TeachKidstoProgram.com\" titleLink=\"http:\/\/www.teachkidstoprogram.com\/\" target>TeachKidstoProgram.com provides suggestions for websites, software, hardware and books, such as Python for Kids by Jason Briggs, to use to develop children\u2019s interest in programming.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"TeamTreeHouse.com\" titleLink=\"http:\/\/teamtreehouse.com\/join\/free-month?utm_source=shareasale&amp;utm_medium=affiliate&amp;utm_campaign=shareasale-aff-program&amp;utm_content=treehouse-anchor-textk&amp;cid=1086&amp;SSAID=885882\" target>TeamTreeHouse.com provides the chance to learn about web coding and design through more than 1,000 videos created by expert instructors. Knowledge is tested through interactive coding challenges and quizzes.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Udemy.com\" titleLink=\"https:\/\/www.udemy.com\/kids-coding-beginner-html\/?affcode=E0Ycd11SR24%3D\" target>Udemy.com provides a number of courses for children including a fairly inexpensive Kids Coding-Beginner HTML that is tailored toward young learning styles and includes a final project.<\/sonic-resource-list>\r\n\r\n\r\n\r\n\r\n<p>In addition to fueling interest, founders of programs such as CodeEd and Scratch hope their efforts lead to long-term growth in the field.<\/p>\r\n\r\n\r\n<section class=\"-mx-4 md:-mx-1\/2vw py-12 md:py-16 mt-12 md:my-16 relative md:left-1\/2 md:right-1\/2 md:w-screen bg-gray-50\">\n    <div class=\"container content\">\n        \r\n<p class=\"text-center\"><span class=\"heading-3\"><mark style=\"background-color:#DDD9F2\">&ldquo;It\u2019s time that computer science be taught on par with other scientific disciplines like biology, physics and chemistry,\u201d says Schiavoni. \u201cBut we still have a long way to go to catch up. Estonia recently implemented a national program where 100 percent of first graders will be required to take computer science classes.&rdquo;<\/mark><\/span><\/p><br>\r\n\r\n<hr style=\"background: #A99FDF; border:0; height:2px;\" \/>\r\n\n    <\/div>\n<\/section>\n\r\n\r\n\r\n\n<div class=\"sonic-interlink duration-500 flex hover:shadow-lg bg-primary-700 \">\n    <a\n        target=\"_self\"\n        href=\"\/bootcamps\/reviews\/codecademy\/\"\n        class=\"flex items-center p-8 relative rounded w-full transition-opacity duration-500 hover:opacity-75\">\n                <span class=\"text-white block w-full\">\n          <span class=\"interlink-content flex justify-between items-center\">\n            <div>\n                                                <span class=\"title leading-snug\">Read a Review of Codecademy<\/span>\n                            <\/div>\n            <sonic-icon class=\"ml-3 md:ml-0\" icon=\"arrow-circle-right\" size=\"small\" color=\"#fff\"><\/sonic-icon>\n          <\/span>\n        <\/span>\n    <\/a>\n<\/div>\n\n\n\r\n\r\n\r\n\n  \n  \n  <a class=\"subnav-waypoint\" name=\"middle-school-computer-science\" id=\"middle-school-computer-science\"><\/a>\n\n\r\n<h2>Middle School<\/h2>\r\n\r\n\r\n\r\n<p>For students who missed the chance to code in K-5, middle school offers a wider range of opportunity. Slowly but surely, middle school teachers are incorporating computer science basics into the curriculum. It may not be teaching specific languages at this point, but merely introducing underlying concepts and fundamentals.<\/p>\r\n\r\n\r\n<section class=\"-mx-4 md:-mx-1\/2vw py-12 md:py-16 mt-12 md:my-16 relative md:left-1\/2 md:right-1\/2 md:w-screen bg-gray-50\">\n    <div class=\"container content\">\n        \r\n<p class=\"text-center\"><span class=\"heading-3\"><mark style=\"background-color:#DDD9F2\">&ldquo;The goal is to learn the theory of programming,\u201d says Charlie King of CLEARLINK. \u201cIf you understand how to manipulate things with IFs and Loops, it doesn\u2019t matter the language. Basic HTML\/CSS\/JavaScript is easy and allows you to make cool stuff at the simplest of levels. That can spark desire. If that grabs their attention, C++\/Java\/PHP or other more powerful languages are common in real world, and fun to play with.&rdquo;<\/mark><\/span><\/p><br>\r\n\r\n<hr style=\"background: #A99FDF; border:0; height:2px;\" \/>\r\n\n    <\/div>\n<\/section>\n\r\n\r\n\r\n\r\n<p>Kids at this age often develop an interest in computer science by creating video games or building their own websites. These types of projects use creativity to introduce and develop core skills.<\/p>\r\n\r\n<section class=\"-mx-4 md:-mx-1\/2vw py-12 md:py-16 mt-12 md:my-16 relative md:left-1\/2 md:right-1\/2 md:w-screen bg-gray-50\">\n    <div class=\"container content\">\n        \r\n<p class=\"text-center\"><span class=\"heading-3\"><mark style=\"background-color:#DDD9F2\">&ldquo;The message needs to be that computer science is about creating and building beautiful and useful things,\u201d Angie Schiavoni of CodeEd says. \u201cFor example, web development, which we teach in CodeEd classes, is about creativity and self-expression, not just about learning a bunch of scary-looking tags.&rdquo;<\/mark><\/span><\/p><br>\r\n\r\n<hr style=\"background: #A99FDF; border:0; height:2px;\" \/>\r\n\n    <\/div>\n<\/section>\n\r\n\r\n\r\n<p>By the time students enter high school, they won\u2019t be afraid of computer science. Instead, they\u2019ll be in a position to embrace it, and even pursue advanced study.<\/p>\r\n\r\n<section class=\"-mx-4 md:-mx-1\/2vw py-12 md:py-16 mt-12 md:my-16 relative md:left-1\/2 md:right-1\/2 md:w-screen bg-primary-light\">\n    <div class=\"container content\">\n        \r\n<sonic-editorial-listings degree=\"\" category=\"\" subject=\"\" limit=\"3\"><\/sonic-editorial-listings>\r\n\n    <\/div>\n<\/section>\n\r\n\r\n\n  \n  \n  <a class=\"subnav-waypoint\" name=\"coding-games\" id=\"coding-games\"><\/a>\n\n\r\n<h3>Using Games to Learn<\/h3>\r\n\r\n\r\n\r\n<p>Kids in middle school love to game, whether by themselves or online. Batman, Tomb Raider and Call of Duty have made countless appearances under Christmas trees or at birthday parties. As a parent or teacher, gaming may seem a distraction from schoolwork, unless, of course, it becomes an educational opportunity. The following resources give middle-schoolers the chance to learn what happens behind the screen:<\/p>\r\n\r\n\r\n\r\n\r\n<sonic-resource-list title=\"Codea\" titleLink=\"http:\/\/twolivesleft.com\/Codea\/\" target>Codea is an application that can be downloaded for an iPad and lets games and simulations be created using the Lua programming language.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"CodeAvengers.com\" titleLink=\"http:\/\/www.codeavengers.com\/\" target>CodeAvengers.com allows users to create games in JavaScript, and offers tutorials such as Intro to Making Games, Intro to Graphics and Intro to Programming.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"GameInstitute.com\" titleLink=\"http:\/\/www.gameinstitute.com\/\" target>GameInstitute.com provides opportunities for game programming, game art and animation and to learn more about the Unity platform used in game creation.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Hour of Code\" titleLink=\"http:\/\/sgda.cs.colorado.edu\/arcade\/sites\/all\/modules\/drupal_modules\/ristretto3d\/Ristretto3D\/public\/hourofcode.html?path=http:\/\/sgda.cs.colorado.edu\/arcade\/sites\/default\/files\/Arcade%20Projects\/Hour%20of%20Code3\/AgentCubes\/Open%20Arcade\/9c539dbd-b141-4d88-842e-a7b8a36ac2b3\/currentProject\/9c539dbd-b141-4d88-842e-a7b8a36ac2b3&amp;nid=329342&amp;edit=true&amp;hour_of_code=true&amp;edit=true\" target>Hour of Code tutorial sponsored through the University of Colorado at Boulder uses drag-and-drop programming to help kids create a 3D video game. The program is now being used in many Boulder-based middle schools.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"PlayBasic.com\" titleLink=\"http:\/\/www.playbasic.com\/index.php\" target>PlayBasic.com offers a 2D programing language and a variety of graphical features, such as image effects and mapping, for creating games.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"StormTheCastle.com\" titleLink=\"http:\/\/www.stormthecastle.com\/mainpages\/videogametutorial\/video_game_programming.htm\" target>StormTheCastle.com<\/a><\/strong>provides details about what goes into programming a game and what students can do to begin to prepare themselves for a career. A free tutorial is also available to make and design a game.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"TeamLiquid.net\" titleLink=\"http:\/\/www.teamliquid.net\/blogs\/286070-want-to-program-video-games\" target>TeamLiquid.net takes a look at some of the different careers that could be available in gaming, including programming, artistry, designing and engineering.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"YouthDigital.com\" titleLink=\"http:\/\/www.youthdigital.com\/\" target>YouthDigital.com is geared toward students ages eight to 16 and offers online classes in creating apps and games.<\/sonic-resource-list>\r\n\r\n\r\n\r\n\n  \n  \n  <a class=\"subnav-waypoint\" name=\"website-creation\" id=\"website-creation\"><\/a>\n\n\r\n<h3>My First Website<\/h3>\r\n\r\n\r\n\r\n<p>Web development is another great way to practice essential computer science and coding skills. Students can begin to learn Hyper Text Markup Language (HTML), the backbone of a webpage, as well as JavaScript and Flash to add dimension. Here are four resources for middle school students looking to build their very first website:<\/p>\r\n\r\n\r\n\r\n\r\n<sonic-resource-list title=\"CodeAvengers.com\" titleLink=\"http:\/\/www.codeavengers.com\/\" target>CodeAvengers.com provides opportunities for students to build websites and apps using HTML5 and CSS3. Python courses are expected to become available in 2014.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"CodeEd.org\" titleLink=\"http:\/\/codeed.org\/\" target>CodeEd.org<\/a><\/strong>sends volunteers into a classroom using a provided curriculum and teaches girls how to code by building a website.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Lissaexplains.com\" titleLink=\"http:\/\/www.lissaexplains.com\/\" target>Lissaexplains.com provides tutorials to help kids create their own websites with HTML. Perl scripts and .htaccess files are available for more advanced users.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"SMPlanet.com\" titleLink=\"http:\/\/www.smplanet.com\/teaching\/webpage\" target>SMPlanet.com offers a seven-step tutorial for creating a website, including the basics of HTML tags and viewing and editing pages.<\/sonic-resource-list>\r\n\r\n\r\n\r\n\r\n<h3>Other Resources<\/h3>\r\n\r\n\r\n\r\n<p>Game design and web site development are just two of the many computer science options available to middle school students. Have a child who likes to take things apart? Learning the basics of computer hardware may be the logical next step. Have a son or daughter interested in hacking (or hopefully how to prevent it)? Software development and cyber security are excellent to learn about at the middle school level. For more ideas and information, check out these online resources:<\/p>\r\n\r\n\r\n\r\n\r\n<sonic-resource-list title=\"Edutopia\" titleLink=\"http:\/\/www.edutopia.org\/blog\/7-apps-teaching-children-coding-anna-adam\" target>Edutopia provides its <i>7 Apps for Teaching Children Coding Skills<\/i> including GameStar Mechanic, Hopscotch and Scratch.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"The Khan Academy\" titleLink=\"https:\/\/www.khanacademy.org\/cs\/programming\" target>The Khan Academy offers Drawing and Animation, which makes use of JavaScript and the ProcessingJS library to animate and draw.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Make Your Own Flappy Bird\" titleLink=\"http:\/\/learn.code.org\/s\/6\/level\/148\" target>The Make Your Own Flappy Bird tutorial allows you to create you own game in as little as 20 minutes and is available through learn.code.org.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Polygon\" titleLink=\"http:\/\/www.polygon.com\/2014\/2\/5\/5382174\/my-kids-are-learning-to-be-better-people-by-learning-how-to-code-games\" target>Polygon offers a story called <i>My Kids are Learning to be Better People by Learning How to Code Games.<\/i><\/sonic-resource-list>\r\n<sonic-resource-list title=\"Hour of Code Campaign Video for Computer Science Education Week\" titleLink=\"http:\/\/www.youtube.com\/watch?v=6XvmhE1J9PY\" target>President Barack Obama emphasizes computer science skills in this short video on YouTube that helped to kick-off the 2013 Hour of Code campaign.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"ReadWrite: 6 Coding Apps for Kids\" titleLink=\"http:\/\/readwrite.com\/2013\/04\/19\/how-to-raise-the-next-zuck-6-coding-apps-for-kids#awesm=~oxHX55MYbfSLSf\" target>ReadWrite offers an article called <i>How to Raise the Next Zuckerberg: 6 Coding Apps for Kids.<\/i> Suggestions include trying out Alice and Code Monster.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"ReadWrite: Schools Aren\u2019t Teaching Kids to Code\" titleLink=\"http:\/\/readwrite.com\/2013\/10\/18\/kids-learn-code-programming#awesm=~oxKRo8ryXhNPFe\" target>ReadWrite reports on which groups are helping students learn about programming in the article <i>Schools Aren\u2019t Teaching Kids to Code; Here\u2019s Who is Filling the Gap.<\/i><\/sonic-resource-list>\r\n\r\n\r\n\r\n\n  \n  \n  <a class=\"subnav-waypoint\" name=\"high-school-coding\" id=\"high-school-coding\"><\/a>\n\n\r\n<h2>High School and College Prep<\/h2>\r\n\r\n\r\n\r\n<p>Just 30,000 students took the Advanced Placement test in computer science in 2013, according to <strong><a href=\"https:\/\/www.edweek.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Education Week<\/a><\/strong>. Less than 20 percent of those test-takers were female, about eight percent were Hispanic and less than 3 percent were African-American. Also frightening may be that in 11 states, no African-Americans took the exam at all, and in eight states, no Hispanic students took the exam.<\/p>\r\n\r\n\r\n\r\n<p>Recognizing the need to draw students into the field, The College Board has decided to launch a new class called AP Computer Science: Principles, set to launch in the 2016 \u2013 2017 school year. Where offered, it will introduce students to programming, but also give them a broad understanding of computing and its many applications.<\/p>\r\n\r\n\r\n<section class=\"-mx-4 md:-mx-1\/2vw py-12 md:py-16 mt-12 md:my-16 relative md:left-1\/2 md:right-1\/2 md:w-screen bg-gray-50\">\n    <div class=\"container content\">\n        \r\n<p class=\"text-center\"><span class=\"heading-3\"><mark style=\"background-color:#DDD9F2\">&ldquo;When I was in high school, there was very little available to students with vocational interest in technology,\u201d says Justin Rohrman, senior software tester at Sharable Ink. \u201cFrom what I gather, though, many public schools are now offering technology specific courses. Pursuing that will help you get a little ahead of the curve. I also encourage getting experience in the open source community with groups like Wikimedia Foundation (Wikipedia) and Mozilla.&rdquo;<\/mark><\/span><\/p><br>\r\n\r\n<hr style=\"background: #A99FDF; border:0; height:2px;\" \/>\r\n\n    <\/div>\n<\/section>\n\r\n\r\n\n  \n  \n  <a class=\"subnav-waypoint\" name=\"college-prep\" id=\"college-prep\"><\/a>\n\n\r\n<h3>College Prep First Steps<\/h3>\r\n\r\n\r\n\r\n<p>Perhaps the best way to prep for an undergraduate degree in computer science is to cultivate knowledge and skills in mathematics and laboratory science.<\/p>\r\n\r\n\r\n<section class=\"-mx-4 md:-mx-1\/2vw py-12 md:py-16 mt-12 md:my-16 relative md:left-1\/2 md:right-1\/2 md:w-screen bg-gray-50\">\n    <div class=\"container content\">\n        \r\n<p class=\"text-center\"><span class=\"heading-3\"><mark style=\"background-color:#DDD9F2\">&ldquo;Having a firm grasp of mathematics and science will help if the student wants to pursue a degree even if they never end up using it in the \u2018real world,'\u201d says Chris Martino of SimpiVity Corporation. \u201cMost CS programs are heavy in these areas with requirements in calculus, statistics, physics, etc.&rdquo;<\/mark><\/span><\/p><br>\r\n\r\n<hr style=\"background: #A99FDF; border:0; height:2px;\" \/>\r\n\n    <\/div>\n<\/section>\n\r\n\r\n<p>In addition to math and other lab sciences, high school students interested in computer science should explore as many specialties as possible. Not only to better understand the landscape, but to plan out college-level coursework. In addition to general computer science and programming, for example, some high schools have started to offer classes in database management, information assurance and security and fundamentals of information technology (IT). While still rare, they are on the rise.<\/p>\r\n\r\n\r\n<section class=\"-mx-4 md:-mx-1\/2vw py-12 md:py-16 mt-12 md:my-16 relative md:left-1\/2 md:right-1\/2 md:w-screen bg-gray-50\">\n    <div class=\"container content\">\n        \r\n<p class=\"text-center\"><span class=\"heading-3\"><mark style=\"background-color:#DDD9F2\">&ldquo;My high school offered three software development classes, and I took all three,\u201d said Bradley Stewart of Shareable Ink. \u201cThere was a web design course, visual basic course and a C++ course. I would most definitely recommend them where offered, and would openly encourage all high schools to provide them. A focus on math is highly recommended throughout one\u2019s high school education if planning to pursue software engineering.&rdquo;<\/mark><\/span><\/p><br>\r\n\r\n<hr style=\"background: #A99FDF; border:0; height:2px;\" \/>\r\n\n    <\/div>\n<\/section>\n\r\n\r\n\r\n<p>Many resources already mentioned in this guide provide opportunities for students in high school to pursue computer science. The options are countless, particularly online, and include sources such as Codecademy, Code.org, Coursera, Udacity and Udemy. Justin Rohrman of Shareable Ink has another suggestion.<\/p>\r\n\r\n<section class=\"-mx-4 md:-mx-1\/2vw py-12 md:py-16 mt-12 md:my-16 relative md:left-1\/2 md:right-1\/2 md:w-screen bg-gray-50\">\n    <div class=\"container content\">\n        \r\n<p class=\"text-center\"><span class=\"heading-3\"><mark style=\"background-color:#DDD9F2\">&ldquo;There is a fantastic program for young people called <strong><a rel=\"noreferrer noopener\" href=\"http:\/\/summerqamp.org\/\" target=\"_blank\">SummerQAmp<\/a><\/strong>,\u201d he says. \u201cThis program is focused on developing real tech skills and exposing people to them before college.&rdquo;<\/mark><\/span><\/p><br>\r\n\r\n<hr style=\"background: #A99FDF; border:0; height:2px;\" \/>\r\n\n    <\/div>\n<\/section>\n\r\n\r\n\r\n<p>Finally, when researching CS undergraduate programs, high school students may want to consider <a rel=\"noreferrer noopener\" href=\"http:\/\/www.affordablecollegesonline.org\/online-colleges\/online-colleges-that-offer-laptops\/\" target=\"_blank\"><strong>online colleges that provide free laptops<\/strong><\/a>. While laptops are useful for any student, they are absolutely essential for CS majors \u2013 and every penny saved helps.<\/p>\r\n\r\n\r\n\r\n<h3>Programming Language Must-Haves<\/h3>\r\n\r\n\r\n\r\n<p>Students have many choices when it comes to <a href=\"\/resources\/best-programming-languages-for-kids\/\">programming languages<\/a>. Some learn the basics of several languages as they progress from high school to college, while others concentrate on a single language used for a specific outcome. Examples of the latter include compiled languages, declarative languages, object-oriented languages, scripting languages and many others. The following seven programming languages represent the most common (and most important) a student can learn in high school:<\/p>\r\n\r\n\r\n\r\n<ul><li><strong>C++<\/strong> is a programming language developed out of Bell Labs and popular for its graphical applications. C++ adds objected-oriented features to its predecessor, C.<\/li><li><strong>HTML<\/strong> is a hypertext markup language that is used in creating World Wide Web documents.<\/li><li><strong>JavaScript<\/strong> was developed by Netscape and is used in creating interactive websites. Although similar to Java, it has many of its own unique features.<\/li><li><strong>Perl<\/strong> stands for Practical Extraction and Report Language and uses a syntax in its scripting language that is similar to C\/C++.<\/li><li><strong>PHP<\/strong>, standing for hypertext preprocessor, is used in server-side scripting and web development and is open-source and embeddable in HTML.<\/li><li><a href=\"\/resources\/python\/\">Python is an object-oriented programming<\/a> language with an open-source code that received its name from \u201cMonty Python\u2019s Flying Circus.\u201d<\/li><li><strong>Ruby<\/strong> is an object-oriented programming language that can be used for everyday programming and testing prototypes.<\/li><\/ul>\r\n\r\n\r\n\n<div class=\"sonic-interlink duration-500 flex hover:shadow-lg bg-primary-700 \">\n    <a\n        target=\"_self\"\n        href=\"\/bootcamps\/reviews\/odin-project\/\"\n        class=\"flex items-center p-8 relative rounded w-full transition-opacity duration-500 hover:opacity-75\">\n                <span class=\"text-white block w-full\">\n          <span class=\"interlink-content flex justify-between items-center\">\n            <div>\n                                                <span class=\"title leading-snug\">Review Odin Project for learning JavaScript<\/span>\n                            <\/div>\n            <sonic-icon class=\"ml-3 md:ml-0\" icon=\"arrow-circle-right\" size=\"small\" color=\"#fff\"><\/sonic-icon>\n          <\/span>\n        <\/span>\n    <\/a>\n<\/div>\n\n\n\r\n\r\n<h3>College Prep Resources<\/h3>\r\n\r\n\r\n\r\n<p>High school students may be on their own when it comes to finding opportunities for computer science and coding instruction. If they can\u2019t find programs at their schools, they may be able to advance their knowledge through in-depth online resources or intensive summer camps. These often provide access to seasoned instructors either remotely or in-person:<\/p>\r\n\r\n\r\n\r\n\r\n<sonic-resource-list title=\"Codenow.org\" titleLink=\"https:\/\/www.codenow.org\/\" target>Codenow.org provides opportunities for teenagers in low-economic areas to understand how to program through project-based learning. Nearly half of its alumni are female.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Girls Who Code\" titleLink=\"http:\/\/girlswhocode.com\/programs\/\" target>Girls Who Code offers a summer immersion program in computer science focused on mobile development, robotics and web design. Girls gain experience through demos, lectures and mentorships.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Hack Reactor\" titleLink=\"http:\/\/www.hackreactor.com\/questions\/\" target>Hack Reactor offers a 12-week boot camp to hone software engineering skills. Previous coding experience is recommended.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Metis\" titleLink=\"http:\/\/www.thisismetis.com\/\" target>Metis is a 12-week camp taught by instructors in Boston that focuses on HTML, CSS and <a href=\"\/resources\/ruby-rails\/\">Ruby on Rails<\/a>. The camp is expensive, but makes scholarships available to women, minorities and veterans.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Silicon Valley Code Camp\" titleLink=\"http:\/\/www.siliconvalley-codecamp.com\/Event\/2013\" target>Silicon Valley Code Camp is offered free of charge and run by developers for developers to address topics such as branding or legal issues.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"ScriptEd.org\" titleLink=\"http:\/\/www.scripted.org\/\" target>ScriptEd.org is another organization providing programming education in low-income areas through partnerships with volunteers.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Square\" titleLink=\"http:\/\/techcrunch.com\/2013\/09\/04\/square-opens-girls-coding-camp-to-high-school-students\/\" target>Square expanded its coding camp from college-only to high school girls in Silicon Valley and provides instruction through Square engineers and additional teachers.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"SummerQAmp\" titleLink=\"http:\/\/summerqamp.org\/\" target>The SummerQAmp program was founded in 2012 as part of the White House Summer Jobs+Initiative and was the brainchild of GroupMe co-founder Steve Martocci and, yes, rocker-turned-actor Jon Bon Jovi and others. It offers internships to students who are interested in quality assurance, one of the many fields of computer science.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"AmplifyCS\" titleLink=\"https:\/\/users-mooc.amplify.com\/\" target>AmplifyCS is the first AP Computer Science MOOC offering blended online instruction with support, all free of charge. Students learn about Java and should be prepared to take the AP exam in computer science.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Coursera\" titleLink=\"https:\/\/www.coursera.org\/course\/gameprogramming\" target>Coursera.org offers Beginning Game Programming with C# which includes the use of Unity, a popular game engine among indie developers.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"DigitalMediaAcademy\" titleLink=\"http:\/\/www.digitalmediaacademy.org\/\" target>DigitalMediaAcademy provides instruction in app development, game design and iPhone applications at camps available all over the U.S. Summer camps specifically available at the University of Chicago include Game Programming, Java Programming and Programming 101.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Stanford University Open Classroom\" titleLink=\"http:\/\/openclassroom.stanford.edu\/MainFolder\/HomePage.php\" target>Openclassroom.stanford.edu is operated by Stanford University and offers free classes such as Design and Analysis of Algorithms, and Introduction to Databases and Practical Unix.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"Institute for Mathematics and Computer Science\" titleLink=\"http:\/\/www.eimacs.com\/\" target>Institute for Mathematics and Computer Science offers AP classes and university-level coursework in computer science as well as help preparing for the AP Computer Science and AP Calculus exams.<\/sonic-resource-list>\r\n<sonic-resource-list title=\"University of California Online\" titleLink=\"http:\/\/www.uconline.edu\/content\/all-courses\" target>University of California Online offers Computer Science for Science, Mathematics, and Engineering I that may be of interest to advanced high school or college transitioning students.<\/sonic-resource-list>\r\n\r\n\r\n<section class=\"-mx-4 md:-mx-1\/2vw py-12 md:py-16 mt-12 md:my-16 relative md:left-1\/2 md:right-1\/2 md:w-screen bg-primary-light\">\n    <div class=\"container content\">\n        \r\n<sonic-editorial-listings degree=\"\" category=\"\" subject=\"\" limit=\"3\"><\/sonic-editorial-listings>\r\n\n    <\/div>\n<\/section>\n\r\n\r\n\r\n<h2>Start Your Computer Science Education Today<\/h2>\r\n\r\n\r\n\r\n<p>Remember, there are few reasons for waiting until college to begin developing your computer science and coding skills. The connected world is the world of the future and whether you decide to strictly work in computer science and programming, or cross over into fields such as health care or space science, you can help build and design the programs and technologies. The exciting thing is that many of these technologies remain to be seen. It\u2019s already clear that programing and coding are the basis for so many new and progressive ideas, which begs the question: Are you ready to shape the future?<\/p>\r\n\r\n\r\n\n<div class=\"sonic-interlink duration-500 flex hover:shadow-lg bg-primary-700 \">\n    <a target=\"_self\" href=\"https:\/\/www.computerscience.org\/resources\/how-to-pay-for-a-degree\/\" class=\"flex items-center p-8 relative rounded w-full transition-opacity duration-500 hover:opacity-75\">\n                <span class=\"text-white block w-full\">\n          <span class=\"interlink-content flex justify-between items-center\">\n            <div>\n                                                <span class=\"title leading-snug\">Learn more about how to pay for a degree<\/span>\n                            <\/div>\n            <sonic-icon class=\"ml-3 md:ml-0\" icon=\"arrow-circle-right\" size=\"small\" color=\"#fff\"><\/sonic-icon>\n          <\/span>\n        <\/span>\n    <\/a>\n<\/div>\n\n\n\r\n\n<div class=\"sonic-interlink duration-500 flex hover:shadow-lg bg-primary-700 \">\n    <a\n        target=\"_self\"\n        href=\"\/bootcamps\/rankings\/best-coding-bootcamps\/\"\n        class=\"flex items-center p-8 relative rounded w-full transition-opacity duration-500 hover:opacity-75\">\n                <span class=\"text-white block w-full\">\n          <span class=\"interlink-content flex justify-between items-center\">\n            <div>\n                                                <span class=\"title leading-snug\">Best Coding Bootcamp Programs<\/span>\n                            <\/div>\n            <sonic-icon class=\"ml-3 md:ml-0\" icon=\"arrow-circle-right\" size=\"small\" color=\"#fff\"><\/sonic-icon>\n          <\/span>\n        <\/span>\n    <\/a>\n<\/div>\n\n\n\r\n\n<div class=\"sonic-interlink duration-500 flex hover:shadow-lg bg-primary-700 \">\n    <a\n        target=\"_self\"\n        href=\"\/resources\/is-computer-science-hard\/\"\n        class=\"flex items-center p-8 relative rounded w-full transition-opacity duration-500 hover:opacity-75\">\n                <span class=\"text-white block w-full\">\n          <span class=\"interlink-content flex justify-between items-center\">\n            <div>\n                                                <span class=\"title leading-snug\">Is Computer Science Hard?<\/span>\n                            <\/div>\n            <sonic-icon class=\"ml-3 md:ml-0\" icon=\"arrow-circle-right\" size=\"small\" color=\"#fff\"><\/sonic-icon>\n          <\/span>\n        <\/span>\n    <\/a>\n<\/div>\n\n\n\r\n\n<div class=\"sonic-interlink duration-500 flex hover:shadow-lg bg-primary-700 \">\n    <a\n        target=\"_self\"\n        href=\"\/resources\/companies-that-pay-for-college\/\"\n        class=\"flex items-center p-8 relative rounded w-full transition-opacity duration-500 hover:opacity-75\">\n                <span class=\"text-white block w-full\">\n          <span class=\"interlink-content flex justify-between items-center\">\n            <div>\n                                                <span class=\"title leading-snug\">Companies That Pay for Your Degree<\/span>\n                            <\/div>\n            <sonic-icon class=\"ml-3 md:ml-0\" icon=\"arrow-circle-right\" size=\"small\" color=\"#fff\"><\/sonic-icon>\n          <\/span>\n        <\/span>\n    <\/a>\n<\/div>\n\n\n","protected":false},"excerpt":{"rendered":"Computer scientists play a central role in our technological infrastructure. They develop hardware, software and other applications for use by the military, businesses and average consumers. This has made computer science one of the fastest-growing career fields in the U.S. today, with some occupations, such as software engineer, expected to grow an estimated 22 percent [&hellip;]","protected":false},"author":1,"featured_media":693,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"bootcamps":[],"states":[],"resources":[21],"careers":[],"degrees":[],"class_list":["post-585","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","resources-all"],"acf":[],"menu_order":0,"_links":{"self":[{"href":"https:\/\/www.computerscience.org\/wp-json\/wp\/v2\/posts\/585","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.computerscience.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.computerscience.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.computerscience.org\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.computerscience.org\/wp-json\/wp\/v2\/comments?post=585"}],"version-history":[{"count":1,"href":"https:\/\/www.computerscience.org\/wp-json\/wp\/v2\/posts\/585\/revisions"}],"predecessor-version":[{"id":12584,"href":"https:\/\/www.computerscience.org\/wp-json\/wp\/v2\/posts\/585\/revisions\/12584"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.computerscience.org\/wp-json\/wp\/v2\/media\/693"}],"wp:attachment":[{"href":"https:\/\/www.computerscience.org\/wp-json\/wp\/v2\/media?parent=585"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.computerscience.org\/wp-json\/wp\/v2\/categories?post=585"},{"taxonomy":"bootcamps","embeddable":true,"href":"https:\/\/www.computerscience.org\/wp-json\/wp\/v2\/bootcamps?post=585"},{"taxonomy":"states","embeddable":true,"href":"https:\/\/www.computerscience.org\/wp-json\/wp\/v2\/states?post=585"},{"taxonomy":"resources","embeddable":true,"href":"https:\/\/www.computerscience.org\/wp-json\/wp\/v2\/resources?post=585"},{"taxonomy":"careers","embeddable":true,"href":"https:\/\/www.computerscience.org\/wp-json\/wp\/v2\/careers?post=585"},{"taxonomy":"degrees","embeddable":true,"href":"https:\/\/www.computerscience.org\/wp-json\/wp\/v2\/degrees?post=585"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}