Python passes Java to teach programming

At Start Code, we have been using both Python and Java programming languages since first opening our doors almost three years ago.  Students start with Python and then later work with Java.  We’ve learned this through experience and now colleges are also using this sequence.  According to a recent survey by the Association for Computing Machinery (ACM), Python has surpassed Java as the top language used to introduce students to programming and computer science in the U.S.

This is a positive move for students first trying to code.  Python has simpler rules for coding (also called syntax) and both first time and experienced programmers can get results without getting bogged down in formatting, classes, etc.  The Python shell, IDLE, can also be used to test code and try things on the fly.  This is great when we want to show students something quickly or test a few lines of sample code.  We just say, “watch and let’s see what happens” and then get the results immediately in IDLE.  Python code can also be easily read so it’s possible to scan through a new program and pretty much understand what is going on just by scanning the code.  And finally, it’s possible to use Python without any object-oriented classes to keep things simple.  We use Python procedurally and save the class rules and related busy work for later with Java.  It’s more important to begin to think like a coder at the start and work through a problem then it is to play around with classes, inheritance, etc.

However, don’t be fooled into thinking that Python is just a teaching language.  Python scales up and is used by software developers across multiple industries.  We have spoken directly with game company programmers who use Python on the back end to do things more quickly and easily (online MMO, Eve Online, uses Python).  The developers really like it and were excited to hear we were using it with our students.  The current transition from Python 2 to Python 3 is a bit messy depending on the libraries you are trying to use, but that will hopefully sort itself out over time.  We simply jumped into Python 3 to be future proof.

And now it appears that more colleges are agreeing with this assessment.  According to the ACM survey, eight of the top 10 college computer science departments now use Python to teach coding.  And 27 of the top 39 schools ranked by US News and World Report do as well.  This is exciting as we hope to get more freshmen interested in computer science and want them to keep going.  If they can avoid some of the frustration that comes along with first learning to code, then the rate of students dropping out of the subject should decrease.  Here in Atlanta, Georgia Tech requires that all students take a computer science (CS) course to graduate.  They use Python in the introductory CS classes as well.  Several Georgia Tech professors are big proponents of the language and have written extensively about it.