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

September, 2007

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Problets - Little Learning Problems


    Problets are little coding problems that are designed to be useful for learning by beginning programmers. Typically teachers use small examples and exercises to help students internalize concepts like arithmetic expressions. Students are asked to evaluate expressions, usually on paper, and write out the results.

    The problems with this are that it is very time consuming to create these exercises and even more time to evaluate, check and grade each student's work. The Problets site automates this whole process.

    Problets can be generated with different problems for different students. Teachers can sign up to use this site and get graded results for the students in their classes. IT looks like quite an interesting site.

    The Problets available at this site are available in C++. Java and C#. I wish they had some in Visual Basic as well. Still they are useful for people teaching the programming languages they are available for.


    Technorati tags: ,

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    What Do You Do the First Day of Class


    The first day of any class often sets the tone of the whole run of the course. That's the time when teachers get to introduce the students to what the course is really about. What are the expectations the teacher has for the students? What are the rules students are expected to follow? And most important what will the students be learning? And how will things be taught?

    Leigh Ann Sudol (I talked about her yesterday) has a post in the Computer Science Teachers Association blog last week where she talks about one of her favorite first day exercises. She has students write the directions for a paper airplane and then has them switch so that others try to follow those directions.

    That's one of my favorites as well and I've used it for years. It shows students just how complicated giving instructions can be. Leigh Ann asks for other first day suggestions on the CSTA Blog and I hope others drop some by in the comments or in their own blogs linking back to there.

    Which reminds me, a first day exercise that was used in a class I took a long time  ago used writing instructions for tying shoes. Writing directions for that task without using pictures can be quite a challenge.

    BTW I highly recommend the Computer Science Teachers Association to all teachers of computer science. If you teach computer science it is worth checking out.

    [Note: There are a number of interesting suggestions in the comments of the post at the CSTA Blog. ]

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    The Problem with Games in Computer Science Class


    Leigh Ann Sudol is one of those exciting and energetic teachers that make one ask "where were teachers like that when I was a student." She's awfully smart and has taught computer science both in high school and more recently at Carnegie Mellon University. I first met her while grading the AP CS exam a number of years ago. I was her "acorn" which means she was in charge of training me as a grader. What a ride that was - let me tell you!

    So when Leigh Ann challenges the rush toward using games and robots to teach computer science as short sighted and with only short term benefits it made me think. She says:

    I believe that the “programming to write games” approach in isolation is actually incorrect in its underlying premise that because students enjoy playing games, teaching them to program games will motivate them to deep learning in CS.

    I don't know that everyone rushing to use games in their computer science class has that for their underlying premise and I said so in a comment at her blog. I thought I might bring the discussion up over here as well, add a few more thoughts, and see what others think.

    My motivation for using games in high school computer science classes (and textbooks) was largely several fold.

    • Students understand the games which saves me time
    • Games are generally seen as more relevant than contrived examples
    • Testing games is more fun than testing other projects which makes students more likely to test their programs
    • Students can more easily share game projects with peers

    Take a game like tic tac toe which I often used as an early project for decision structures and arrays. Students all know how to play the game so they know when it works and when it doesn't. I don't have to explain why a particular result is wrong. I don't have to explain the rules in great detail. Setting the back story is easy.

    Since students understand the game and have played it all their lives they see it as relevant. Is it an important skill/concept that prepares them for life? Not hardly but I can wait for later to take them down that path.

    Students, because they know when the game is right, can test it easily. Not only that but they can get their friends to help. This adds a cool factor that I believe helps some students. When is the last time kids got together to have fun proof reading each others "perfect paragraph?" Ok there is a contrived counter example but you get the idea.

    Now I do agree with a lot of what Leigh Ann writes about "the reasons to learn and explore CS are larger in nature." Clearly there are a lot more great reasons to learn computer science than to create games or run robots around the room. And there are programs looking at exploring computer science in the context of other diciplians. Georgia Tech's "Media Computation" for example. Or the Connections program at Wheaton (MA) College that intigrates computer science with a number of different diciplanes including a genomics program that integrates biology and computer science.

    Each of those seems to attract students who are interested in "the other field" ie the one that isn't computer science to some extent. But at least there is some intrinsic motivation to learn the CS concepts. The fact is that there are a lot of areas that require computation and those of us who are trying to encourage students to enter the field probably need to use every tool at our disposal.

Page 8 of 8 (24 items) «45678