To all you majors in history, sociology, literature, economics, Africana studies, and sundry other subjects — welcome to Computer Science 101.
The Computer Science Department has redesigned its introductory course, formerly aimed at computer science majors, to give students from across the disciplines a basic understanding of programming and how computers can be used in their fields. The new approach reflects Hamilton’s commitment to provide all its students with the skills to communicate and work effectively in a digital world.
Hamilton professors at the forefront of their fields in a range of disciplines are using computing to do things they couldn’t do before, says Professor of Computer Science Mark Bailey, who developed the course and chairs the department. “I want to make it possible for students that are going off into these different fields to be those people on the forefront, the people who know something about how computers work and see how they might be a helpful tool,” Bailey explains.
He says the revamped intro course is still rigorous enough for computer science majors, with some of the material it formerly covered shifted into a subsequent course.
The new course doubles the required lab time and is built around lectures and six open-ended projects potentially applicable to other fields of study, for instance text searching for literature. For the projects and the labs, Bailey turned to students Matthew Dioguardi, Maddy LaPoint, and Gwen Urbanczyk, all junior computer science majors and teaching assistants.
LaPoint took on the work in part because she has friends in other majors who wish they had some of her computer science skills, and she wishes they did, too. The team’s main goal for the projects, LaPoint says, was to keep them open-ended to foster student creativity.
Noncomputer science students should come away from the course knowing enough of the programming language Python to apply it elsewhere, especially for social science or STEM courses, Dioguardi says.
To develop the new course, team members needed to approach computer science very differently than they do in the courses they’ve taken.
“At first, it was definitely hard because this is a very different computer science course than any I've ever taken. It’s much more open-ended,” says Urbanczyk. “A lot of computer science courses I take are very much, ‘here's a problem — solve it. Whereas this one is, ‘here is a tool or a set of tools — do something interesting with it.’”
Digital technologies and modes of thinking continue to change the world. Hamilton is responding by instilling among its students the skills to communicate and work effectively in this environment.
Which project stands out to her? The one that covers “web scraping,” which is taking code off a website to collect its data. Her example to show students its use — gathering data about 1,000 movies from the IMDb website and using it to find movies she might like based on an actor in the cast. “I could definitely see someone writing a small web-scraping program just to automate something,” she says.
In the end the students helped build an impressive new course. “They amazed me,” Bailey says. “I thought they would get two-thirds of the projects done and maybe half of the labs. They did all of the projects and all of the labs. They also wrote a bunch of quiz questions.”