The spring quarter ended last week, and with it the second offering of the Java bridge class came to a close. The Java class is a two-credit-hour class designed to help students make the transition from the introductory sequence in Python to the data structures classes in Java that follow. While teaching Java isn’t new for me, teaching Java to students who have programmed in another language is a new experience. I’m also finding that I enjoy it more than I would have expected.

My previous experience teaching Java was as a first language, and I found that to be tough. Java has enough syntax that a first-quarter (10-week) class barely has time to get to the point where the header for the main method can be understood. It was always a little frustrating to have to tell students “just ignore that — we’ll understand it later.” By contrast, the two-credit-hour bridge class covers almost the same syntax that two four-credit-hour classes did. Once students know what variables are, how to construct branches and loops, and the basics of function calls, it’s fairly easy to move through the syntax in Java. That doesn’t necessarily mean that students don’t struggle. For example, arrays are particularly mind-bending for someone used to Python lists. But the lights dawn sooner than for novices, and it feels like a lot less of slog for me and them.

The students learning a second programming language also seem to enjoy it more than the second quarter of their first programming language. While the numbers in the Java bridge class have been small up until now since the class isn’t required, I’ve felt that they’re overall more engaged and curious than what I see in the second Python programming class. That’s also helped to make the teaching more fun. I can’t wait to teach the class again next Winter quarter.