David Kosbie and Mark Stehlik believe anyone can code. As course instructors for Principles of Computing — better known to Carnegie Mellon University students by its course number, 15-110 — that belief comes in handy. One of two introductory courses offered in the School of Computer Science, 15-110 covers programming constructs along with history and current events in computer science, tailored to students with little to no computer science background.
This fall semester, Kosbie and Stehlik switched up elements of the course, with the goal of enhancing students' experiences in 15-110. While the course provided students with the necessary tools and resources they'd need as novice coders, the instructors wanted to take it to the next level and showcase it to a wider audience. Using creative approaches and techniques inside and outside of the classroom, they hope to transform what might at first seem like complicated principles of computer science into collaborative and interactive problem-solving tools applicable to any and all fields of study.
Their mission wasn't without challenges — the first being that their course is mandatory for many CMU students.
"Most of the students taking 15-110 aren't there because they want to be, they're there because someone chose for them to be there," said Kosbie, an associate teaching professor in SCS. "Maybe they didn't come in kicking and screaming, and maybe they're okay with it, but nonetheless, they may not see this as a future. They may see this as a check in whatever box they have to check."
Kosbie and Stehlik also know they have to manage their students' expectations. Often, new students may not be the most receptive to the basics of computer science theory and simple coding exercises. "Earlier in the course, you don't have the computational tools to do grandiose stuff," said Stehlik, teaching professor of computer science and assistant dean for outreach. "When students think about graphics, their thoughts immediately go to things like video games, like 'Halo,' or 'Fortnite.' But you have to start small, and a lot of the times when you start small, you start simple both in the domain and in the coding techniques."
The instructors also recognize that they must tailor the course to a primarily freshman audience, as 15-110 is often taken by CMU students during their first two semesters.
"Courses designed for a predominantly freshman audience have responsibilities to move students from a high school mindset to a Carnegie Mellon mindset, and that's true regardless of the course," Stehlik said. "It gets students to understand what it means to be in this environment, and what it means four years from now, to be a graduate from this environment."
So striking a balance between keeping the class engaging for students while ensuring legitimate CMU-quality outcomes is one of the chief focuses Kosbie and Stehlik have for the course. How, then, are the duo re-envisioning 15-110 to meet these goals?
Team homeworks, which are collaborative weekly group homework sessions led by a teaching assistant, make the content more approachable. With this addition, students participate in an extra two hours outside of lecture and watch interactive videos, practice coding challenges to prepare for the upcoming week, and even have opportunities to conduct research on the role of computer science in current events. This enables them to more qualitatively discuss the course material in a collaborative learning environment.
Kosbie and Stehlik have also incorporated more guest lectures from CMU faculty as a part of the curriculum. Guest lecturers this semester included Distinguished Career Professor of Computer Science Lenore Blum, Bruce Nelson Professor of Computer Science Manuel Blum, Department Head and L.L. Thurstone Professor of Philosophy and Psychology David Danks, Angel Jordan Professor of Computer Science Tuomas Sandholm, Computer Science Professor Roger Dannenberg and Art Professor Golan Levin.
"The guest lecturers give students a sense of a much bigger picture," Stehlik said. "When I taught 15-110 in the spring of 2017, we had one guest lecturer the entire semester. So this, in a sense, is opening up that box a lot wider to illustrate these concepts less from our own knowledge and more from the experts at CMU who are immersed in that knowledge."
Finally, to ensure students are engaged with the content of the course as much as possible, they've also incorporated a new term project. This final project allows students to fuse their technical and creative skills and create an interactive game or activity about computer science in order to both show off what they've learned throughout the semester and educate their audience. The project's end goal is to help students better understand how the core technical skills they learned all semester can fundamentally change how they approach problem-solving, regardless of their profession.
With these additions to the 15-110 curriculum, Kosbie and Stehlik both set a very clear desire to ensure students get the most out of their exposure to computer science.
"I'd like the biggest takeaway of the course to be that students not be afraid of coding and understand that it's very relevant to their future careers," Stehlik said. "We want to entice students who think that they may not be able to do this to believe that they can, and then to continue to do so."