Every University Student should Learn to Program: Guzdial Arguing for CS for All in Higher Education
A colleague recently approached me and said, “It would be useful if Universities got involved in this CS for All effort. All Universities should offer courses aimed at everyone on campus. There should be a systematic effort to get everyone to take those classes.”
I agree, and have been making this argument for several years now. I spent a few minutes gathering the papers, blog posts, and book where I’ve made that argument over the last decade and a bit.
In 2002, Elliot Soloway and I argued in CACM that we needed a new way to engage students in intro programming: Teaching the Nintendo Generation to Program.
In 2003, I published the first paper on Media Computation: A media computation course for non-majors.
In 2004, Andrea Forte led the team studying the Media Computation class at GT:Computers for communication, not calculation: Media as a motivation and context for learning and A CS1 course designed to address interests of women.
In 2005, Andrea Forte and I presented empirical evidence about the courses we’d designed for specific audiences: Motivation and nonmajors in computer science: identifying discrete audiences for introductory courses. I published a paper in CACM about how the courses came to be at Georgia Tech: Teaching computing to everyone.
In 2008, I offered the historical argument for teaching everyone to program: Paving the Way for Computational Thinking.
We’ve published several papers about our design process: Imagineering inauthentic legitimate peripheral participation: an instructional design approach for motivating computing education and Design process for a non-majors computing course.
My 2013 ICER paper was a review of a decade’s worth of research on Media Computation: Exploring hypotheses about media computation
My keynote at VL/HCC 2015 was on how computing for all is a requirement for modern society: Requirements for a computing-literate society
My 2015 book is, to a great extent: an exploration of how to achieve CS for All: Learner-Centered Design of Computing Education: Research on Computing for Everyone.
In blog posts, it’s been a frequent topic of conversation:
- In 2011, I argued that it makes more sense to require CS at universities before pushing into K-12, because then all pre-service teachers have some CS which makes later PD much easier and cheaper: https://computinged.wordpress.com/2015/11/30/require-cs-at-universities-before-k-12-computational-community-for-everyone/ and https://computinged.wordpress.com/2011/05/17/if-you-want-cs-in-high-school-require-cs-in-college/
- In 2013, I pointed out that CS is becoming increasingly valuable outside of CS: https://computinged.wordpress.com/2013/12/10/why-are-english-and-lots-of-other-majors-studying-computer-science/
- One of my earlier Blog@CACM posts was on how students learn things in MediaComp that informs them about their world, not just about CS: http://cacm.acm.org/blogs/blog-cacm/26343-media-computation-for-creativity-and-surprises/fulltext
- On how CS is a value-added to a liberal education: http://cacm.acm.org/blogs/blog-cacm/101738-computer-science-as-value-added-to-a-liberal-education/fulltext
I don’t know how to convince University CS departments to do just about anything, but here are my contributions to the dialogs that I hope are happening at Colleges and Universities worldwide about how to prepare students to engage in computational literacy.