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

April, 2012

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Women In Computer Science–What Happened?


    Years ago, when I was a student at Taylor University (in what is now the Taylor Computer Science and Engineering department)  there were more women in computer science than there are today. The women did as well as the men under what I would call some challenges. Specifically they had a curfew (this was a long time ago) and the men didn’t. Many of the male students would stay up until all hours of the day and night working on projects while the women left the computer center at what would be generally considered a reasonable hour. And yet the women always had their projects in on time. Somehow that never registered with me back in the day. I was sort of oblivious to the fact that the women got more done in less time than most of the guys. Weird now that I think about it. We certainly didn’t have lower expectations for our female classmates. In fact the opposite is true.

    I remember a field trip we took to a big computer conference in Chicago. Many of the exhibits had hired what we call today “booth babes” to decorate the booths and attract visitors. I’ll never forget the confused look on a male classmates face when he explained “the women at the booths don’t know anything. They are just there for decoration!” We, naive young people from a small college with a good percentage of women in CS, honestly expected women to know as much about computers as we did. And why not! We had female classmates who knew as much as we did. Most of us had been impressed with Grace Hopper who had come to campus to speak to the students and who several of us had had lunch with one day.  She was amazing and seemed to know more than we ever could know.

    My first few jobs after graduation also saw me working with many women. The small software house I worded for in my first job had more women programmers than men. Tough smart women who worked hard, worked smart and had actual lives besides. Husbands, kids, the whole bit. Seemed pretty normal to me. It was years before I worked for a male boss. My wife also worked as a programmer in those days BTW. Her programs had this annoying habit of working the first time she ran them. It was enough to give me a complex.

    Somewhere along the road things changed and women started becoming the minority in the field. I don’t know where it started or how. I know that if it was a deliberate effort on the part of men I missed the meeting. But happen it did. From a time before my time when software was considered “women’s work” until now when the view of too many is that it is just for men things changed. Not in a good way either. Now we are playing catch up trying to restore some semblance of balance.

    This is a problem that many in academia and industry do recognize. Recently the New York Times had an article about Maria Klawe, president of Harvey Mudd College and an outstanding computer scientist in her own right, and her efforts to improve the ratio of women to men in her college. A number of universities are similarly trying to increase the number of women in their programs. A number of companies are likewise trying to fill the computer science pipeline with programs such as DigiGirlz (which I wrote about here at DigiGirlz Cambridge MA). But there are stereotypes out there that are hard to overcome these days.

    I firmly believe that we need more diversity in computer science. More women. More ethnic and racial minorities. More people who are not “pencil headed geeks with limited social skills.” BTW we don’t have as many of those as a lot of people think we do! We face a great many problems for which great software is part of the answer. But to really live up to that potential the field needs people of all types. Those of us already in the field really need to do our part to make the rest feel welcome. We need them more than they need us.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Plagiarism v. Learning


    The SIGCSE mailing list has been having a very active discussion of plagiarism in computer science classes of late. These discussions seem to recur with disappointing regularity. If not in the SIGCSE list they show up on the APCS mailing list. These discussions tend to follow some very predictable paths. They start with attempts at writing a bulletproof statement of acceptable use and reuse. Students are amazing “classroom lawyers” and find loopholes that a tax attorney would be amazed at. This leads invariably to a discussion of what is and is not plagiarism. Code sharing? A good think in the professional space. There are “how do you?” type sites that are widely used by developers at all levels to learn. So where is the line between learning from a code sample and “stealing” code? And where does open source fit into the discussion? It’s all so much more complicated than one would ever hope it would be. I’m not sure I am ready to jump into the discussion at that level. What I am really interested in where all this leads in terms of education. Here is where a comment by Jim Huggins from the Computer Science Department at Kettering University who wrote:

    A student who pursues good grades rather than a good education will ultimately receive neither.

    Some times these arrival of poor grades comes later than we’d like. One would like to see these poor grades come early enough in a student’s educational career to serve as a wakeup call. Some students are just outstanding at gaming the system and so realize too late that they haven’t really learned enough of a real education. This is their loss mostly but it is also a loss for society. Imagine if that talent was trained with real education? Alas, too many students get through with a transcript that doesn’t reflect the reality of what they know. Or don’t know.

    What is the responsibility of the educator here? I remember when I was a high school student my teachers and guidance counselors told me that university professors would not care if I failed or succeeded. It would be up to me. I didn’t find that to be true where I went to university though. I found faculty would who go far out of there way to help me succeed. Of course they expected me to do may part. They expected me to work and to do my own work. They’d help me as long as I would work with them and not expect them to carry me. I learned a lot from them. Arguably students who plagiarize or otherwise take short cuts are not doing their part.

    It is tempting to ignore the plagiarism and wait for the inevitable failure to wake the student up. There are problems with this attitude though. One is that with our over emphasis on grades too many students are likely to see others getting away with cheating and decide that they need to do the same to “keep up.” This is unfair to otherwise good honest students. Arguably it is also a failure on the part of educators to do a complete job of education. So where do we go?

    Ethics also comes up in the plagiarism discussion as you might expect. This seems to be increasing in importance for teachers of all subjects but especially for computer science educators. Not just because of plagiarism but the many societal issues that computer science is developing as unintended consequences. Ultimately perhaps the answer to plagiarism is not a bulletproof set of rules but an honest discussion of the purpose of projects, tests and other evaluative tools. If students were able to buy off on the importance of learning over grades and understand that evaluations are tools to help them as much if not more than to show up on their transcripts maybe the drive to cheat would diminish? Can we restore the idea of educators and students are partners in learning rather than opponents fighting about grades? Seems like something we should be trying.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Better Learning Through Movement


    And fun as well. Recently a co-worker sent me a link to some videos that were done by the Houston Independent School District about the pilot program they are running in several elementary schools. These schools are using video games involving the Kinect Sensor to help teach. And not just physical education which is sort of the default image people have for Kinect-based games but things like math as well. (video and article in English - video and article in Spanish) While test scores are not everything they are important and the early results indicate that student scores are climbing in these classrooms.

    Last year I heard a talk Dr. John Medina (Brain Rules) at the Microsoft US Education Forum who talked about what we know from brain science about learning. He strongly believes that physical activity helps students learn. He believes that we are more or less wired to learn while moving and that too much sitting hurts student learning in the long run. It makes sense to me what with more blood flowing and everything. I’ve also seen that students with ADD and ADHD have to spend so much energy just sitting still that I wonder how they learn anything at all. My understanding is that in Japan students have more exercise breaks than American schools do. I suspect that extra activity also has a positive effect on students.

    Others are developing an interest in Kinect projects for teaching as well. One of the teams in the US Finals of the Imagine Cup, KinectMath from University of Washington, Bothell Campus, has a project for math instruction. “The tool utilizes Microsoft Kinect to provide a new interactive way to teach abstract math concepts and visualize them in real-time.” I’m looking forward to meeting them and learning more about their project this weekend. You can also see their project video on their team page available from the People’s Choice page on Facebook.

    Active learning seems to be something well worth investigating more.For now we have teachers using games that were designed just for fun in new ways. Educational games, that one hopes are still fun, are being developed as well as people become more open to the idea of games for learning.

    Perhaps students can take their own creativity and create their own active learning activities using the Kinect. Maybe that is even something to include in the curriculum of computer science classes. We have some things to help (really you saw that coming didn’t you?)  And maybe we’ll see a team of your students competing in next year’s Imagine Cup.

    Also  more information about Kinect in Education at

    Game Development with XNA Game Studio

    XNA game development appeals to high school students on many levels; it encourages creativity, employs the latest tools, delivers fun, and it provides the means for students to express their personal values and the power to make a difference. The XNA 5-week JumpStart, Game Development with XNA: Semester 1, and the soon-to-be-ready, Game Development with XNA and Microsoft Technologies (Advanced XNA, Window Phone, and Kinect) curriculum are designed to inspire students to learn advanced programming skills, design exciting games and create simulations that will help solve the world’s toughest problems such as those presented in the Microsoft Imagine Cup®. Students will develop projects with C# and XNA for Windows, Xbox® 360, Windows Phone, and Kinect.

    The content is organized into clustered, topic-centered lessons and modules. Students will build upon their foundational programming skills to design and implement games and simulations that utilize input and output, involve complex logic, and apply object oriented programming (OOP), advanced algorithms, and data structures. An SDK for Windows Phone® and Kinect® development enable even more advanced learning. Resources include lesson plans, projects, activities and video tutorials.

    Learn more about XNA Game Development and download the free curriculum resources at Faculty Connection.

    1. All the development tools that you need can be downloaded for free. The first thing you will need is the Windows Phone SDK. You can download it from here:
    You might think it strange to use the Windows Phone SDK, but this contains the latest version of XNA and can be used to create XNA programs for Xbox 360 and Windows PC as well as Windows Phone.

    2. You will also need to download the Kinect for Windows SDK which you can find here:
    This installs the USB drivers for the sensor components and the library file that contains the Kinect for Windows SDK.

Page 1 of 7 (21 items) 12345»