About this blog

The 1978 ACM Computing Curricula used the term “CS1” to refer to the introductory programming course in university Computer Science Education. Despite the significant changes in the computing landscape and Computing Education since, the name has stuck [1]. In more modern times, CS0 has come to mean a programming course that is some flavor of a “pre-CS1”, or a CS1 for non-majors, or prospective majors, with goals that include combating misconception, and helping students determine if majoring in computing is for them [2].

This blog is called CS0 because Computing Education needs more of the rethink that is already underway. Besides the fact that a significant focus of modern Computing Education is at pre-university, or “pre-CS1” levels, the community needs to continue to come up with ways to engage and encourage not just traditional students, but anyone and everyone who wants to learn more about the age we live in.

Most of the widely used definitions of Computer Science are a bit too narrow to sufficiently encompass the entire scope of topics this blog aims to address. See Neil Brown’s excellent discussion on this here. Some folks favor the term Computing over Computer Science, often because of the narrow scope. Regardless, there is often a science at work in computing, and how it is learned, and particularly in how we study and research how it is learned. I wish that Computing Science had a more accepted use, but perhaps it is just too close to Computer Science in look and feel, to catch on.

Back in 1978, educators were grappling with applying some uniformity to university CS education. I would hazard a guess that there was less of a unified effort to address pre-university computing education in those days. Although in many ways we are still struggling with university-level computing education concerns, more and more attention is now at pre-university levels. In fact, President Obama’s CS4all initiative, announced in January 2016, calls for $4 billion in funding for pre-university Computer Science (or Computing) education. Despite the name of this initiative using the term Computer Science, I would argue that Computing might be more on-target. Maybe “C4all” just doesn’t have the same ring to it.

[1] Matthew Hertz. 2010. What do “CS1” and “CS2” mean?: investigating differences in the early courses. In Proceedings of the 41st ACM technical symposium on Computer science education (SIGCSE ’10). ACM, New York, NY, USA, 199-203. DOI=http://dx.doi.org/10.1145/1734263.1734335

[2] Matt Brown, Chenyi Hu, Carl Burch, and Michael Nooner. 2010. CS0: why, what, and how?: panel discussion. J. Comput. Sci. Coll. 25, 5 (May 2010), 79-81.