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

September, 2011

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Readability in Programming Languages

    • 37 Comments

    I saw a side by side comparison of a bunch of scripting languages online recently. Scripting Languages: PHP, Perl, Python, Ruby My first, and second reaction was yuck! Now I have my biases – biases which may  not be shared by others of course. But I like readable code and for me anytime I see a special character (anything not an alphanumeric) it slows me down. This got me thinking about where we are going in design of programming languages? Are we moving forward (what ever that means) or backwards or just sideways?

    Back when I started programming close to 40 years ago the big three programming languages were FORTRAN and COBOL with an up an coming language called BASIC. FORTRAN (short for FORmula TRANSlation) was used by mathematicians (my math major brother had to learn it) and scientists. COBOL (the B stands for Business) was used for business applications. BASIC was a teaching/Learning language that was spreading into business. COBOL was both loved and hated by different people for its wordiness. But it was at least understandable. Take the loop below:

    PERFORM VARYING WS-BOTTLE-NUM FROM 98 BY -1
                   UNTIL WS-BOTTLE-NUM < 2
    END-PERFORM

    Pretty close to an English sentence. Compare that to this sample for a C-style language (C#)

    for (WSBOTTLENUM = 98; WSBOTTLENUM >= 2; WSBOTTLENUM--)
    {
    }

    Which one is more obvious? Pretend you are not an experienced programmer.

    BASIC (Visual Basic in this case) is somewhere in the middle.

    For WSBOTTLENUM = 98 To 1 Step -1
     
    Next

    The step – the counting down – is more easily understandable for me at least. Now let’s take a look at something very simple. k = i / 10;

    This drives beginners crazy. What’s going on here? Sure we programmers know but a lot of beginners struggle with which direction the operation is going. Compare that to the same code in COBOL

    divide i by 10 giving k

    Wordy? Sure, but at least even a beginner can read it. Now I am not arguing that we should all go back to COBOL though honestly with modern IDEs and features like Intellisence it would be a lot easier than it was back when I was typing out punch cards. Rather I am suggesting that beginner languages can and probably should be more wordy rather than more obscure – that English is easier to pick up than “what does # in this programming language mean?”

    Just for fun, if you want to see what different programming languages really look like visit the 99 Bottles of Beer site.

    This Website holds a collection of the Song 99 Bottles of Beer programmed in different programming languages. Actually the song is represented in 1434 different programming languages and variations.

    Somewhat related posts:


  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    ScriptTD: Tower Defense Game Creation Made Easy

    • 1 Comments

    Coding a game from scratch is hard. Make no mistake about there is a lot to it. OF course many people, especially students, think they are all ready to create the next great game. They can easily be frustrated when they find out that they don’t know near enough about programming (among other things) to make what they want. Fortunately there are shortcuts. One of them is Script TD:

    ScriptTDCaptureScriptTD is an open source project that allows anyone to easily create a new Tower Defense game for the Windows Phone 7 platform, without any prior programming knowledge. The project lets you create new art & audio and edit some XML files to bring it all together into a polished game without having to write all of the code required to make the game work.

     

    You can visit the Script TD home page and get started right from there. You can also visit the ScriptTD: Tower Defense Made Easy article on Coding4Fun and learn how to modify the code to really expand the game as well.

    I see a couple of possible educational uses for this. One is in a graphics oriented course. There are some talented artists out there who want to create cool new graphics for games but who are not really that interested in coding themselves. Often if they can’t find a programmer or two to work with they are out of luck. Well they can create concept art which is great as far as it goes but lacks the excitement of seeing the art in action. ScriptTD can serve as a platform for that sort of creative expression.

    The second use is for programmers. This project allows one to learn the inner workings of a real game at the same time they expand their knowledge of the sorts of code that game development requires. Once they understand this they can move beyond the “out of the box” code  and enhance the game in their own image. Hopefully they can find some talented artists to help. Programmers who are great artists seem to be as rare as artists who are great coders. Not that they both don’t exist just that they are less common than some programming students seem to think. Smile

    Try this out. Let me know if you or students you know create something very interesting with this framework. And perhaps they’ll even enter something in the Imagine Cup!

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Your Chance to Learn Windows Phone Development for Free

    • 1 Comments

    WindowsPhonePeople1stMicrosoft is offering a number of FREE Phone Camps around the US. These are fun and interesting workshops – hands on – to help people learn about developing Windows Phone applications. If you are an instructor who wants to add mobile development into your courses, a student who wants to create apps and make money, or a professional or hobbyist developer looking to expand you efforts into mobile development this is an opportunity to do so. There is a long list of locations and dates with hot links to the registration pages.

    What's a Windows Phone Camp?

    WPDevEvent
    A free, full day event chock-full of everything you need to know to develop a Windows Phone application. Whether you're a seasoned veteran or just getting started with .NET development this full-day event is for you. Interested in profit? We'll also lead discussions on how to monetize your applications and generate profits with your apps.

    Don't miss the new Windows Phone 7.5 (codename "Mango") features as well - with detailed sessions in the afternoon around Fast Application Switching, Multitasking, Live Tiles, Push Notifications, and more.

    The day will be capped with an
    open lab hands-on session
    and prizes for apps completed. This is the perfect opportunity to begin work on your dream application, or finish that app you've already started, with Windows Phone experts there to guide you every step of the way. Bring your own laptop to join in the fun and show off your killer app!

    Don't miss a chance to win your very own Windows Phone (ARV $500) – plus many other cool prizes. No purchase necessary, but you must be present to win.

    Agenda

    9:00 AM

     

     

    Welcome Campers

    9:15 AM

     

     

    How to make money with your Windows Phone app

    10:00 AM

     

     

    Frameworks for fun and profit > Silverlight and XNA

       

     

    Canteen > Install Fest

    1:00 PM

     

     

    Hands-on lab

    3:00 PM

     

     

    Cool stuff your app can do

    4:00 PM

     

     

    To the Cloud

    4:45 PM

     

     

    Be What's Next > Peoples Choice Awards

    Prerequisites
    Bring a notebook computer and identification. Also check out the APP HUB where you can get developer tools, learn about application features, understand common task for Apps and register and load your APP.

    Notes:
    These events are brought to you by Microsoft and are free of charge. However, you are responsible for booking and paying for your own travel and accommodations.

    Event Title

    Venue City

    Date

    Windows Phone Camp

    Charlotte, NC

    9/20/2011

    Windows Phone Camp

    Atlanta, GA

    9/22/2011

    Windows Phone Camp

    Malvern, PA

    9/27/2011

    Windows Phone Camp

    Reston, VA

    9/29/2011

    Windows Phone Camp

    Chevy Chase, MD

    10/18/2011

    Windows Phone Camp

    New York, NY

    10/19/2011

    Windows Phone Camp

    Tampa, FL

    10/25/2011

    Windows Phone Camp

    Burlington, VT

    10/27/2011

    Windows Phone Camp

    Raleigh, NC

    11/2/2011

    Windows Phone Camp

    Ft. Lauderdale, FL

    11/4/2011

    Windows Phone Camp

    Orlando, FL

    11/8/2011

    Windows Phone Camp

    New Paltz, NY

    11/10/2011

    Windows Phone Camp

    Coral Gables, FL

    11/10/2011

    Windows Phone Camp

    Blacksburg, VA

    11/15/2011

    Windows Phone Camp

    Washington, DC

    11/17/2011

    Windows Phone Camp

    Pittsburgh, PA

    11/29/2011

    Windows Phone Camp

    Atlanta, GA

    11/29/2011

    Windows Phone Camp

    Long Island, NY

    12/1/2011

    Windows Phone Anchor Event

    Cambridge, MA

    10/12/2011

    Windows Phone Anchor Event

    Cambridge,MA

    10/13/2011



Page 1 of 6 (17 items) 12345»