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

September, 2010

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    How I Wound Up in Computer Science


    The Computer Science Women blog ( and on Twitter @Compsciwoman) has been running a series of posts by women  detailing how they found themselves in computer science. The posts have been interesting and I think many people, especially young women, will enjoy reading them. There are clearly many paths into computer science with some being more intentional than other. My own introduction to computer science was quite unintentional. One might almost say accidental.

    First off you have to understand that when I was in high school and college it was a different time. My high school was exceptional (in the late 1960s) as there was a computer. Yes A computer. They told us that if we got a good grade in calculus as a junior we could take a computer course in our senior year. Math was not my strong suit and so other than that tour my freshmen year I never saw that computer again. Then I entered college and was looking at my general education requirements – the courses that everyone has to take to get a liberal education. I needed to take two courses from a list of math, science and computer science courses.

    The first was easy. I took biology as I had taken that in high school and done well. I didn’t really want to take a math course though. As I said I was not overly fond of math. So I signed up for the computer course. I forget what it was actually called but it turned out the be an introduction to programming using the FORTRAN language. FORTRAN was one of the two most widely used languages of the day in the early 1970s.

    I started off rocky. A friend of mine all but wrote the first program for me. The second we did pretty much half and half. The third one, as I recall, I mostly wrote for both of us. Even if I remember that one wrong (possible) after the third programming assignment I was hooked. This programming stuff was fun! Students at this small university (Taylor University which has in my opinion one of the best small school CS programs around ) gave students a lot of free access to the computer center – after 5PM – and all the punch cards we could use. I took on project after project and could not wait until the next computer science course. I did take just about all they courses they offered. I was also able to get a job as a lab assistant which meant helping other students learn how to do their projects. That was a great experience as well.

    The environment in the computer lab was great for me. We actually had a good number of women in the program but most of them had a life outside of the computer lab. I think they were smart that way. Several of them went on to careers every bit as successful by any definition as any of the men in the program did. That’s something to learn from as well.

    Today most students have access to computers. Through programs like DreamSpark students (direct link to the High School version of DreamSpark) have access to all sorts of free development tools as well. No more punch cards but compilers and libraries and online learning resources galore.  Even without formal course, though I really do like taking formal courses, students have resources to go beyond that is taught in class. And programs like the Imagine Cup give them a chance to create projects that not only get attention but show potential to literally change the work they live it. It’s pretty cool really.

    For myself, almost 35 years after graduation, I am more excited about the computer science field than ever before. The best is yet to come. Are you in?

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Visualizations and Sorting


    I love visualizations. One of my all time favorites are the programs that show how different sorting algorithms work. I was reminded of this by a recent post by Stacey Armstrong (CS News – What do sorts sounds like? ) with a link to a sorting sample that used sound as well as images. You can access the “What different sorting algorithms sound like” imagine at this link. These visualizations are really quite helpful for understanding how these sorts work. In fact writing them is a great exercise for students. But I get asked the question “why bother teaching sorting algorithms when most programmers use library or framework sorts. It’s a fair question.

    If I want to sort an array named MyArray in a dot net language I will call the sort method of the Array object. That’s it. One call to a method with a parameter. It’s quick and easy for me as a programmer and the results are a very fast sort. In fact in every test I have done the framework sort method has been faster than any sorting algorithm I can write myself even when I use the best reference books I can find. Truth be told companies hire really brilliant mathematicians and computer scientists to create their library methods. Few can hope to do as well, let alone, better than these people. They bring outstanding brains and unparalleled training to the task. So why have students write sort algorithms?

    Several reasons. One is just to study algorithms in general. Looking at different methods of sorting lets you discuss efficiency (think Big-O) using a problem (sorting) that students already understand. Though they probably don’t understand it as well as they think they do.  It also helps to understand complexity of things that appear easy on the surface. Just try asking them how they sort things and watch them struggle to document the process. Along the way we get to explain related concepts such as searching (insertion sort), swapping of objects, loops and nested loops, and for several sorts – recursion! Quick sort is a much better example of recursion than Fibonacci sequence or Towers of Hanoi in my opinion. Students can more easily relate to sorting and that is one of the things that makes for a good exercise.

    So it is not so much about the particular problem (sorting) as it is learning the tools and related (or sub) concepts. And if you use visualizations it can even be fun. Are you using visualizations for sorts or other algorithms? What do they look like? Are they working for you in your classes? Please share what works for you.

    By the way, I do highly recommend Stacey Armstrong’s blog if you teach computer science. He’s been posting a lot of good stuff.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Interesting Links 6 September 2010


    Happy Labor Day! Well here in the US anyway. Technically a public/work holiday and I do plan to spend most of it relaxing. Unless my wife has other plans that is. I spent yesterday doing some early fall yard work for example. But it looks good so it was worth it. I have spent some time collecting some of the more interesting links and bits of information I saw over the last week though. You can follow me on Twitter (@AlfredTwo) and see a lot of this sort of  thing as I find it during the week. Also some conversation/chat with other interesting people about educational technology and other topics. Hope to see you on Twitter sometime.

    Starting with a couple of community outreach pieces of news. One is that Microsoft has become a major sponsor of National Day of GiveCamp (on Twitter @GiveCamp) Give Camp is a weekend event where volunteer tech people from various companies get together to build tech solutions for non profits. Think of it as a computer age barn raising. Previous events have already helps a good number of organizations.

    Also for nonprofits: Microsoft has launched its Elevate America grants program.

    […] the Elevate America community initiative, a new grant program that will support nonprofit organizations offering employment services, including technology skills training and job placement, in local communities across the United States. To support this initiative, we are committing $4 million in cash, $6 million in software and technology skills training curriculum over the next two years.

    ITA Software is helping with a Massachusetts based Aspirations in Computing Award for high school women. See the MACAA Facebook page and follow @ncwitMACAA for more information.

    Some interesting news on the Kodu front this week. The @koduteam announced that they have published an official Kodu language grammar. Very cool way to start understanding both what a language grammar looks like and what it specifically looks like for a graphical language like Kodu.

    Kodu is also now available in German.  Kodu in deutscher Sprache 

    Speaking of languages, there is now a Tutorial de Scratch en español / Scratch Tutorial (in Spanish). And apparently some are using Scratch to blend old and new by having students work with senior citizens.

    Speaking of MIT, Scratch and that article above both relate to MIT, a bunch of people tweeted a link to the MIT Guide to Hacking

    Sam Stokes writes about Adding shapes to your Windows Phone using some simple XAML and C# code.

    See how a student aced his advanced programming course and got a game released for Xbox using XNA and Creators Club BCIT student creates Xbox game.

    Most people use spreadsheets for real number, integers  but fractions? How to work with fractions in Excel.

    From XRDS (@XRDS_ACM) – the ACM magazine for students a comparison between Punch cards v. Java.

    Last week on Twitter @compsciwoman announced a new blog called CompSci Woman and a post titled a minor in CompSci makes you surprisingly employable! Now isn’t that the truth!

    Have you heard about the new Clorox grant program? You can win n up to $50,000 for your favorite school. You can play daily. Called Power a Bright Future. Some school is going to win.

    Last link for the day  Blue-sky thinking on Kinect and Xbox in education Some interesting thoughts from Anthony Salcito, Vice President, Worldwide Education, at Microsoft.

Page 5 of 6 (18 items) «23456