Computer Science Teacher
Computer Science Teacher - Thoughts and Information from Alfred Thompson

October, 2007

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    My Game Builder - An online tool for building simple games


    My Game Builder is a project being developed by David Golds in his spare time. He's either got a lot of spare time or (much more likely given his day job) a lot more smarts and energy than I have. Why? Because My Game Builder is really cool!

    My Game Builder lets a user create game tiles and characters and then program actions, re-actions and activities for them. This may not result in the most professional or polished games in the world but it does allow for a ton of creativity. And some of the sample games submitted by current users are really fun and a lot closer to professional in appearance then I could ever do.

    I think that a lot of kids (of all ages) would have fun with this and at the same time learn a lot about programming and game design. Good stuff!

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    The Five Essential Gaming Methods in XNA Game Studio


    The folks over at Channel 9 have posted a really good video on the five most important methods in XNA Game Development called -

    XNA Development Part 3: The Five Essential Gaming Methods

    Jennifer Marsman walks through the essential methods that you need to understand in order to develop a Windows or XBOX 360 game using the XNA Framework.

    Once you've seen it if you don't already have the XNA Game Studio Express (did I mention that it is free!) you can get it here. And while you are at it check out the Creators Club for still more XNA information.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    When the Second Programming Language is Harder to Learn


    Mark Guzdial had an interesting blog post recently titled "Why is assessing learning about computing so hard?" The post is mostly about the limited amount of research available on computer science education. That is a problem I've worried about more than once myself so I was glad to see him bring some attention to it. If you are interested in the "how to" of computer science education please go read the whole post. But what really peaked my interest was a comment that was not his main thrust.

    He said:

    Maybe that's why learning a second language is frequently harder than learning the first language (a phenomenon first described by, to the best of my knowledge, Ben Shneiderman in the 1980's).  Maybe you mostly just learn the language the first time. With the second language, you have two lenses on the topic of computing, and now you really are learning computer science.  You really can abstract away the language and start thinking about what the computer as a powerful and still abstract (though slightly more concrete) entity can do, how it works, and what its limitations are.  Maybe the reason that the second language is so hard is that that's really your first experience with computer science, and you are struggling with what a computer is.

    Wow! Just wow was my first reaction. "I wonder if this is relevant to what I am hearing about AP CS students?" was my second reaction.

    Now I found learning my second language to be much easier than the first. And I was self-taught in my second language.  My recollection (perhaps clouded by bias) is that most of my students found learning their second language easier as well. But he did say "frequently" not "always" or even "generally." I thought about this a bit all day. What he says makes a lot of sense in that what he describes - just teaching the language without teaching the underlying concepts - the science if you will - could very easily result in students who have a difficult time with the next language. This would especially be true if the next course was not a course whose goal was to teach the second language but to teach computer science concepts.

    There is always a problem with a first programming course in that it is a bootstrap process. You need to teach some programming to teach some computer science and you really need to understand the science to understand the programming. The easy way out is to just focus on learning the language as a mechanical or perhaps a formulaic tool. That way you get the programs written at least. What you don't get is a real understanding of the concepts.

    Frankly I have seen the same things in math courses and even other science courses where formulas or equations are taught and students just memorize what numbers go in to get what results without ever being exposed to why the formula does what it does. That may work in a survey course or a course for non-majors (though it is still a disservice I think) but it will clearly not be enough for a student in that major. And yet shortcuts are taken often because we are trying to cover too much in too short of a time.

    Now I'll go way out and suggest that this is part of the problem with the AP CS curriculum. There is way too much in the AP CS curriculum. Yes kids do pass the exam and one is tempted to assume that means they learned stuff. But are they a) retaining it and b) learning enough beyond the language of the exam to prepared them for future study. Anecdotal evidence suggest to me that often they are not. Boy, would I love to see some real research on the subject. (See I'm tying things back to Professor Guzdial's main point.)

    I frequently hear from college and university faculty that students who took and passed the AP CS exam do poorly in their classes. Of course I hear the opposite as well. Its a shame that I hear the poor reports at least as often as the good ones though. Part of the problem may be the teachers (oh someone is going to jump me for that comment) but I don't blame them so much as I blame the lack of good training in how to teach. Still I think more teachers could prepare more students more effectively if the curriculum was focused on fewer basic concepts and less on the amount of the language that has to be taught to cover everything that might be tested.

    What college/university faculty say should be on the exam and what they actually teach their own CS1/2 courses often doesn't match. And of course what one professor leaves out another may spend a lot of time on. So for the College Board and their talented and hard working development committee there is a lot of pressure to include it all. That is the politically correct solution but is it the right one for students? I think not.

    Are you an AP CS teacher? A reader (someone who grades the test)? Or even a member of the development committee past or present? Leave a comment and lets discuss this.

Page 6 of 8 (24 items) «45678