Rise in AP CS test-takers and grades in 2013 Coding Is Coming To Every Industry You Can Think Of, Time To Start Learning It Now

8 Comments Add your own

  • 1. Neil Brown  |  June 13, 2013 at 3:32 am

    Repurposing my thoughts on this piece from elsewhere: I feel partly that this article is saying “CS education is like education in general”. In all disciplines it is true that students often only reach shallow knowledge about what they are being taught, and lack the deep knowledge. This is true of History, of Mathematics, of Science and so on.

    It’s funny how the article is phrased as an argument for moving beyond “learning to code”, because you need algorithmic thinking and debugging and problem solving. I see this as an argument for achieving deep learning of how to code, rather than shallow. In my opinion, the way to gain algorithmic thinking is not to move beyond learning to code, it’s to continue learning to code.

    • 2. Baker  |  June 13, 2013 at 8:07 am

      I agree with Mr. Brown. You’re striking at the definition of what it means to learn ANYTHING. I was going to put it pithily/snootily: if you can’t solve problems with code, then you haven’t learned to code. That’s what I tell my students at least.

    • 3. joshg  |  June 13, 2013 at 9:54 am

      This was pretty much my thoughts as well. It’s pretty unsurprising. My goal in having middle school kids working in Scratch isn’t to produce a full class of competent programmers. It’s to get them exposed to the core concepts of programming so that they see programming as something they are able to learn.

      I’m pretty sure it will also pay off in the future by giving them a head start towards deep learning of programming, but I’m not making that an expectation for 12-year-olds. That just sounds like a setup for beating kids over the head with unreasonable expectations of high-level abstract thinking. And how exactly would *that* lead to more and more varied students learning to code well?

  • 4. gasstationwithoutpumps  |  June 13, 2013 at 12:04 pm

    I don’t see the huge divide between “programming” and “computing” that others see. Of course, the student programming that I see is all problem solving, not rote exercises. Students can fail at the programming in many different ways (poorly chosen data structures, poorly chosen program organization, poorly chosen algorithms, incorrect coding of algorithms, bad documentation, non-idiomatic use of the programming language, …). I see very high correlations between these different failure modes—I don’t have large enough samples to do factor analysis, but I suspect that I would see primarily one factor for programming skill, with a minor second factor for completeness of documentation. I doubt very much that I’d be able to associate one factor with “programming” and another with “computing”.

  • 5. Coding is hard? | Geeky Mom  |  June 13, 2013 at 1:57 pm

    […] Mark Guzdial writes about an article I, too, read recently suggesting that these learn to code sites aren’t doing the job.  It’s not enough for students to go through a tutorial; they still don’t have the real problem solving skills necessary to do “real” programming.  For example, they don’t really know what a loop is, or why you’d use it.  He backs up some of the claims in the article with older research that essential shows the same thing: learning to code requires a lot of practice and teacher (or peer) support.  In other words, students need a classroom and the culture that goes with it, in order to learn to code beyond just surface level remembering bits. […]

  • 6. hildawg  |  June 20, 2013 at 7:17 pm

    I am learning the basics of programming as an adult, and I find it really hard because the courses only really teach the code part. For me, I like to know how things work – and that means understanding how the computer and system work. Otherwise, I just cannot fathom how code – no matter how much I memorize how to write it – can make a computer do what you want it to!

    Thank you for this post!

    • 7. gasstationwithoutpumps  |  June 20, 2013 at 11:07 pm

      You may want to take a “bottom-up” approach, then, that starts with basic computer architecture, rather than with high-level computing concepts like “objects”. Look for programming courses taught by computer engineering departments rather than computer science departments if you need this approach. (They’ll tend to use assembly language and C, rather than Java or Python, as the language of instruction.)

  • […] reports I’ve read about kids learning to program (like Roy Pea’s reports from decades ago, to Yasmin Kafai’s reports on students working in Scratch) suggest that […]


Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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,038 other followers


Recent Posts

Blog Stats

  • 2,014,284 hits
June 2013

CS Teaching Tips

%d bloggers like this: