Assessment Case Study - Continuous Exercises in Computer Science
Ashley Weleschuk, Taylor Institute for Teaching and Learning
August 1, 2017
“A big part of my lectures is ‘cheerleading’ to convince the students to spend time working on the course…Much of the deeper learning happens when they actually sit down in front of a computer and write programs.” — Dr. Ben Stephenson
Dr. Ben Stephenson is a Teaching Professor who teaches various courses in the department of Computer Science. CPSC 217: Introduction to Computer Science for Multidisciplinary Studies is a computer science course for students with no previous programming experience. Its purpose is to give students a basic understanding of the Python programming language, some background on the theory of computer science, and skills that enhance their ability to solve problems with a computer. Students come from a variety of disciplines, mainly within the Faculty of Science. Most of the students in the course do not intend to enroll in further computer science courses. Many of the students taking the course are intimidated by the idea of taking a course that includes a lot of programming. Dr. Stephenson has designed the assessments to be as meaningful and interesting as possible to the unique group of students in the class. Most of the learning in CPSC 217 comes from writing programs and applying the knowledge that is taught, so having continuous assessments that motivate students promotes engagement during the course.
The assessments in the course included both exercises and assignments. Exercises are small, low-stakes programming problems while assignments are more in-depth, higher level activities that require students to combine several ideas to solve a problem. Exercises are meant to be formative assessments. There is a small grade associated with them simply to motivate the students. They usually require fewer lines of code than the assignments, but are important for developing programming skills prior to working on more difficult problems. Students are allowed to work together and help one another on the exercises, something that is not permitted on assignments.
The assignments vary in length and difficulty, and become more challenging as the students programing skill increases. Assignments are often related to different scientific disciplines. For example, in the Winter 2017 offering of the course, students were asked to create a program that took temperature and precipitation data as input and produced a graph of the data as its output. They also had to create a program that could analyze predator and prey relationships within a food web. While students may not use those programs specifically in their primary field of study, creating them helps students develop and reinforce the skills that they will need to create other programs that will be helpful to them in the future.
The largest assignment in the course implement part of a computer game. The students like being able to create a playable game, particularly one that is familiar to them, but programming the animations needed for the game is beyond the skills of the students in the course. Dr. Stephenson creates the majority of the game, but leaves a few sections for the students to finish. This works well because he can hand-select the parts of the game that relate to what the students are learning at that point in the course. In recent iterations of the course, the games used have been Connect 4 and Minesweeper.
Dr. Stephenson says that most students agree that this is the most challenging assignment in the course, because some of the components cannot be completed until previous components are finished. It also is the most rewarding, as the final product is beyond what the students could do on their own.
CPSC 217 is well-liked by students and receives good feedback. Some of the assignments can be intimidating for students at first, but Dr. Stephenson provides a lot of support for students and they are often surprised by what they can do. He notes that when students finish both the assignments and exercises, they have a lot of ownership over them. Students have to commit a lot of their time and effort to writing their programs, so completing them is very satisfying. They feel like they learn a lot throughout the course, as they go from having no programming ability to being able to create small but useful Python programs. Dr. Stephenson attributes successful learning, in part, to the variety of assessment opportunities that are provided throughout the course.