Keeping the Machinery in Computing Education: Back to the Future in the Definition of CS

November 20, 2017 at 7:00 am 3 comments

I’ve been excited to see this paper finally come out in CACM. Richard Connor, Quintin Cutts, and Judy Robertson are leaders in the Scotland CAS effort. Their new curriculum re-emphasizes the “computer” in computer science and computational thinking. I have bold-faced my favorite sentence in the quote below. I like how this emphasis reflects the original definition of computer science: “Computer science is the study of computers and all the phenomena surrounding them.”

We do not think there can be “computer science” without a computer. Some efforts at deep thinking about computing education seem to sidestep the fact that there is technology at the core of this subject, and an important technology at that. Computer science practitioners are concerned with making and using these powerful, general-purpose engines. To achieve this, computational thinking is essential, however, so is a deep understanding of machines and languages, and how these are used to create artifacts. In our opinion, efforts to make computer science entirely about “computational thinking” in the absence of “computers” are mistaken.

As academics, we were invited to help develop a new curriculum for computer science in Scottish schools covering ages 3–15. We proposed a single coherent discipline of computer science running from this early start through to tertiary education and beyond, similar to disciplines such as mathematics. Pupils take time to develop deep principles in those disciplines, and with appropriate support the majority of pupils make good progress. From our background in CS education research, we saw an opportunity for all children to learn valuable foundations in computing as well, no matter how far they progressed ultimately.

Source: Keeping the Machinery in Computing Education | November 2017 | Communications of the ACM

Entry filed under: Uncategorized. Tags: , , , .

Parsons Problems have same Learning Gains as Writing or Fixing code, in less time: Koli Calling 2017 Preview Universities aren’t preparing enough computer science teachers, and we have no path to get there

3 Comments Add your own

  • 1. rademi  |  November 20, 2017 at 7:36 am

    This seems like a valid (and cogent) observation.

    I know that – at times – a practical background in electronics (as well as in digital circuits) has greatly motivated my intuition about how things work.

    Of course, there’s always the issue that once you have mastered a topic it seems really simple. So it’s difficult for me to think about how much any of this might have mattered in any specific context. Still, I know I have also been frustrated in trying to come to agreement in technical conversations with otherwise skilled programmers who do not share a similar background. (And, of course, perhaps I have been similarly frustrating in conversations with people where I have lacked sufficient background.)

    A related issue, I think, is that the usefulness of computers comes not from the code itself, but how that code ties into outside resources. The internet is one obvious example of this principle, and self driving cars might be another.

    Designing and building such things, and then sticking with it while identifying and resolving problems, is not easy, and takes time. But that’s a part of why these efforts can be so valuable to others.

    Anyways, I think you’re onto something important here.

  • 2. gflint  |  November 21, 2017 at 11:21 am

    Their definition would seem to minimize coding. Good. I just finished attending a weekend professional development about a Python curriculum being promoted in Montana, the Joy and Beauty of Computing ( A couple of schools are using it and like it. One of the teachers was promoting the idea that there is no Python setup required if the students use, an online Python environment. My problem is that students should learn the install and deal with the issues of installing software as part of a good CS curriculum. CS is not coding. CS is includes all the stuff surrounding computers; hardware, software, coding, IT and so on. Too many teachers, especially at the high school level, want to focus on coding exclusively.

  • 3. gflint  |  November 21, 2017 at 11:36 am

    Opps. Wrong link. Here is the JBC link.
    The one I gave is his new JBD course. Something I have to look at.


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 )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 9,042 other followers


Recent Posts

Blog Stats

  • 2,021,230 hits
November 2017

CS Teaching Tips

%d bloggers like this: