HIGH SCHOOL AND COLLEGE PREP
Just 30,000 students took the Advanced Placement test in computer science in 2013, according toEducation 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 Boardhas 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.
“When I was in high school, there was very little available to students with vocational interest in technology,” says Justin Rohrman, senior software tester at Sharable Ink. “From 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.”
College Prep First Steps
Perhaps the best way to prep for an undergraduate degree in computer science is to cultivate knowledge and skills in mathematics and laboratory science.
“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 ‘real world,'” says Chris Martino of SimpiVity Corporation. “Most CS programs are heavy in these areas with requirements in calculus, statistics, physics, etc.”
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.
“My high school offered three software development classes, and I took all three,” said Bradley Stewart of Shareable Ink. “There 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’s high school education if planning to pursue software engineering.”
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.
“There is a fantastic program for young people calledSummerQAmp,” he says. “This program is focused on developing real tech skills and exposing people to them before college.”
Finally, when researching CS undergraduate programs, high school students may want to consideronline colleges that provide free laptops. While laptops are useful for any student, they are absolutely essential for CS majors – and every penny saved helps.
Programming Language Must-Haves
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.
- Perl stand 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.
College Prep Resources
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:
Codenow.orgprovides opportunities for teenagers in low-economic areas to understand how to program through project-based learning. Nearly half of its alumni are female.
Girls Who Codeoffers a summer immersion program in computer science focused on mobile development, robotics and web design. Girls gain experience through demos, lectures and mentorships.
Hack Reactoroffers a 12-week boot camp (with a hefty price tag) to hone software engineering skills. Previous coding experience is recommended.
Metisis a 12-week camp taught by instructors in Boston that focuses on HTML, CSS and Ruby on Rails. The camp is expensive, but makes scholarships available to women, minorities and veterans.
Silicon Valley Code Campis offered free of charge and run by developers for developers to address topics such as branding or legal issues.
ScriptEd.orgis another organization providing programming education in low-income areas through partnerships with volunteers.
Squareexpanded its coding camp from college-only to high school girls in Silicon Valley and provides instruction through Square engineers and additional teachers.
- TheSummerQAmpprogram 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.
AmplifyCSis 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.
Coursera.orgoffers Beginning Game Programming with C# which includes the use of Unity, a popular game engine among indie developers.
DigitalMediaAcademyprovides 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.
Openclassroom.stanford.eduis operated by Stanford University and offers free classes such as Design and Analysis of Algorithms, and Introduction to Databases and Practical Unix.
- TheInstitute for Mathematics and Computer Scienceoffers AP classes and university-level coursework in computer science as well as help preparing for the AP Computer Science and AP Calculus exams.
- TheUniversity of California Onlineoffers Computer Science for Science, Mathematics, and Engineering I that may be of interest to advanced high school or college transitioning students.