Enter Store - AP Online Classes - Who We Are - Volleyball - PHAA diploma Program

Blog

Ideas for helping kids who are thinking about computer programming jobs in the future...
Susan Richman and Jacob Richman, 3/23/2010

I’m opting to share today an email correspondence my son Jacob and I had recently with a homeschooling mother from the Chicago area, writing for ideas about how her son might get a future job in the computer programming field (hopefully at Google, where Jacob works). I think many of these ideas may be helpful to others, too—and lots of links for further info and programs. I think this also ties in a bit to Kathy Wingert's wonderful piece (just below this one) on how to help a 'science kid' when you yourself weren't necessarily a 'science person' yourself. By helping our kids have good opportunities, encouraging them to learn on their own, and keeping alert to new options and other people and tools, our kids can indeed 'take off' in the field of their dreams. Enjoy!

First the email from the homeschooling mom:

Hello Susan,

I'm a homeschooling mother of two children now in 5th and 7th grade.  I came
across your home page this morning and read the "Who We Are" section.
Before I get lost in your web-site, I wanted to ask for information from
you.  My name is Sherri and my 13 year old son (Lance) has decided he wants
to work at Google.  Strange, I know, but we saw a video loop playing at the
doctor's office one day showing Google's California Office and he has been
hooked ever since.  Initially, he was thinking he wanted to be a video game
designer, but through various discussions we're not sure that this direction
will pay the bills.

If you have the time, I would love to hear about your son, Jacob, and how he
went about learning the skills necessary to gain employment at Google. 
Unfortunately, I have no computer knowledge other than working as a legal
secretary and typing 90 wpm.  My husband graduated from Purdue University
with an engineering degree, but together we still don't have a clue.  I need
some help in giving my son the right direction to follow his dream.

Thank you for your time.  Any help you could possibly give would be greatly
appreciated. 

Cordially,
Sherri

And now here’s my response, followed by our son Jacob’s response.

Hi Sherri-- Thanks so much for writing, and thanks too for looking over our website. Hope you found some of the articles there a good help to you.

Our son Jacob majored in computer science at Carnegie Mellon University, and first worked at Microsoft as a programmer for about 5 years, and now has been with Google for about 3 years (he definitely prefers Google, though Microsoft had been his 'dream job' while in high school/early college).

Jacob *always* played around with computer programming-- my husband knew a bit, and showed Jacob some basics when he was about 8. The rest is history. By 5th and 6th grades Jacob was winning some national computer programming competitions for kids (see http://www.uwp.edu/sws/usaco ). Jacob had good materials to use-- programming books with software included, so that he could teach himself and 'play around' with ideas. He basically experimented with programming almost *daily* every day of his homeschooling years at home.

Things are a bit different now, with different languages being used, and more of an emphasis on working in teams of students to complete parts of  'bigger projects' using the JAVA language, use of the Internet, etc. Jacob is almost 30, so things were a bit different when he was growing up, and his [See the article on our website by Cynthia Lang and AP Computer Science...] programming tasks were all individual efforts. He rarely (never???) had much in the way of commercial computer games, so if he wanted something, he programmed it... and was incredibly creative about it all. He was also VERY advanced in mathematics, and that certainly helped with all his programming tasks (started learning calculus in 8th grade, say.... something NONE of my other 3 ever would have attempted-- or thought was great fun!). A very strong math background is key for getting into a good computer programming major in college.

Jacob was the sort of kid who could just *look* at those nifty 3-D pictures from 'Magic Eye' and figure out how to program his own.... and then proceeded to do so, in all sorts of contexts. I felt amazed just being able to *see* them.... it would never have occurred to me to try to understand how they are programmed!

I myself know nothing at all about programming computers (except what I overhear), though my husband was pretty fluent in it all (though Jacob pretty quickly went far beyond what my husband knew... and my husband was all self-taught in the field...).

I'd suggest some goals to have in mind-- prepare your son to take AP Computer Science eventually, buy some good current books on programming (maybe starting with things like the 'Dummies' series if need be...). Check out local community college programming classes, or summer 'camp' type programming courses for teens. Oh, and here's a website from one of my evaluation students in PA, who's very advanced in programming and website design-- you might want to contact him for good ideas, too. He's very knowledgeable: http://www.benlind.com  This is his page which describes what he does for his paid work (he's a 10th grader!) in website design. This next link is Ben's page about other computer-related things, with lots of info for people getting started in the field: http://www.tutwow.com

Best wishes to you all, and especially to your son! My son actually helps do interviews for new staff at Google sometimes-- maybe I'll see if he could share what they are looking for. -- Susan Richman

And now on to Jacob’s response to Sherri’s letter:

Hi Sherri,

Here are some tips for how to get a job in Computer Science.

1. Start programming and write a lot of code. Most employees at Google starting programming in high school or earlier and have written a lot of programs for fun in addition to programs they write for work.

2. Java is a good language to get started with as it is relatively easy to learn and has lots of great tools and documentation on the web.  There are plenty of good free resources to get started writing programs in Java.  Google and many other large companies write a large portion of their code in Java.  Many universities now use Java for all of their computer science courses. [Editor's note from Susan: Java is also the language used in AP Computer Science now]

Some links on Java:

http://eclipsetutorial.sourceforge.net/totalbeginner.html

<-- Eclipse is a good free text editor that makes it easy to develop Java apps.

http://math.hws.edu/javanotes/ <-- free online textbook on getting started with java (not sure how good it is but it seemed reasonable after a quick glance)

After you are familiar with the basics of using Java, GWT (Google Web Toolkit) provides an easy way to use Java to create web applications.  This will let you write Java apps and easily share them with your friends over the web.

http://code.google.com/webtoolkit/

You'll want to use the free Google app engine product to serve the applications you create.

http://code.google.com/appengine/docs/java/overview.html

3. Make sure you study a lot of math.  Computer science and math are very closely related.  Discrete math is more important for most programming than linear math.

4. Once you have around a year of programming under your belt, start trying online programming competitions.  Some competitions such as topcoder.com let you do practice problems on their website and compete in weekly informal competitions.

http://www.topcoder.com/

Placing well in these sorts of competitions will really help you get into a good computer science college program and will help with programming internships and full time jobs.

5. Most of all. Make sure that you find the programming you do while in high school fun.

         -Jacob


Comment by Michelle D, 4/5/2010:

Susan,

This is a HUGE help.  Our son loves programming (though he's just beginning, really) and also loves contests.  I had no idea there were all these competitions our there.  Thank you!  Michelle


Links

  • AP Online Classes
  • Blog RSS
  • Enter Store
  • Evaluators
  • High School Conference
  • Homeschool Law Guide (pdf)
  • Online Classes
  • Magazine Archive
  • PA Dept of Education
  • PA Support Groups
  • PHAA Diploma Guide (pdf)
  • PHAA Diploma Program
  • Volleyball
  • Who We Are

    Categories:
    AP Online Classes
    College Preparation

    Community Service
    Contests and Scholarships
    Co-op Learning
    Curriculum Reviews
    Evaluations & Portfolios
    Family Life
    Getting Organized
    High School Conference
    Math by Kids
    Museums and PA Resources
    PA Cyber Charter Schools
    PHAA Diploma Program
    PreK - 6th grade
    Special Needs
    Sports and Fitness
    Test Taking
    Writing Club Ideas
    Other