Computer Science Before College
Computer Science Before College
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.
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.
The following guidebook helps students and parents identify and understand the multitude of
opportunities available for learning computer science before college. Key elements include:
An in-depth look at why computer science is important to learn at the primary and secondary levels.
A breakdown of computer science information and resources at each level: elementary school, middle
school and high school.
A detailed look at college prep. Specifically, how high school students can ready themselves for
advanced computer science study at the post-secondary level.
Explore programs of your interests with the high-quality standards and flexibility you need to take
your career to the next level.
ADVERTISEMENT
BSC BUSINESS AND MANAGEMENTLondon School of Economics and Political Science
Designed by LSE, earn an online BSc Business and Management from the University of London,
without relocating. Ranked #2 in the world for social sciences and management, analyse
international and local managment issues through the lens of various social science disciplines.
Learn More
VISIT SITE
VIEW MORE PROGRAMS
Elementary
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 “coding”, 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’t kids learning basic
computer science and programming in school? Common Core and No Child Left Behind may seem
like barriers, but alternatives exist.
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. CodeEd, 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.
Computer science can be introduced to students at a young age, but the concepts must be simple to
understand, reports the Computer Science Teachers Association. Charlie King of CLEARLINK
suggests that kids should start coding and delving into computer science as soon as they show an
interest. Specific age may not be as important.
Here are a few reasons to add computer science and coding to education at the elementary-education
level.
By the year 2020, there will be an excess of 100,000 jobs in computing available beyond the number
of college graduates skilled to work in the field, reports The Educators Room.
Most kids are high functioning when it comes to use of computers, yet only 57 percent of elementary
schools have wireless Internet connectivity, according to the Computer Science Teachers
Association.
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.
Like CodeEd, Scratch 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.
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:
Alice.orgAlice.org offers a 3D programming environment to help kids across all ages learn about
object-oriented programming. Downloads, licensing and tutorials are available.
Codecademy.comCodecademy.com offers anyone the opportunity to learn how to code for free
using simple examples and methods.
Codepupil.comCodepupil.com uses simple games, like its “Code Stitch”, and exercises to teach
kids to code with HTML and CSS.
Code.orgCode.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.
ComputerScienceForKids.comComputerScienceForKids.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.
DaisyTheDinosaurDaisyTheDinosaur 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.
Hackety.comHackety.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.
KodableKodable 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.
PluralSightPluralSight 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.
Scratch.MIT.eduScratch.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.
TeachKidstoProgram.comTeachKidstoProgram.com provides suggestions for websites,
software, hardware and books, such as Python for Kids by Jason Briggs, to use to develop
children’s interest in programming.
TeamTreeHouse.comTeamTreeHouse.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.
Udemy.comUdemy.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.
In addition to fueling interest, founders of programs such as CodeEd and Scratch hope their efforts lead
to long-term growth in the field.
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.
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.
By the time students enter high school, they won’t be afraid of computer science. Instead, they’ll be in a
position to embrace it, and even pursue advanced study.
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:
CodeaCodea is an application that can be downloaded for an iPad and lets games and simulations
be created using the Lua programming language.
CodeAvengers.comCodeAvengers.com allows users to create games in JavaScript, and offers
tutorials such as Intro to Making Games, Intro to Graphics and Intro to Programming.
GameInstitute.comGameInstitute.com provides opportunities for game programming, game art
and animation and to learn more about the Unity platform used in game creation.
Hour of CodeHour 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.
PlayBasic.comPlayBasic.com offers a 2D programing language and a variety of graphical
features, such as image effects and mapping, for creating games.
StormTheCastle.comStormTheCastle.comprovides 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.
TeamLiquid.netTeamLiquid.net takes a look at some of the different careers that could be
available in gaming, including programming, artistry, designing and engineering.
YouthDigital.comYouthDigital.com is geared toward students ages eight to 16 and offers online
classes in creating apps and games.
My First Website
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:
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:
EdutopiaEdutopia provides its 7 Apps for Teaching Children Coding Skills including GameStar
Mechanic, Hopscotch and Scratch.
The Khan AcademyThe Khan Academy offers Drawing and Animation, which makes use of
JavaScript and the ProcessingJS library to animate and draw.
Make Your Own Flappy BirdThe 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.
PolygonPolygon offers a story called My Kids are Learning to be Better People by Learning How
to Code Games.
Hour of Code Campaign Video for Computer Science Education WeekPresident Barack
Obama emphasizes computer science skills in this short video on YouTube that helped to kick-off
the 2013 Hour of Code campaign.
ReadWrite: 6 Coding Apps for KidsReadWrite offers an article called How to Raise the Next
Zuckerberg: 6 Coding Apps for Kids. Suggestions include trying out Alice and Code Monster.
ReadWrite: Schools Aren’t Teaching Kids to CodeReadWrite reports on which groups are
helping students learn about programming in the article Schools Aren’t Teaching Kids to Code;
Here’s Who is Filling the Gap.
High School and College Prep
Just 30,000 students took the Advanced Placement test in computer science in 2013, according
to Education Week. 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.
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 – 2017 school year. Where
offered, it will introduce students to programming, but also give them a broad understanding of
computing and its many applications.
Perhaps the best way to prep for an undergraduate degree in computer science is to cultivate knowledge
and skills in mathematics and laboratory science.
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.
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.
Finally, when researching CS undergraduate programs, high school students may want to
consider online colleges that provide free laptops. While laptops are useful for any student, they are
absolutely essential for CS majors – and every penny saved helps.
Students have many choices when it comes to programming languages. 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:
C++ is a programming language developed out of Bell Labs and popular for its graphical applications.
C++ adds objected-oriented features to its predecessor, C.
HTML is a hypertext markup language that is used in creating World Wide Web documents.
JavaScript was developed by Netscape and is used in creating interactive websites. Although similar
to Java, it has many of its own unique features.
Perl stands for Practical Extraction and Report Language and uses a syntax in its scripting language
that is similar to C/C++.
PHP, standing for hypertext preprocessor, is used in server-side scripting and web development and is
open-source and embeddable in HTML.
Python is an object-oriented programming language with an open-source code that received its name
from “Monty Python’s Flying Circus.”
Ruby is an object-oriented programming language that can be used for everyday programming and
testing prototypes.
High school students may be on their own when it comes to finding opportunities for computer science
and coding instruction. If they can’t 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:
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’s 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?