Speaking at a local high school CS class

I attended PyTexas  earlier this year, and although I no longer do enough Python for it to really get excited about much that I saw there, I was greatly excited by a lightning talk where someone was trying to recruit people to  volunteer in Austin CS classrooms. Finding out about this program made the entire conference worth it. Although I'm mostly interested in working with kids on a programming team or who are working on programming projects where the could benefit from an experienced programmer, I'm pretty willing to do whatever I can.  I didn't have many CS resources available to me when I was in school, and I'd hate to think I was doing nothing if there were students now in the same situation.

Last week I had the great opportunity to speak to some local high school students taking their first CS class at Westlake High School in Austin.  Sadly I didn't get to do any coding or teaching, but I did get the chance to come in and say whatever I wanted to.

I'd never done a talk like this before, but my plan was pretty straightforward:

  1. Introduce myself and talk about what motivated me to get in to computer science. I showed some some pictures of my first computer and since my first interest was to become a game developer, I showed a few games that motivated me early on. I hoped the students would maybe be able to find some parallels to things they were interested in.  I think this material was ok, but I didn't count on the low quality classroom projector not being able to display my materials and so some of this wasn't very clear.
  2. I talked about studying CS in college.  What are classes like? What kind of classes do you take and what were some of the funnest projects I worked on while getting my degree.   I think most of the students found this moderately interesting.  Most of the students seemed to be college-bound and so anything about college life is probably worth at least half listening to.
  3. Next I talked about what you can do with a CS degree.  I mentioned all the kinds of companies you can work for and the different kinds of jobs you might do with a CS degree. I think I spent way to much time on this trying to be thorough.  I wanted to impress on the students that there's so much variety, but I guess I probably just went on and on and lost their attention.   
  4. Finally, I wanted to make it personal and show specifically what I do on a day to day basis.  I tried to emphasize the team nature of software development and show how we communicate and get things done. I didn't have internet access, so I tried to put together some screen shots showing things like our company chat room and issue tracker, but sadly the fuzzy projector also made this difficult. 
  5. I had a little extra material with some ideas of things students could do if they were motivated to dig a little deeper into computer science, but I didn't actually have time to get to this in any of the classes.  This was good because I think this content was not really appropriate to the audience given the resources they have available at school. 

As might be obvious, I don't think I did all that great of a job. My material didn't quite hit the mark, and I did not test my presentation on lower resolution and lower power projectors. Still, I hope that maybe some of the students found my talk if not helpful at least amusing.

I don't regret the talks at all.  I had fun, and although I'm disappointed in what I produced, if I'm lucky enough to get another opportunity to do this, I have plenty of specific things I can do to improve. If you have the chance to do a talk like this, I highly recommend it.