Computing for Non-Computer Scientists

Computational thinking is becoming increasingly important in today’s working world. As modeled by the class I’m TAing this semester, Introduction to Programming, CS skills can be useful to all different types of people and students. The majority of our CSE 231 students are actually nonmajors, and we gear the programming exercises to the audience by teaching programming material and skills that will be useful in any field.

While I’ve been thinking about how computer science is so useful to all types of people, I’ve been looking into ways that other computer scientists are reaching out to the public to get programming skills on their radar. The first method I’ve found is a series of programming courses being taught throughout the country that target non-computer scientists. A list of them can be found here, which I obtained via a SIGCSE news update. I’m summarizing some of the courses below:

  • UC Berkley’s “The Beauty and Joy of Computing” taught by Brian Harvey and Dan Garcia, which uses Scratch to teach programming, accompanied by real-life application examples and the history of computing
  • Georgia Tech’s “Media Computation” taught by Guzdial, which uses digital media as a way to convey computer science principles; lessons include changing pixels in pictures, samples in a sound and frames in an animation; Guzdial points to research showing that media computation has high success rates than traditional approaches to CS education
  • Harvey Mudd College’s “CS for Scientists” taught by Ran Libeskind-Hadas is required by all first-year Harvey Mudd students; uses Python as well as lessons on digital logic, computer organization, and assembly language programming
  • William’s College offers a variety of courses taught by Duane Bailey; courses include “Life as an Algorithm,” “Strategy, Interaction, and Design in Board and Video Games,” “Artificially Intelligence: Image and Reality,” and “The Art and Science of Computer Graphics”; teaches Scheme programming skills with artwork and animation as the results

These examples confirm my original suspicion that reaching out to non-CS students via art, music, digital media, or other avenues can be an innovative way to convey computer science principles to an otherwise disinterested audience. In fact, that’s exactly how Tracy Taylor, Jory Schossau and I target the Pine Ridge Reservation students in the summer school program I work with – video games, music editing, photography, etc.

The second major method of getting computer science noticed by the general public that I want to discuss here is Computing in the Core. Computing in the Core is an organization which advocates adding computer science to the core subjects in elementary and high school education. The organization is a coalition of associations, corporations, scientific societies, and non-profits attempting to increase problem-solving skills and algorithmic/computational thinking in K-12 students.

The initiative calls for national (or at least state-wide) standards for computing education which encourage participation by all types of students to get involved in STEM fields. In order to prove the need for such measures, ACM and CSTA conducted a study about K-12 CS education in the digital age. Below, I have included a screenshot of the results of the study, specifically focused on Michigan. To see the statistics for all other states, see the published results.


Specifically, it is important to note that the “Concepts” education in CS is severely lacking in Michigan, although the “Skills” section (typing, basic OS operations, manipulating images, creating slides, connecting computers to networks, etc.) is at 100%. Also, computer science is still considered an “elective” material for students, rather than a core math or science class which counts as a graduation requirement.

For more reading about Computing in the Core, see the Facts and Resources page.


The resources discussed here have me wondering how to get CS into high schools in Michigan. They also have me thinking about expanding the toolkit/curriculum I have for teaching computer science via art, digital media, and other nontraditional methods.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s