What do Perl, Ruby and Python all have in common? They aren’t jewels or snakes—but computer programming scripting languages.
You may not know much about computing languages, but Mark Johnson, professor of mathematics and computer science, knows all about teaching Python. His textbook, “A Concise Introduction to Programming in Python,” was recently published after he had used an early version in first-level computer science classes for a few years.
“We have been using it for our main first course in computer science,” says Johnson. “It’s for people who are interested in majoring in computer science or think they might be. That is the place to start.”
The book is broken down into brief chapters, each with information students need to know for a small lesson. Johnson says it’s more likely to be read that way.
“I was trying to be concise because asking students to read 40 pages of programming stuff for the next day of classes just doesn’t happen,” he says with a laugh. “They don’t read long narratives in computer science books. I tried to put in what they needed at that time.”
Python, according to Johnson, is “very powerful” but still easy for a novice to understand. Students can even begin coding on the first day of class. The language can be used in a pinch when two different programs need to be combined but their outputs don’t match. Professionals use Python to write a program to tie the larger programs together.
Students like Python because it looks more like a language they are used to seeing. “A lot of Python programs, once you get used to looking at them, are closer to English than you might expect. Other programming languages are going to look more alien,” says Johnson. “Python programs tend to look like what they do, so that helps beginners.”
And it’s all about a learning curve. Johnson has his Ph.D. in math—he was always more of a numbers person. But his summer and work-study jobs always related to computers, sparking an interest early on. While earning his undergraduate degree, Johnson took as many computer science classes as possible. He later earned a Ph.D. minor in computing.
Looking for jobs, his computer science minor was something he always mentioned, hoping that he could teach a few classes in his second subject as well. Central proved the right fit in the fall of 1994. “When Central was looking, that was a thing they wanted to see,” Johnson says of teaching computer science. “It is very much like math, but it’s a different kind of fun. I like doing math. But it’s cool to be able to spend time writing a program and then actually see it do what you wanted.”
Johnson has a follow-up book for the second course in computer science in the works, but he also developed an iPhone application class where students can learn another language, Objective-C, on top of the other languages they regularly use. He just hopes that coding and developing is as much fun for his students as it is for him.
“I like the process of figuring out why a program isn’t working, even if it’s bugging me,” he says. “That kind of thinking is fun for me. There is so much to know about programming, and that is true in any field. But it is changing so rapidly that there are always new things to learn. This is stuff that didn’t exist ten years ago, and it’s a blast.”