“Should my child start with Java or Python?” is a common question parents ask. The answer depends on the child’s age, any prior programming experience, and how the child will be using the programming knowledge in school and outside of school.

How is Python different from Java?
Python has a simple syntax, is intuitive to read and the child is not overwhelmed with lots of concepts for basic programs. Both the programs below print the phrase Hello World but the one on the left is in Python and obviously much simpler.

 

 

 

 

When learning programming, the fundamentals to start with include:

– How the program flows
– Variables and Data Types
– Conditionals
– Loops
– Functions

These are easier to learn in Python as we do not have to yet deal with the object-oriented programming concepts of classes and objects like in Java.

Why choose Python as child’s first language?
You would choose Python for its readability, simpler syntax and because it can be used for fun projects on the Raspberry Pi or a robot like Cozmo or LEGO Mindstorms EV3. It is also one of the languages teachers use in computer science elective courses in schools. With Python there is a higher probability that the child will remain interested in programming and not get overwhelmed and lose interest after a few weeks.

Why choose Java as child’s first language?
Java would be the choice if your child is in 8th grade or higher and is very likely to study AP Computer Science A (AP CS A) in high school before 12th grade.  Java is the language College Board prescribes for AP CS A. Learning Java at EVComputing would help your child get ready for Java study in high school where it is often quite fast paced as most local students have prior programming experience by then. Having this headstart with Java will cut down the time spent on debugging AP CS A homework assignments in school. We all know that after school time is a precious commodity in high school!

How to decide
If your child is in 7th grade or younger and has no significant programming experience, go with Python. If the child is in 8th-10th grade and starting to explore computer science to see if it interests him or her as a career or major, start with Python. If the child is in 9th grade or higher and very likely to be studying AP CS A in school, or has some programming experience, consider starting with Java.

Start with Python and then move to Java
If you are still not sure, start with Python. After completing the beginner and intermediate levels of the Python curriculum, a switch can be made to Java. Once the child has mastered programming fundamentals in Python, learning Java becomes a matter of simply learning the Java syntax.

Register for a Trial Class
The best way to make this decision is to register for a 30 minute Trial Class that child and parents can attend. Students write small programs, we explore the curriculum, and we all discuss what the parent and child are looking for in programming classes. After interacting with the child as we write programs and talking with the parents, I can suggest the better language to start with.