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

November, 2009

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Interesting Links and Twitter Lists


    Short work week last week. Not a lot of great links showing up in my RSS reader or my email inbox. It seems like a lot of people took the week off completely. I needed a bit of a break and I’m sure many others did as well. I do have a couple of interesting links to share though. Two of them are among my Twitter lists. Twitter recently added a feature that lets one create public and private lists of people’s accounts on Twitter. I’ve created several of them. And several private ones (like family members for example). I’d like to talk about two of the public lists though.

    @alfredtwo/education – This is a pretty good sized list – well over 200 people. Who is on it? Technology coordinators, computer teachers of all sorts, English teachers, Librarians, middle school teachers, education consultants, professors of education and related subjects and more. Basically I look for people who are in education and technology in education. This is the list of people I follow to learn about the latest in educational Web 2.0 applications. I look to this list to learn about new ideas in teaching, classroom management, dealing with administrators and tech support people and much more. This is my attempt to keep my finger on the pulse of education as it is shared on the Internet. It’s a pretty interesting bunch of people. One might even say eclectic as well.

    @alfredtwo/cs-teachers – This is a pretty short list right now but I really hope it grows. This is the list I use to look at Tweets (Twitter messages) from people I know to be actual computer science teachers. People in the trenches as it were who are teaching programming, serious web development, AP CS and other computer science courses. There aren’t enough of them out there in my opinion but I don’t want to miss anything the ones I know about say. If you know of people who should be on that list please let me know.

    You can follow either of those lists or any of my others if you have a Twitter account. Or just follow me @AlfredTwo and see what I find interesting during the week.

    Now for some other links.

    Karen Lang had a very interesting post at the CSTA blog called Down and Dirty Programming which is a fascinating look into a course she created to prepare students for programming competitions. It is a look into different learning styles, classroom management, and how students learn. This article is well worth the read and I hope you’ll do so and leave some comments over there as well. Join the conversation!

    CACM (aka Communications of the ACM) had an interesting article about how schools are making computer science relevant by adding video game development to CS courses. Closely related is a CACM blog post by called Games in Schools--Sugar-coated Learning? The latter is about educational computer games. Frankly I see a close tie between the two topics because I see a lot of interest in having CS students create games that are educational for other students. And perhaps as a way to  teach computer science. See Kodu for example.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Creating Games with XNA® Game Studio and C#


    New High School Computer Science Course

    Creating Games with XNA® Game Studio and C#


    Fall 2009

    Recruit students to your schools’ computer science classes by adding a new game development course!

    Students will develop computer science knowledge and skills by learning how to program in C# using the Microsoft® XNA Game framework and Visual Studio® platform to create games.

    XNAGame Studio 3.0 enables hobbyists, academics, and independent developers to create video games for Microsoft Windows®, the Microsoft Zune® digital media player, and Xbox 360.®

    Visual Studio is a professional development environment that has been taught in HS CS classes for years.

    Although students learn how to create games, this curriculum unit is “serious” computer science. It covers most of the fundamental concepts that high school students need to know in order to succeed in introductory college-level computer science courses. The topics that are explored in this course are applicable to the wider scheme of computer science and interactive media studies.

    Successful Teaching Scenario: Grade level: High School

    Length of study: one semester or more (This course can easily be extended into a year-long course by adding more advanced topics or longer, team-based projects.)

    Pre-requisites: Students need prior programming experience to succeed in this course.

    • Some experience working in a software development environment such as Visual Studio and languages such as Visual Basic, C# or Java.
    • Basic computer science or programming knowledge and experience including the use of variables, control structures, and object-oriented programming.

    Teacher preparation should include knowledge of object oriented languages and expertise in teaching computer science at the high school level. This course will be valuable as a second semester or year-long course in a computer science program or to replace the Advanced Placement Computer Science AB course.

    The free course materials include an e-textbook, timeline, suggested activities, presentations, project ideas and teaching notes. Educators participating in the pilot will receive a free, hard-copy XNA textbook.

    Educators will be thrilled with the depth and breadth of the teaching resources provided.”

    ~ Dr. S. E. Gunn, Ph. D., Professor of Learning & Technology

    The teacher who has been looking for a hook to keep students in computer science needn't look any further! Absolutely awesome materials … easy to follow, easy to teach, and easy to extend.”

    ~ Dave Jacobus, Retired Computer Science Teacher/Software Developer

    If you would like to sign up to pilot this course or would like additional information, please contact:

    Pat Phillips at: v-paphil (at)

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    But I Don’t Want to be a Programmer


    One of the things I hear pretty regularly is that not everyone needs (or wants) to be a programmer. Some people want or perhaps even need to do some programming or more generally programming like activities but they don’t want to be full time programmers or computer scientists. These people can be a lot more effective and productive if they at least learn the basics at a fairly good level. Mark Guzdial talks about some of this on a recent post called Talk on Meeting Everyone’s Needs for Computing

    The “bigger” problem is the number of people who program and who want to learn more computer science, but who do not want to become CS majors or learn to be software engineers.  A paper out of CMU predicts that we’ll have around 3 million software developers in the US in 2012, and about 13 million end-user programmers.

    Another term that comes into use is non-professional programmers. In other words these are people who program but do not do it as their career/full-time profession. Non-professional programmers is actually a super set that includes end-user programmers and people who programmer recreationally or hobbyists. Yes there are people who write code for fun. Lots and lots of them.

    Thirty five years ago when I was first learning to program the idea of a software hobbyist was a pretty strange idea. They did exist of course but you had to have some real money (unlike Bill Gates I could not afford to buy an Altair computer to play with) and some serious interest. learning to program was pretty difficult. It was mostly assembly language on computers that hobbyists could get access to. The idea of end-user programmers was even more of a strange concept. Computers were kept in locked rooms with access tightly controlled and limited to highly trained professionals. All that has changed now.

    Computer science and programming have now become a life skill. It is something “regular people” can use in their daily jobs, for fun, and as a mental exercise. Computers are inexpensive and most people have access to them. Development software is cheap (often free) and easy to acquire. (See Microsoft Visual Studio Express Editions for example) In daily work life people have access to programming to modify their existing tools (see creating macros for Excel for example) Just last night I talked to a high school student who told me he was habitually creating macros for Excel to solve tasks. I suspect that he will have a huge advantage as a knowledge worker totally apart from any programming type jobs.

    I think that schools should be making sure that students have the option to learn and use these sorts of tools. Teaching computer science is not just about turning out computer programmers any more. Today teaching computer science is about supplying students with the tools to succeed in just about any field they go into. And as a plus some of them may find a lifelong hobby. You don’t have to be a fantastic physical specimen to create a great computer game. of course this mean we have to teach the subject well and in ways that interest students – that make them relevant to them. Media computation seems like a great example. game development? Sure. Robots? Sure. And yeah we can do the math thing for the math geeks. :-) But at the very least we need to expose everyone to this field. Let them try it first before they decide it is not something they want to learn and use.

Page 1 of 5 (14 items) 12345