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

June, 2011

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Interesting Links Post–6 July 2011


    Last week I celebrated eight years at Microsoft. I still miss the students which makes the guest talks I do in schools particularly valuable to me. Interestingly enough I was visiting a Microsoft office on the day of my anniversary and they had ice cream sundaes. Pure coincidence but a good sign I think. Speaking of fun at Microsoft though that leads into my first link.

    Jennifer Marsman, one of our great Developer Evangelists in the mid-west, was recently interviewed by students at Murray State University. She talks about her trip to the campus, why she loves her job at Microsoft, and her top interview tips.  Check it out. It will give you an idea of what sort of job some of Microsoft’s field people are up to as well.

    And in other career news, I found this interesting  article via Twitter this week. Computer science grads fielding 'multiple job offers' Apparently new college graduates with backgrounds in Computer Science are having a lot easier time than the average college graduate finding their first jobs. Good news for students who picked CS for a major. Not that a job and money is the best let along the only reason to pick a degree but it sure doesn’t hurt.

    For something quite different, but especially interesting to you who also teach (or other wise enjoy) math, are Doodling in Math class by Vi Hart I love the binary tree doodle.

    From the UK @innovativeteach has a great write up on Kodu - Free Stuff From Microsoft #5 – Kodu

    From the Partners in Learning team at Microsoft a suggestion that you subscribe to the Microsoft Partners in Learning YouTube Channel for the latest on how technology is changing education.

    From Gail Carmichael (@gailcarmichael) a good post for teachers or all subjects to read - Why Computer Science is Relevant No Matter What You're Teaching

    Andrew Parsons has been working hard to highlight the top teams in this year’s worldwide Imagine Cup. He has a series of blog posts which I highly recommend.

    The first one is a set of three articles highlighting the finalists for the three tracks of Game Design. These are the fifteen teams from all over the world heading to New York City in July to compete head to head. Definitely worth checking these out:

    Meet the finalists – XNA –
    Meet the finalists – Mobile –
    Meet the finalists – Web –

    The second set is a series of ten articles that showcases all competitor entries from the final online round of Game Design. There are more than 100 games shown in this series from dozens of countries and it’s a great resource to show off the variety of game genres, styles, and themes.

    Part 1 - (_dreamBender – BJTU_YF703)
    Part 2 - (Bliizz – CodeOne)
    Part 3 - (CrashGames – EnvoSeven1)
    Part 4 - (exporithm – Geekologic)
    Part 5 - (GimmeGimmes – INFOSTROY)
    Part 6 - (Ingesub Game Lab Team Rocket – Luskanya)
    Part 7 - (Milworms – Pyro)
    Part 8 - (Quegee Team – SDEG)
    Part 9 - (Signum Fidei – Team Nucleus)
    Part 10 - (Team Rubic – WickedTeam)

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Student Insiders and Imagine Cup Game Teams


    I thought I might highlight a few student related things going on at Microsoft these days.  I’ll start with the Microsoft Student Insider program.


    Microsoft Student Insider Program Details

    Microsoft Student Insiders are exceptional technical community leaders who are awarded for voluntarily sharing their expertise in technical communities. Insiders are a highly select group and represent the best and brightest technical students with excellent communication skills. They share a commitment to community and a willingness to help others.

    Microsoft Student Insiders are early adopters of new technology and actively communicate their experiences to countless technology users. Through their extensive community activity and deep technical experience, Student Insiders help others solve problems and discover new capabilities, helping people get the maximum value from their technology. Student Insiders engages students for their passion and involvement for a specific technology area and provides training for students to gain skills and experience to grow their impact.

    Microsoft Student Insiders launched in 2009 with an elite group of students representing technical topics including Expression Studio, Azure, IT, Imagine Cup Programming, Visual Studio, and Windows. The program is currently in a Beta and is available only in the US. We invite any feedback or questions by email.

    If you are a student with a blog, social media, or online venue discussing technical topics and are interested in becoming a Microsoft Student Insider. Let us know by sending in your resume.

    I’ve had the pleasure of working with an knowing most of these student insiders. They are share students who bring an interesting and educational perspective to technology. They get to attend a number of Microsoft technical events and report back to other students and to the wider development ecosystem. Visit the Student Insiders home page to meet our current insiders and also learn about other programs including Student Partners, Microsoft Students to Business (S2B), Imagine Cup and DreamSpark.

    Which brings me to Imagine Cup. Andrew Parsons is doing more highlighting on teams in the Worldwide Imagine Cup Finals in the game divisions on his blog.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    So You Want To Teach Your Kids To Program?


    In all honestly I tend to avoid Slashdot. Oh I scan it for the news from time to time but I work hard at avoiding the comments and avoid the Q&A forums. Why? The heat to light ratio is horrible. For every person who adds a solid, thoughtful informative reply there are several who just want to attack the person who posted (especially if it is a request for information), several who want to attack the solid, thoughtful replies, and a whole bunch of people who just want to suggest, with a pretention of expertise, some answer that is just totally ridiculous. I get stuck looking though when someone sends me a link to a topic I know something about and that is important to me. This happened this morning. A friend sent me a link to this post of the forums:

    Ask Slashdot: Good Homeschool Curriculum For CS??

    Posted by timothy on Tuesday May 31, @07:01PM
    from the ok-now-track-the-family-budget dept.

    dingo_kinznerhook writes "I grew up in a homeschooling family, and was homeschooled through high school. ( I went on to get a B.S. and M.S. in computer science; my mom has programming experience and holds bachelor's degrees in physics and math — she's pretty qualified to teach.) Mom is still homeschooling my younger brother and sister and is looking for a good computer science curriculum that covers word processing, spreadsheets, databases, intro to programming, intro to operating systems, etc. Does the Slashdot readership know of a high school computer science curriculum suitable for homeschooling that covers these topics?"

    There are several comments calling the poster a “troll” because clearly “they don’t know what computer science is” and a bunch of posts critical of homeschooling in principal. Also several people criticize the notion that the Mom is qualified to teach computer science. It takes a while to get to some posts that actually respond in some fashion. And there are a couple of posts that suggest specific books which is good. And replies criticizing those suggested books. But oh boy are there some “interesting” suggestions on how to start. I’ll get to some of those in a bit. But first, I did (against my better judgment) leave some suggestions of my own. I have already heard the usual Microsoft bashing which seems to be required on Slashdot so I’ll probably not bother to go back and read it again for this post.

    For younger kids there is a sort of progression. I like Kodu for 7 to 10 year olds. There is some curriculum, not much really but you don’t need a lot, on the web site in the Classroom Kit tab. Kodu is good for getting kids to think about programming or rather, conceptually, the idea that they can tell the computer what to do, have some success and learn as they play how to do planning, storyboarding, critical thinking, problem solving and even be artistic and creative. And its fun.

    After that I see three tools that I like for different things: Alice, Scratch, and Small Basic. Alice is from Carnegie Mellon, Scratch from the MIT Medial Lab, and Small Basic from Microsoft.  There are whole books on Alice. Hit up and take a look. There is also which is all about instructional resources. For Scratch besides the main Scratch web site with its forums and project sharing there is ScratchEd with its resources. And there are other Scratch sites as well. The Scratch BYOB project (out of UC Berkley)  allows for some really powerful expansion of Scratch for older students – up through college.

    While Alice and Scratch are drag and drop blocks of code as is Kodu, Small Basic is a more traditional programming language. I do like the idea of getting to “real code” early in the process. The Small Basic page on Kid’s Corner has a curriculum for Small Basic. It’s pretty complete and more resources are coming all the time. Lynn Langit and partners have a site with curriculum and videos using what they call design recipes at Teaching Kids Programming which is also well worth checking out.

    The Beginner Developer Learning Center Kid’s Corner has long been a site I recommend for home school parents and young people who want to learn on their own. There are a number of kid’s courses for programming (Code Rules which his also used in a lot of after school programs), Creating Your First Web Site Using HTML, Intro to Programming Windows Apps, and Introduction to Web Design. All free and all using software that is available free. And there is more. Spending some time looking though the BDLC Kid’s Corner will turn up all sorts of great possibilities.

    Now just in case you got this far because I said I would address some of the other suggestions I read in Slashdot, here you go.

    Someone always suggests start them with Assembly language. This works for some people. However if it were likely to work for your child they would 99% of the time gone off and learned all this on their own and would be teaching you. Any one can learn assembly language but few have a good experience with this as the first language. it is sort of like telling someone who wants to be a sprinter that they should crawl with leg weights on before they start walking and then running. Start with something that will be fun and create a good experience and return to Assembly language later on if at all. Not everyone even needs to know it.

    Someone also always suggests “give them K & R C” as is someone who needs help finding curriculum even knows that this is the C programming language as documented by Brian Kernighan and Dennis Ritchie many years ago. It’s a great book but it is not, in my opinion, the best way for a home scholar to start. For one thing the C language has more than the average number of ways to bite a beginner in the rear end than most more modern languages. Also you will wind up with doing all your applications as console applications (white letters on a black background) and students are going to wonder when they can write programs that look like the ones they actually use. Since I believe the first course should be about fun, achievement and feeling of success almost as much as learning the most important and basic concepts I do not recommend K & R C as a first language.

    Someone on Slashdot recommended an Apple II and an assembler and languages on that. Sounds like someone thinks everyone would learn the way they did. It worked for them right? On the other hand Small Basic will give you all the ease of use the Apple II did and give you a good simple IDE, Turtle graphics (hey remember Logo?) and an easy upgrade path to Visual Basic when a student is ready to go pro.

    It is important to remember that the state of computer science is evolving. There are better tools – better IDEs, better languages, better projects, better everything- then there were even a few years ago. Not everyone has to learn the same way everyone who came before them does. People learn at different rates as well. Some people may start with Alice or Scratch and that may be all they ever want to do. Others will decide they want to make serious games or applications that they can sell. Those students will want to move on to languages like Visual basic (bit the graduate button on the Small Basic IDE), C# and XNA (I’ve got lots of links to XNA educational resources on this blog) or functional programming using F# (Learn F# online at Try F#) There are lots of resources for all of these tools.

    But please, if you are going to ask someone for advice on teaching programming, please make sure they actually have some experience teaching people other than themselves how to program. For the student’s sake!

Page 7 of 7 (21 items) «34567