Introducing Computer Programming to Non-Majors

Computer science educators have a problem – too many students drop out of introductory courses or choose not to continue studying computer science after the first course. The reasons for dropping out are many: some students don’t realize how much work a programming course will take, others may fail to fit in with their peer learning group, or they may not be interested by the problems posed in the course. In the summer of 2016, Darakhshan Mir, Assistant Professor of Computer Science, obtained a course redesign grant to develop a new class to introduce computer programming to non-majors. She worked with three undergraduate students to develop a class that would introduce students to computer science through their own experiences.

The new class, “Creative Computing and Society,” was introduced in the fall of 2016 and quickly filled. Students in international relations, psychology, English, studio art, management, theater and dance, classics, sociology, and education learned how to program using Processing, a programming language designed for greater interactivity and immediate feedback. The initial class included 7 first-years, 4 sophomores, 6 juniors, and 7 seniors.

The goal is to give students the ability to create projects immediately relevant to their own interests and to teach the concepts of computer science at the same time. Critics of the traditional computer science curriculum complain that the normal introduction-to-programming class is too attached to the engineering and mathematical origins of computer science. This turns some students off of the subject before they are even aware of the amazing things you can do once you know how to program.

The class was designed in collaboration with three Bucknell undergraduates: Jingya Wu ‘19, Sierra Magnotta ‘18, and Anushikha Sharma ‘18. The group settled on a set of course goals and learning outcomes before moving on to develop a series of labs, assignments, readings, and projects. The first few weeks begin with short programming assignments to build a foundation of knowledge. The first small project focuses on creative thinking and the second on a data-driven project that arises out of students’ individual interests. The topic of the final project is open and lets students highlight any of the skills they have learned throughout the semester.

Students presented their projects to the Bucknell community at an end-of-semester event hosted in the library. Projects included visualizations of gun control policies and suicide rates, drunk driving prevention, wealth inequality, Latinx graduation rates, property and women’s rights, and texting while driving. Other projects presented simulations of impaired driving and social privilege, while others took a more artistic approach that combined music, political action, and stress reduction.

“After creating this course, I’ve noticed that I’m better able to articulate my needs and ideas to others. I think that this experience of taking an idea and implementing it to make a real change at Bucknell has made me a lot more confident in myself. I don’t feel as intimidated to share my ideas with other people or to work to make them a reality,” said Magnotta after working on the course design and serving as a teaching assistant during the first semester the course was taught.

Professor Mir and her three students presented a paper on their course design work at the SIGCSE ‘17 (Special Interest Group on Computer Science Education, part of the Association for Computing Machinery) conference held March 8-11 in Seattle, Washington.

Comments are closed.


Places I've Been

The following links are virtual breadcrumbs marking the 12 most recent pages you have visited in If you want to remember a specific page forever click the pin in the top right corner and we will be sure not to replace it. Close this message.