Computer science is a relatively young discipline — it’s only been around for about 50 years. Nevertheless, Professor Jessen Havill thinks it’s time to revolutionize how the discipline is taught — and he’s written a new textbook to showcase his ideas.
Havill has been teaching computer science at Denison University since 1998, but he was dissatisfied with how his students were learning.
In introductory computer science courses, students learn how to solve problems and to code, which essentially entails learning a new language. A traditional course would lead students through a tour of the language’s features, applying them to small, often contrived problems along the way. It’s like being taught to garden by first having to stand in a sandbox and endure a series of clinics on each tool in the shed.
“Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming,” Havill’s new textbook, is instead structured around interesting real-world problems, and teaches the language in a spiral approach. “Computer science is not really about computers at all, or even coding,” said Havill, “It’s all about how to tackle hard problems computationally.”
In Havill’s classes, students learn the programming language Python by solving these problems. So, instead of simply learning, they are putting their newfound knowledge to use immediately. As most teachers know, this is a proven way to enhance learning.
Computer science can be used to help solve problems in a wide variety of domains. In his book, Havill includes real projects that he gives his students, who use computer science to solve problems in fields like biology, economics, geosciences, political science, sociology and the digital humanities. It is all about making connections.
“I hope this textbook brings a strong liberal arts perspective to computer science.”
Havill’s students played an important part in the development of the book. They tested all of the textbook’s projects and problems while in class. Students gave him honest feedback, and a lot of content was derived from typical mistakes that students made.
Computer science major Dana Myers ’15 read the entire textbook and worked through all of the projects to make sure that they made sense and that they worked. “She was a tremendous help,” said Havill.
Havill and his colleagues have been using drafts of his textbook in CS 111 and CS 112 for a few semesters, and he sees a difference in how his students learn. They really enjoy the weekly projects that push them to make connections between computer science and other disciplines.
“There are a number of really interesting applications and projects throughout that really solidify the interdisciplinary nature of computer science,” said Patrick Banner ’18. “Whether you’re in physics or English, biology or sociology, knowing how to use computers can be a great help to your research and exploration of subject matter.”