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

December, 2010

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Merry Christmas and a Happy New Year

    • 2 Comments

    An old-fashioned ASCII Art image to wish you all a merry Christmas and a happy New Year!

    image

    Maligayang Pasko at Manigong Bagong Taon

    Boas Festas e Feliz Ano Novo

    Pozdrevlyayu s prazdnikom Rozhdestva i s Novim Godom

    Joyeux Noël et Bonne Année!

    Froehliche Weihnachten und ein glückliches Neues Jahr!

    Kellemes Karacsonyiunnepeket & Boldog Új Évet

    Selamat Hari Natal

    Linksmu Kaledu ir laimingu Nauju metu

    Kung His Hsin Nien bing Chu Shen Tan

    聖誕節和新年快樂

    Chuc Mung Giang Sinh - Chuc Mung Tan Nien

    圣诞节快乐,预祝新年快乐

    Vesele Vianoce a stastny Novy rok

    Selamat Hari Natal dan Tahun Baru

    Feliz Navidad y Próspero Año Nuevo

    God Jul og Godt Nyttår

    If I missed anyone's language or got it wrong I apologize. I hope you all have a great day on December 25th whether or not you celebrate the birth of Christ in your own tradition or religion. And my strong wishes that you will all have a happy, healthy and prosperous New Year!

    BTW I tossed that graphic together very quickly using Small Basic, a fun little language and IDE that is ideal for beginning programming. It also does much more fancy graphics. See the Small Basic tag for more ideas and information.



  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Do We Need A New Teaching Programming Language

    • 11 Comments

    I saw some discussions lately about the need or lack of need for new programming languages. In once case especially for teaching programming. In general I think that new programming languages are a good idea. From time to time it is good to start fresh and incorporate the latest ideas in a language that was designed from the ground up. C# is one example. Java is as well. Although personally I think C# is better having been able to learn from the mistakes made in Java. F# is still another example. But none of these were designed for teaching programming. The last big success in that area was PASCAL.

    PASCAL was widely adopted for education and in fact was the first programming language of the APCS exams. It fell out of favor largely because object oriented programming became the standard programming paradigm in education. Before PASCAL we had BASIC which was designed as a language for beginners to use to learn programming. BASIC had its critics but there were sure a lot of people whose first learning about programming came from the BASIC that came with  their personal computer.

    Today first programming languages are all over the map. There is Kodu for the very young. Alice and Scratch for middle school (and up) and at the high school level we see Java (largely because of the AP exam), Visual Basic (and other versions of BASIC such as Small Basic), C++ (yes still and seeing a resurgence of sorts), C# (especially with the ability to create games with XNA) and Objective C (for some robotics and iPhone applications). Python seems to be picking up steam of late. And yes, in some areas, Scheme, which is a functional language, is being used. DrScheme is in fact designed for teaching as are Alice, Small Basic, and Scratch. So it is not as if languages designed for teaching don’t exist. But are they the right ones? That’s a question to start a debate.

    Speaking of debates, just about any time someone asks about what the first language for teaching should be someone will suggest Assembly language. Now that works for some people. Bill Gates started with Assembly language for example. Worked for him. I’m not so sure it works for everyone or even for more than a few people. Eventually people are better off if they learn it but it is not a great first language.

    SO what should a teaching language be like? I would suggest that a simple syntax with limited keywords would be a good start. Should it be an object oriented language that lets users create objects? I’m not so sure we need that right away. Use objects – Yes! Create objects? I’m on the fence. The objects first crowd would howl about that but I am not convinced that we need objects first. See mark Guzdial’s There is no “First” in CS1 What I want in a first teaching language is simplicity and creating classes is all too often not simple enough.

    Strong typing or weak? Early or late binding? Does it really matter? Think simple. And always remember that you can’t teach all of programming let alone all of computer science in the first course.

    I really like the graphical programming in Alice and Scratch. My biggest issue with them both is that dealing with variables is not easy enough. It’s not hard but it is also not obvious enough. Also input is too limited for my way of thinking. On the other hand Small Basic has much of what I like but has more syntax to mess with people. Syntax aside Small Basic has one other thing going for it that I really like – the graduate button. Small Basic has a simple and smooth transition path to Visual Basic which is a full featured Object Oriented language with professional strength IDE and everything. Alice looks like it will have a path to Java but it is still “coming” and when you get there it is still Java. I’d be happier it if took one to VB or C#. Either way a good teaching language should have a smooth path up the latter to professional tools.

    Do we need a new language? Some are saying that Python is it. I’m not so sure.It may already be too complicated. Small Basic, in my opinion, is great in that it allows us to start younger and has a path upwards. Something with the drag and drop style of Scratch and the Windows Forms features of Visual Basic and C# would be really cool. Especially if there were a “graduate button” to a next level language. What do you think?



  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Microsoft bliink…a web design competition for high school students

    • 0 Comments

    I’ve talked about Bliink in the past. (See bliink) Over the last couple of years Microsoft has run this web development competition in schools across the county. It’s been limited to individual states, state-wide organizations, or large school districts so far. This year we are going wider – national (US) in scope. My friend Gautam is running the program and blogged about it at his web site - Microsoft bliink…a web design competition for high school students

    The goal of the Microsoft bliink contest is to build the student interest in technology and increasing the STEM pursuits in education and careers in the US. high school students with a positive experience with being creative with technology are more likely to pursue STEM studies and careers.  We make this possible by providing high school students with the software tools, training and experiences through the Microsoft bliink contest.

    Microsoft bliink contest 2011 will launch January 5th, 2011, with the registration window being open until February 28th, 2011. Website submissions (using Expression Studio software) are due March 1st, 2011 for fabulous prizes of XBox360 consoles, the new Kinect and XBox360 games. Any US high school student between 13 and 19 years of age is eligible to register and submit their websites to the  Microsoft bliink 2011 contest, participating in teams of 2 – 4 students.

    So visit Gautam’s blog for the full scoop and if you know students who are ready to show off what they know tell them to keep an eye out for the official January 5th 2011 launch.

    Note: That I am on vacation this week so this post was prepared in advance for appearance now. To subscribe to this blog please use http://feeds.feedburner.com/ComputerScienceTeacher as the RSS feed source. Thanks.



Page 3 of 7 (19 items) 12345»