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

May, 2011

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Why Not C#


    Someone recently passed on same objection to using C# as a first or otherwise early programming language. I hear these sorts of comments all the time and while I have addressed some of  them in the past it seems like this is a good time to readdress them. These are my opinions of course. They are based on my own teaching experience as a high school computer science teacher. And your mileage may vary but these things I believe.

    C# is a proprietary MS clone of the Java language

    Two things in here. One is that C# is proprietary and the other is that it is a clone of Java. Neither of these is completely correct. The C# language borrows heavily from a number of languages including Java, C, C++, Visual Basic and Haskell just to name a few. In more recent years Java has borrowed heavily from C# as well. So while no language develops in a vacuum it is not far to call C# a “Java clone” even though they have many similarities. As for proprietary, C# is a standard language and C# compilers can be (and are being) created without any control or limitation from Microsoft or other vendor. The same can not be said for Java which, while it has a community model in theory, is largely controlled by Oracle who purchased Sun Microsystems. If there is a proprietary language in this mix Java fits the bill closer in my non-legal mind.

    OF course I don’t understand why being “proprietary” rules out using something in school anyway. From what I can tell they use copyrighted books, patented products, and all sorts of proprietary products every day in schools. With programs like MSDN AA for schools and DreamSpark for students getting software very inexpensively or even free for students is not an issue with C# either. There is also C# Express Edition which is a free and easy download.

    If students use Visual Studio, they'll spend all of their time placing buttons and not learning to program

    I’ve wrote about this before but it bares repeating. This is a teaching problem not a tool problem. On one hand you can, if you really want to, limit your students to command line programming. It’s just as easy and just as boring as programming in C, C++ or Java. So if boring is your goal please stay away from Visual Studio. On the other hand if you want students to enjoy the confidence and encouragement they might get from creating real graphical user interface programs that look “real” then maybe Visual Studio is for you. There are ways to keep students focused on the code that you want them to focus on as well. You can supply form templates for example. You can specify exactly what a user interface will look like as another option. OF course if you really want to have students spend more time on the user interface than on useful programs there are far better languages than C# (or Visual Basic) for that. Some languages have these really horrible APIs that you have to hand code every little piece and attribute of objects on a screen. Yuck!

    C/C++ give students a better foundation to learn other languages

    Assembly language is even better for this! But like C or C++ it is a hard way to start. If you are Bill Gates than by all means start with Assembly or even C/C++ but if you are anyone else you may want to think of something a little more easily approached for a first course. There will be time for C/C++ or even Assembly language down the road. I do believe though that this is also a teaching issue, a pedagogy issue, rather than a tool issue. It is a lot about how you teach the concepts that makes the knowledge transferable to new programming languages. And if the complexity of the syntax scares students off or just gets in the way of them progressing than you lose all of the theoretical value of the tool.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Most Read Posts–April 2011


    I thought it would be interesting to take a look at the top read blog posts from April 2011. I look at both web statistics and RSS statistics.In some ways I feel like the RSS statistics tell me the most about what is useful for my most regular readers. Although I know that several people who seldom if ever miss my posts (I love you all) read via web browsers many follow using RSS readers of some sort. The web hits come from search engines and in links. The search engine traffic is also very informative. It also lets me know that I am covering topics that people are interested in. Hopefully I am helping. The in links most often come when I get a little opinionated. OK I can live with that. Smile So for what ever it is worth here are the top 10 posts according to RSS statistics as provided by Feedburner.

    And then there are the posts the analytics tool says are the top posts as read by web browsers. Mostly a different list with a couple the same. If you only read via RSS (which is how I read most blogs) you may have skipped by one of these and find it worth taking a second look.

    • Interesting Projects-A Collection A post from March that continued to get a lot of web traffic this month. Search engines or links? I’m not sure but I do think it is a useful post if you are looking for interesting and educational programming projects
    • Object Oriented Programming Is Dead – This is another post from March that was heavily linked to. The post it was suggested by seemed to get a lot of attention (much more than mine which is good) and a lot of others linked to this one of mine.
    • Microsoft Math 4.0 This post from January received a big boost because of a new in link and the fact that Math 4.0 is now available in a bunch more international languages. Your math people will love this one.
    • Books for Computer Science Students The first of a few posts that made both lists.
    • How Does Kinect Work This post from last November keeps getting a lot of search engine traffic. Hope they all are looking forward to the Kinect SDK (coming soon) as I am.
    • Be Careful What You Wish For An other post that made both lists.
    • Movies For Computer Science Students Yea! Three posts on both lists.
    • Programming Projects Using Arrays I guess a lot of people are searching for this sort of thing. I would have expected more in the fall during ramp up but if people are finding this post useful I’m happy.
    • Fizz Buzz A programming Question Yet another project post that continues to get traffic. All the great replies make it valuable in my opinion.
    • Credit Card Project Who knew there were that many people looking for information on parsing credit cards!

    What was useful (or useless) to you? What topics should I be looking to research and blog more about? How can I be helpful to you this month?

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Interesting Links 2 May 2011


    I had an interesting week last week. Took a couple of vacation days – one to go snowboarding with my son who is an elementary school assistant principal who had school vacation and an other to install kitchen cabinets (which I got a blog post out of Problem Solving For All Times) At the end of  the week I travelled to Arlington VA (just outside of DC) for meetings at the NSF (National Science Foundation) to take part in some discussions about first high school computer science courses. Wow! Did I learn a lot from the smart people who were there. I still managed to find, and usually Tweet about, some interesting links. And here are my top picks

    lu_web1-214x300On Wednesday, May 11th Microsoft New England will be hosting a special event with Xconomy focused on the Future of the Web and Search. Join us for an evening with Microsoft Online Services Division President Qi Lu as he sits down with Xconomy’s Boston Editor Greg Huang to field questions from you—the users and shapers of the future of the Web. Dr. Lu will provide his perspective on where the web is heading, how Microsoft is helping to shape it, and how search will be transformed. As president of Microsoft's Online Services Division (OSD), Dr. Qi Lu leads Microsoft’s online advertising efforts, across search (Bing), portal (MSN), mobile, and the broader advertising platforms and services. Please register here: This is a FREE event and is open to the public

    Andrew Parsons (@MrAndyPuppy) twittered a cool list of Imagine Cup Game Design entry videos Take a look to see what a competitive game looks like this year.

    Microsoft's April Tech Student(s) of the Month: Jake and Sam highlights a pair of students who are creating Windows Phone games and apps and making money at it. Seem like great people as well.

    Good read Mark Frydenberg of Bentley University (@checkmark) talks about Twitter in the classroom in the current BizEd  Some good ideas for any classroom.

    Why We Must Teach Girls to Program–A Women Developer Speaks –A great guest post on Lynn Langit’s blog (@llangit)

    Cheryl Arnett  (@c_arnett) who has attended previous Innovative Teacher Forums and will be attending again this year has a great article on the  Huffington Post: Celebrating Teachers -- The Microsoft Innovative Education Forum  If you would like to attend, the deadline (May 15 2011) is fast approaching for teachers to apply to Microsoft Partners in Learning US Innovative Education Forum.

    Edwin Guarin and I had related posts last week – his at Dreamspark and App Hub Registration process REVEALED! and mine at  DreamSpark, AppHub and Windows Phone Development. Interested in developing for Windows Phone? Visit here for everything you need to know.

    Meet Microsoft’s Next Generation of Innovators!.

    From creating an online platform through Azure that helps ease the devastation caused by floods in Australia, to using Windows Live to create a band, to helping develop the next generation of teachers in the Middle East, to charting the future of advertising across multiple screens, people are doing amazing things with Microsoft technology.

    Microsoft Next is an internal competition created to showcase how Microsoft people and technology are helping individuals and communities around the world and to offer the creators a chance to showcase their projects on a global scale.

    View their winning videos


Page 9 of 9 (27 items) «56789