Friday, November 06, 2009

Sequencing

Imagine you had a pickup truck that you used for work. One day the person in charge of company vehicles says to you “we’re going to replace your pickup truck with a Prius. We’ll be saving money on gas. Isn’t that great?” You of course reply with something like “But I need the room in the back of a pickup truck to carry things.” And they reply “well you’ll find a way to work it out.” Can you see that happening? Does it sound like a good idea? Of course not. One lays out the needs and starts from what meets the needs and then works in other factors. A Prius is a great car for what it is designed for but it was never intended as a pickup truck replacement.

How about this version? A true story. Several years ago a teacher I know came back from summer vacation to find that all of her Windows PCs had been replaced by Apple Macintoshes. With no warning to her. Now of course none of the applications she had been teaching worked and the textbooks she could not replace were all wrong. But hey, the tech support people said “you have new computers! Isn’t that great?” Crazy? Well it happened.

I hear these stories regularly. Someone decides that they are going to change the hardware and/or software platform for some reason that sounds good to them. But they don’t take the applications that are being used into account. They’ll leave fixing that to the user. Shouldn’t planning for computer use, in industry, at home and at schools, start with the user facing applications software? Select that and then go looking for an operating system and a hardware platform to run it on. Am I wrong?

Most recently I have heard this in the context of people looking for “replacements” for Visual Basic because their school is migrating to some OS other than Windows. Even if I were not heavily biased towards Windows and Visual Basic (you know I am) this would drive me crazy. As it is none of the Visual Basic alternatives I have looked at look anything like a sideways more. A big step backwards is how they look to my (admittedly biased) eyes. But teachers being presented with this situation never seem to push back. Why not? Tech support is there to support  the teacher aren’t they?

I was a high school technology coordinator for several years and I always viewed my job as being an enabler – someone who helped teachers teach. When ever evaluating operating systems, be it a change or an upgrade, the first thing we did was to get a list of all the applications in use. Then we tried to verify which ones worked and which ones didn’t work with the potential platform. I saw it as the technology department's role to make sure that either everything worked or their were viable replacements that the users approved of before making or even suggesting a change. Everything gets tested. Only when it all works is a change implemented.

Of course to me the role of technology support goes beyond just careful evaluation of platform changes. When a teacher wants to use some new software it is tech supports job to research how to make it work not the classroom teacher’s. It drives me crazy when tech support who will not even let a teacher download solutions tells the teacher that they (the teacher) have to present technical solutions for them (tech support) to implement when software doesn’t work right.

Who works for who in educational technology?

 

Note: see also Your technology coordinator works for you, not the other way around by Scott McLeod.

But I Don’t Want to be a Programmer

One of the things I hear pretty regularly is that not everyone needs (or wants) to be a programmer. Some people want or perhaps even need to do some programming or more generally programming like activities but they don’t want to be full time programmers or computer scientists. These people can be a lot more effective and productive if they at least learn the basics at a fairly good level. Mark Guzdial talks about some of this on a recent post called Talk on Meeting Everyone’s Needs for Computing

The “bigger” problem is the number of people who program and who want to learn more computer science, but who do not want to become CS majors or learn to be software engineers.  A paper out of CMU predicts that we’ll have around 3 million software developers in the US in 2012, and about 13 million end-user programmers.

Another term that comes into use is non-professional programmers. In other words these are people who program but do not do it as their career/full-time profession. Non-professional programmers is actually a super set that includes end-user programmers and people who programmer recreationally or hobbyists. Yes there are people who write code for fun. Lots and lots of them.

Thirty five years ago when I was first learning to program the idea of a software hobbyist was a pretty strange idea. They did exist of course but you had to have some real money (unlike Bill Gates I could not afford to buy an Altair computer to play with) and some serious interest. learning to program was pretty difficult. It was mostly assembly language on computers that hobbyists could get access to. The idea of end-user programmers was even more of a strange concept. Computers were kept in locked rooms with access tightly controlled and limited to highly trained professionals. All that has changed now.

Computer science and programming have now become a life skill. It is something “regular people” can use in their daily jobs, for fun, and as a mental exercise. Computers are inexpensive and most people have access to them. Development software is cheap (often free) and easy to acquire. (See Microsoft Visual Studio Express Editions for example) In daily work life people have access to programming to modify their existing tools (see creating macros for Excel for example) Just last night I talked to a high school student who told me he was habitually creating macros for Excel to solve tasks. I suspect that he will have a huge advantage as a knowledge worker totally apart from any programming type jobs.

I think that schools should be making sure that students have the option to learn and use these sorts of tools. Teaching computer science is not just about turning out computer programmers any more. Today teaching computer science is about supplying students with the tools to succeed in just about any field they go into. And as a plus some of them may find a lifelong hobby. You don’t have to be a fantastic physical specimen to create a great computer game. of course this mean we have to teach the subject well and in ways that interest students – that make them relevant to them. Media computation seems like a great example. game development? Sure. Robots? Sure. And yeah we can do the math thing for the math geeks. :-) But at the very least we need to expose everyone to this field. Let them try it first before they decide it is not something they want to learn and use.

Pre-Collegiate Faculty Connection Redesign

Back a year or so ago Microsoft opened the Pre-collegiate faculty connection web portal to share resources for computer science, computer programming, web development and other related teaching areas. It’s been a pretty successful site with tens of thousands of teachers visiting it for news and resources. This week it was time for a site refresh. The new site is now up and I think it looks pretty good. Of course I like blue themes. :-)

image

More importantly the site navigation is (I think and hope you agree) cleaner and clearer. We’ve also added some colleague connections – links to other blogs and useful web sites that we think you will find valuable. Of course I’m biased as this blog is first on the list but the others are great as well. As before there are links to software for educational use, curriculum for various courses and topics, and links to online training resources that you can use for yourself or with your students. If you haven’t visited lately (or even if you have) please stop by and look around.

Wednesday, October 14, 2009

Web 2.0 and Other Educational Resources from Microsoft

OK, this may not be the definitive index to Microsoft resources for teachers but it’s close. Something for everyone from elementary school English teachers to high school science teachers (check out the world wide telescope) to high school computer science teachers. Lots to choose from.

Web 2.0 and Other Educational Resources from Microsoft

1. PhotoSynth - http://livelabs.com/photosynth/

You can share or relive a vacation destination or explore a distant museum or landmark. With nothing more than a digital camera and some inspiration, you can use Photosynth to transform regular digital photos into a three-dimensional, 360-degree experience. Anybody who sees your synth is put right in your shoes, sharing in your experience, with detail, clarity and scope impossible to achieve in conventional photos or videos.

2. Worldwide Telescope - http://www.worldwidetelescope.org/Home.aspx

WorldWide Telescope (WWT) enables your computer to function as a virtual telescope, bringing together imagery from the best ground and space-based telescopes in the world. Experience narrated guided tours from astronomers and educators featuring interesting places in the sky.

3. Office Labs – Concepts http://www.officelabs.com/Pages/ConceptTests.aspx

a. Community Clips

If there’s a new trick or skill you want to learn in Microsoft Office, but you don’t have the time to take a course, check out Community Clips. It offers a portal through which you can easily browse, view, share, and discuss informal "how-to-use” Office videos from around the world. It also gives you the ability to record your own screens and voice, so you can create your own training videos to share.

b. SharedView

Connect with up to 15 people in different locations and get your point across by showing them what's on your screen. Share, review, and update documents with multiple people in real time. A Windows Live ID (Passport, Hotmail, or MSN) is required to start sessions, but not to join sessions. New in version 1.0: we have added a web based join experience to make SharedView even easier.

4. Live@edu - http://www.microsoft.com/liveatedu

a. Office Live Workspace

If the H1N1 flu virus keeps your students away from the classroom, continue the learning online by using Office Live Workspace to:

· share assignments

· distribute handouts

· post presentations

· enable group collaboration

Use this free online service to publish and share Microsoft Office Word documents, Office Excel spreadsheets, and PowerPoint presentations. Students can get class information from anywhere they have Internet access.

b. Skydrive

With SkyDrive, you can embed public or shared folders on Windows Live Spaces. Everyone can see what’s public, but only people you’ve granted permission can see your shared folders.

Computer Science and Computer Technology Resources

1. Pre-Collegiate Faculty Connection - http://www.microsoft.com/education/facultyconnection/bz/default.aspx

Microsoft’s site for K-12 educators where you can access resources developed for middle school and high school technology, computer science and math teachers. Just released: A tutorial and Curriculum unit for teaching and learning Expression Web – the latest Web development software.

2. MSDN Academic Alliance - http://msdnaa.net

The MSDN Academic Alliance is the easiest and most inexpensive way for academic departments to make the latest Microsoft software available in labs, classrooms, and on student PCs. The program, which is available in more than 45 countries worldwide, has two primary goals:

1. To make it easier and less expensive for academic institutions to obtain Microsoft developer tools, platforms, and servers for instructional and research purposes.

2. To build a community of instructors who can share curriculum and other learning resources to support the use of these technologies.

3. DreamSpark - https://www.dreamspark.com/default.aspx

DreamSpark High School provides professional level development and design tools to students enrolled in an accredited, secondary educational institutions at no charge. Register now and give your students access to all the great software and training DreamSpark offers.

4. Expression for Educators - http://expression.microsoft.com/education

These educational materials provide a variety of resources for learning Web design with the tools provided in Microsoft Expression Studio software.  Students, educators and hobbyists of all ages will find quick tutorials, short learning units and extensive course content to fit their individual teaching and learning styles. The range of difficulty goes from easy - with the quick start tutorials that require no previous Web design experience- to a more advanced level for people who are already skillful at using Web technologies and employing design strategies.  The one semester web design course is appropriate for high school and introductory post-secondary technology courses.

5. IT Academy - http://www.microsoft.com/education/msitacademy/default.mspx

The Microsoft IT Academy program is designed for accredited academic institutions worldwide. Today there are thousands of Microsoft IT Academies in more than 100 countries and regions.

The program provides educators with the tools they need to effectively train students on Microsoft technologies, prepare students for the global economy, and create a skilled community. This subscription-based membership program offers curricula, courseware, and online learning for students focused on a profitable career path, life-long learning, and Microsoft certification.

6. Alfred Thompson’s High School Computer Science blog - http://blogs.msdn.com/alfredth

Alfred Thompson's blog about teaching computer science at the K-12 level. Alfred was a high school computer science teacher for 8 years. He has also taught grades K-8 as a computer specialist. He has written several textbooks and project books for teaching Visual Basic in high school and middle school. Alfred is the K-12 Computer Science Academic Relations Manager for Microsoft.

Other Education Resources for Education

1. Innovative Teachers Network - http://www.innovativeteachers.com/Pages/Welcome.aspx

The Innovative Teachers Network makes it easy to find the resources you need, contribute your favorite curriculum resources, and connect with educators to transform your classroom into a technology-rich environment for classroom learning!

2. Microsoft Partners in Learning - http://www.microsoft.com/education/pil/partnersInLearning.aspx

Partners in Learning is a global initiative designed to actively increase access to technology and improve its use in learning. Our goal is to help schools gain better access to technology, foster innovative approaches to pedagogy and teacher professional development and provide education leaders with the tools to envision, implement and manage change.

3. PiL (MSFT Institute)

Participate in a unique professional development experience that will provide you and your organization with tools and resources to create and support innovative environments and organizations. Based on key learnings of Microsoft initiatives and our Partners in Learning program, (which has already reached nearly 3.5 million educators in more than 100 countries), this program will give you new ideas to implement in your organizations, district, classroom, or workplace. One coming October 27 - 29, Cambridge, Massachusetts.

4. Microsoft Education Teachers Site - http://www.microsoft.com/education/teachers/default.aspx

The home page for Microsoft resources for teachers of all levels.

5. Digital citizenship curriculum - http://www.digitalcitizenshiped.com/

The Digital Citizenship and Creative Content program is a free, turnkey instructional program. The goal is to create an awareness of the rights connected with creative content. Because only through education can students gain an understanding of the relevance of and a personal respect for creative rights and grow to become good digital citizens.

Thursday, September 24, 2009

Visual Basic Resources

I was asked on Twitter if I had a Visual Basic resource page for teachers and I had to admit that the one I used to maintain was sadly out of date. That’s just wrong. So I went through all the Visual Basic keyworded post on this blog, visited a couple of other sites and put this list together. I’m going to try and keep it up to date. Please let me know (at my main blog) if you find other things that should be here, broken links or any other recommendations you may have.

Curriculum Sites

K-12 Faculty Community Site A source for curriculum resources, teacher forums, and program announcements

Beginner Developer Learning Center A web site for people of all ages who want to learn programming and web development. Tutorials, videos, projects and web casts

Projects and Feature Discussions

Visual Basic .NET Projects - A set of projects for the classroom. There are teachers notes for each project as well as pages that can be duplicated for distribution to students  as programming assignments. You can find this (and more) at the K-12 Faculty Community Site as well.

An article I wrote on creating control arrays. This article covers both Visual Basic .NET and C#. It is suitable for beginners. Teachers who are used to teaching with control arrays in Visual Basic 6.0 and earlier will find this useful.

Simon is a simple game I wrote. Simon is a game that involves four different colored buttons that randomly depress and beep. The player then has to press the buttons in the same order that they beeped. This most useful part of this project is a special button class that inherits from the PictureBox object.

Fun With Colors – This little project with about six lines of code may be a more interesting “hello world” than “hello world.” It uses some sliders to select a color to show up in a picture box. This is also a nice way to introduce how computers handle colors. Yes, the code looks like C# but if you remove the semi-colons it works just fine in VB.

When Is A Short Circuit a Good Thing? Confused about the difference between And and AndAlso and Or and OrElse? This post explains it all.

Sshhh… it’s a secret (Matt Gertz) Matt Gertz shows you how to code up and deal with substitution ciphers. Ciphers are a lot of fun and seem to interest both boys and girls.

Prime Numbers, Code Challenges, and Programming Languages Coding up a solution for generating prime numbers. With some added discussion about different programming languages.

Coding 4 Fun A web site for hobbyists and computer tinkerers - sample projects and information for doing fun and interesting thing with programming; often combined with interesting or unusual hardware.

Code Samples A large collection of code samples in Visual Basic for doing all sorts of things. Looking for sample code for students to review and/or use? Send them here. (Provided by Microsoft) See also:

  • How Do I in Visual Basic
  • “How Do I” Videos — Visual Basic

    Exceptions, Data Validation and Political Correctness A discussion on the differences between different styles of error handling and data validation.

    Software Access

    MSDN Academic Alliance A Microsoft program for schools to get Microsoft Development software for labs, teachers, and students for very little money.

    DreamSpark for High schools DreamSpark High School provides professional-level development and design tools to students enrolled in an accredited, secondary educational institution at no charge. Sign your school up today and start handing out access codes to students and get out of their way. :-)

    Visual Studio Express Editions Free development tools (IDEs) for Visual Basic, Visual C++, Visual C# and Visual Web Developer

    Add ons and Tools

    The Visual Studio Learning Pack 2.0 is a software package created by Microsoft to help students learn about computer programming. It consists of the following five components: Sort Designer Control, Search Designer Control, Visual Declarative Designer, Assistant Class Designer and Visual Programming Flow Chart

    VB Coding Standards Document Not from Microsoft but still a very interesting look at what coding standards look like in the “real world.”

    Career Information

    Are you students asking who uses this Visual Basic stuff? Send them to the “I’m a VB” web site for interviews and videos with members of the Visual Basic team and lots of professional developers who use Visual Basic.

    Third Party Web Sites (Not Microsoft and I can’t vouch for everything there)

    Temple of VB web

    VB-Helper

  • Friday, September 18, 2009

    Engaging Students in Computer Science – Teacher Workshop in New Jersey

    I’ll be heading to New Jersey in a couple of weeks. Now if you are not from New jersey you may not think that is a good thing. A lot of people have a very limited perception about New Jersey from some TV shows and movies I don’t have to name. But those of us in the know understand that New Jersey is aptly named “The Garden State.” The people there are great and I enjoy attending and speaking at events there a couple of times a year. So I’m pleased that I will be speaking at a workshop day at Drew University that is being organized with the Computer Science Teachers Association NJ chapter Saturday, October 17, 2009.

    Drew University and CSTA Northern-NJ Chapter will host a CSTA TECS workshop for computing teachers on Engaging Students in Computer Science.  The workshop will be held at Drew University on

    Saturday, October 17, 2009.

    The workshop will include the following presentations:

    • The Real Projects for Real  Clients Course ( RPRCC) Initiative: Attracting Young Women to Computing Majors: An ACM-W Project Presented by David Klappholz from Stevens Institute of Technology
    • Introduction to Alice2.2 and Alice 3 Presented by Don Slater from CMU and part of the Alice team there
    • Promoting a Code of Ethics and Professional  Conduct throughout your Computer Science Curriculum Presented by Steve Kass from Drew University
    • Introduction to Programming Through Game Development Using Microsoft XNA Game Studio Presented by Alfred Thompson which would be me. :-)

    For more information about the workshop visit http://www.users.drew.edu/ftrees/TECS

    It promises to be a very interesting and educational day. I’m really looking forward to it. I hope to see some of my blog readers there.

    Wednesday, September 09, 2009

    Firestarter Event Series – Information about Microsoft Technologies

    Are you a school or district IT person looking for more information about the latest Microsoft technologies. Or perhaps you are a teacher looking to introduce some of these technologies to your students. In either case these free sessions may be useful for you.

    Heat up your skills with the all-new Firestarter event series. Each day tackles a single Microsoft technology, including free sessions presented live by Microsoft developer and IT pro evangelists and technology specialists - with special appearances from community luminaries. Attend in person, via live meeting or download the webcast at your convenience.

    firestarter_black

    DEVELOPER EVENTS

    Seattle - Silverlight

    Thursday, Sept 17, 2009

    8:45 AM - 5:00 PM Pacific Time

    KEYNOTE SPEAKER: SCOTT GUTHRIE

    Microsoft Conference Center/ Bldg. 33

    1st Floor, Cascade Room, 16070 NE 36th Way

    Redmond, WA 98052 – USA

    LIVE EVENT | REGISTER >>  http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032422412&Culture=en-US

    LIVE WEBCAST | REGISTER >> http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032423163&EventCategory=2&culture=en-US&CountryCode=US

    Get ready for this season's hottest technology event. The FREE Silverlight™ 3 Firestarter sessions will burn up Redmond, WA on Thursday September 17th and we've got a stellar line-up of Microsoft speakers, including a keynote from Scott Guthrie and presentations from Tim Heuer, Brad Abrams, Karl Shifflett and other community leaders. You'll learn what's new and noteworthy in the latest releases of Silverlight and Expression® 3. We'll also give you a rundown on .NET RIA services, toolkit, and more. Don't miss this sizzling opportunity to go deep into Silverlight 3 with Microsoft's best and brightest.

    Seating for the live event is limited, so register today. If you can't join us for the in-person event, register for the online event experience.

    New York - ASP.NET MVC

    Saturday, Oct 3, 2009

    8:30 AM - 5:15 PM Eastern Time

    Grand Hyatt New York Hotel/ Ballroom B

    109 East 42nd Street

    New York, NY 10017

    LIVE EVENT | REGISTER >>  http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032424184&Culture=en-US

    LIVE WEBCAST | REGISTER >> http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032424194&Culture=en-US

    In March 2009, Microsoft added a new option for developing web applications on the .NET platform: the ASP.NET MVC Framework 1.0. You've probably heard quite a bit of buzz in the Microsoft web development community about it. But perhaps you haven't had a chance to take a deeper look at it yet. Then we have an event for you! We will be hosting a full-day ASP.NET MVC Firestarter event live from New York and online to take you from 0-300 level in a day.

    At the ASP.NET MVC Firestarter, we'll give you a quick tour of the framework, then peel back the layers and dive deeper into how it works. As part of that, we'll spend time discussing the design and development practices that lead to the creation of the MVC framework. By the time you leave, you'll have enough knowledge to get fired up and start building web applications on the .NET platform.

    Seating for the live event is limited, so register today. If you can't join us for the in-person event, register for the online event experience.

    IT PRO EVENTS

    Seattle - Windows

    Friday, Sept 18, 2009

    8:00 AM - 5:00 PM Pacific Time

    Microsoft Conference Center/ Bldg. 33

    1st Floor, Cascade Room, 16070 NE 36th Way

    Redmond, WA 98052 - USA

    LIVE EVENT | REGISTER >> http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032422413&Culture=en-US

    LIVE WEBCAST | REGISTER >> http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032423124&Culture=en-US

    Windows® 7 and Windows 2008 R2 introduce fantastic new technologies to streamline your business, enhance security and save you money. This Windows Firestarter event will introduce you to these features and then dive deep into how they work. See how DirectAccess provides the remote user with virtually the same experience they would have if they were in the office. Learn how Group Policy and PowerShell can simplify the administration of your network, regardless of how large or small it is. Experience a simpler yet more rich Web surfing experience with new Internet Explorer® 8 features. See new BitLocker™, AppLocker and User Account Control Features that are designed to protect your data no matter where it is. We will also dive into how easy it is to deploy Windows 7 the way you want it deployed - your image, your way - even if you are migrating from Windows XP. Join us for this demo heavy session on all of this and more at Windows Firestarter.

    Seating for the live event is limited, so register today. If you can't join us for the in-person event, register for the online event experience.

    Alpharetta - Windows 7

    Saturday, Oct 17, 2009

    8:00 AM - 4:45 PM Eastern Time

    Microsoft Alpharetta Office

    Centennial Park 1125 Sanctuary Pkwy Suite 300

    Alpharetta GA 30009

    LIVE EVENT | REGISTER >>  http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032424192&Culture=en-US

    LIVE WEBCAST | REGISTER >> http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032424195&EventCategory=2&culture=en-US&CountryCode=US

    Windows® 7 introduces some fantastic new technologies to streamline your business, enhance security and save you money. We'll start this Windows Firestarter event from the users point of view and have a fun and lively introduction to some of the new features in Windows 7. Next we'll move onto DirectAccess and show how remote users can connect seamlessly to the corporate network, giving them virtually the same experience as being in the office, all of this without VPN! We'll then move on and learn how to protect your drives and data with BitLocker™ and show how Windows 7 extends this protection to USB drives with BitLocker-To-Go™.

    Finally we'll round off the day with an in-depth look at how to automate your deployments of Windows 7 with System Center Configuration Manager. This information packed, demo intensive day will kick-start your Windows 7 knowledge and get you well on the way to being prepared for deploying Windows 7.

    Seating for the live event is limited, so register today. If you can't join us for the in-person event, register for the online event experience.

    Monday, September 07, 2009

    Interesting Links Labor Day 2009

    I’m not really working today. Well just this post really. For the most part I have been largely offline for Labor Day weekend. Enjoying family, sun, books, and relaxing. My wife and son start school with their students tomorrow. They’ve been doing the usual back to school teacher days last week. Their rooms are ready. Plans are in place and tomorrow it is what I like to call “show time!” But to help you get going I have a few links from the previous week to share.

    Glen Westbroek a teacher I follow on Twitter @gardenglen has been sharing posters from his classroom. I thought this one about how many days without a failing grade was fun.

    According to this post at the CSTA blog Race to the Top should make STEM a higher priority and make sure it includes computer science. I have to say that I completely agree. Speaking of the CSTA, are you a Computer Science Teachers in K-12? Are you a member of the CSTA? What is the CSTA? You should join!

    Angela Maiers (@AngelaMaiers) continues to Tweet interesting links  “Yes Yes! We should be teaching our children to think  - The Observer”

    From Leigh Ann Sudol (@lsudol) Programmers top 10 sentences Though you may want to be careful with what WTF means.

    If you use or want to create Math worksheets Microsoft has released a new prototype Math Worksheet Generator from Education Labs http://bit.ly/2POnxm There are more tools for teachers coming from Microsoft

    The US Imagine Cup web site is online http://www.imaginecup.us/ The US rules have been changed this year to allow high schools students 16 and older to participate. Some of my co-workers are a little afraid of the idea that high school student teams may show up some of the college teams. I say go for it. Make a name from your self as a high school student.

    Interested in astronomy? The Worldwide Telescope team at Microsoft Research launched a big update last week. Read about the new worldwide telescope changes here.

    From Microsoft Learning (@MSLearning) there is a new (and free!) E-Learning Course: Introduction to XAML

    Dimitris Gkanatsios (@dgkanatsios) has a new blog post (in English he’s in Greece) on a simple shooting game with Silverlight 3 and C#

    I found this interesting leaning game - Fun with Math Imaginary Blackjack Game in a blog post by Megan Golding (@mgolding) which is more a math thing – imaginary numbers are a big part of it – but I thought it worth sharing more widely.

    Have interesting links to share? Feel free to email me (alfredth (at) microsoft.com), leave a comment or Twitter me @AlfredTwo

    Tuesday, September 01, 2009

    Latest Interesting Links September 1 2009

    August was something else for me. I had some travel. I had a lot of work. And I did some things around the house. That’s what August is for right? You may or may not have noticed but blogging was a little lighter than usual for me in August. Only the third time in the last close to four years that I posted fewer than 20 posts in a month. I’m trying to work on quality over quantity. Judging by the large numbers of comments it may be that I am improving. I hope so. I want to provide value, provoke discussion, and ideally build a little bit of community. It’s a work in progress.

    Community leads me to my first link of the week entry. Scott McLeod is continuing his PUSH to get links to top blogs in PK-12 education. Last week one item he was looking for was excellent PK-12 business and computer science education blogs. Mine is there as are several I have listed on the side of my blog. We could use many more though so I hope if you know some you will contribute. They are looking for a lot of other subject matter blogs as well so jump on in. Thanks!

    Are you still running Internet Explorer 6 at your school or on your home computer? Time to upgrade. Microsoft is donating 16 meals to Feeding America for everyone who upgrades from IE 6 to IE 8. They are donating 8 meals if you upgrade something else. If nothing else this should be an incentive to at least give IE 8 a try. I’m using it and have been since early beta.

    I get the occasional question about people who want to teach and/or learn something of the more important, key features of Silverlight 3. Well a number of hands on labs were developed for and with the National University of Singapore and they are available now. in a hands-on manner I am hopeful that well see more soon so keep looking here for news.

    I love the Computer History Museum and recently came across a small Photo Gallery showing some of the  weird, fascinating objects including a giant Cray super computer and a 60Kg hard drive that they have on display. You can’t see it in any of those pictures but some of the early military computers actually had ashtrays and cigarette lighters built into the console tables. My how things have changed!

    WIPTE.ORG is running an educational video contest. $3000 for 3 Minutes: Tablet PC in Edu Video Contest from WIPTE.ORG Check it out if you use Tablet PCs in your school or classroom.

    Well Popfly is not mostly gone which makes me very sad. But the Popfly Game Engine Code has been released on Codeplex under the MS-PL.

    Also last week I found http://robotevents.com/ "The community portal for robotics and education" Looks like some good links.

    Foundations of Digital Games conference calls for papers are out. It will not be on a ship this year which is good for people who could not convince deans and principals and business manager that it was a real conference. Some of us will miss the ship venue however.

    BTW Microsoft has opened a new higher education portal for faculty, students and administrators at http://www.microsoft.com/education/highered/

    Monday, August 31, 2009

    CareerForward: Career Preparation in a Global Economy (cFWD)

    Course background:  CareerForward is a media-rich online learning program, developed through a unique public-private partnership between the Michigan Department of Education, Michigan Virtual University and Microsoft. The program helps students wrestle with some of the burning questions about their futures: What am I going to do with my life? What is the world of work like? What will I need to succeed? What’s next for me? Using a variety of multimedia, course topics explore these questions and more. Throughout the course, students are asked frequently to reflect on what they’re learning, to write their thoughts down as a continual refinement of their thinking, and to discuss their thoughts with other students, either in-person or online.  Students can work with local educators to access the online course, which takes about four to six weeks or approximately 20 hours to complete. The course is designed to be facilitated by a local teacher and can be used independently or as part of an existing face-to-face course in career planning, business or global studies.

    cFWD student/teacher video:

    http://www.microsoft.com/video/en/us/details/031c7926-608f-42eb-aa7f-a29

    cFWD course location:

    http://nroc.careerforward.org/careerforward/

    cFWD trailer:

    http://www.mivhs.org/coursefiles/careerforward/index.htm

    cFWD online teacher webcast

    http://educationwebcasts.com/Webcast.aspx?i=4265

    Saturday, August 29, 2009

    New XNA Curriculum Resources

    · Introduction to Programming Through Game Development Using Microsoft XNA Game Studio

    · Introduction to Programming Through Game Development Using Microsoft XNA Game Studio - Chapter 1: Computers, C#, XNA and You

    · Introduction to Programming Through Game Development Using Microsoft XNA Game Studio - Chapter 2: Programs and Colors

    · Introduction to Programming Through Game Development Using Microsoft XNA Game Studio - Chapter 3: Getting Player Input

    · Introduction to Programming Through Game Development Using Microsoft XNA Game Studio - Chapter 4: Displaying Images

    · Introduction to Programming Through Game Development Using Microsoft XNA Game Studio - Chapter 5: Writing Text

    · Introduction to Programming Through Game Development Using Microsoft XNA Game Studio - Chapter 6: Creating a Multi-Player Game

    · Introduction to Programming Through Game Development Using Microsoft XNA Game Studio - Chapter 7: Playing Sounds

    · Introduction to Programming Through Game Development Using Microsoft XNA Game Studio - Chapter 8: Creating a Timer

    · Introduction to Programming Through Game Development Using Microsoft XNA Game Studio - Chapter 9: Reading Text Input

    · Introduction to Programming Through Game Development Using Microsoft XNA Game Studio - Text Sample Code

    Here is a quick overview of the first item in the list.

    Learn the underlying skills and principles of software development--as you design and build your first games for Xbox 360, Windows, and Zune.

    Designed specifically for students with no computer science background, this curriculum teaches the fundamentals of C# programming and the XNA Game Studio framework--for skills you can apply to game programming and beyond.

    · Write code to create and control game behavior

    · Build the game display--color, graphics, text

    · Create multiplayer features

    · Capture and cue sounds

    · Process input from gamepads and keyboards

    Thursday, August 20, 2009

    New Windows Live Movie Maker Available

    I’m a huge fan of the Windows Live set of tools. I use Windows Live Writer to write and post all of my blog posts (to several different blog engines – I used it to cross post this from my main computer science teacher blog for example) and Windows Live Messenger keeps me connected to friends all over the world. And Photo Gallery has a lot of great features. Sticking together several shots into panoramas is a big favorite of mine. The version of Movie Maker that was available for Windows Vista and Windows 7 lagged behind a bit. The version for Windows XP was actually a little better. But that has changed. I found this announcement in my email yesterday.

    Today, Microsoft announced the global availability of the new Windows Live Movie Maker. With the new Windows Live Movie Maker, it’s easier to turn videos and photos into great-looking movies and slideshows, using many popular camera types and file formats on the market today. It’s an effective tool for teachers to bring the benefits of multimedia to the classroom, where it can help engage students and increase retention.

    One of the key enhancements that teachers and students will use is the sharing capability. Once a movie is complete, it can be easily shared with other teachers, students or even friends and family across TV, PC or mobile device or by uploading them to video-sharing sites.

    Teachers and students can download the new Windows Live Movie Maker for free by going to download.live.com.

    I really like the idea of easy sharing for example. Students love to share their work and of course many of them are already excited about the idea of making movies. This is a multi-media generation and they are not interested in static poster board displays. Not in seeing them and not in creating them. My wife has been using a Flip video with her students and I know she is excited to do more with it this school year. I know a lot of other teachers who are doing the same. Making movies engages students. So I think the timing on this announcement is great.

    BTW I am hoping to put some educational videos together about various computer science concepts. This is the tool I plan to use to edit them. Are you working on video demos? I’d love to hear about them if you are.

    To learn more about the new Movie Maker (for Vista and Windows 7) and see real movies created with Movie Maker, please visit www.moviemakerpreview.com or check out the Windows Live team blog post. (Lots of helpful links and information at the Windows Live Movie Maker Blog Post BTW so I might start there.

    Monday, August 17, 2009

    DeVaris Brown is in the house, ah, Blogosphere

    One of the younger and much hipper members of the Microsoft academic team, DeVaris Brown just opened a new blog called Tales From the Road. Besides technology he'll be blogging about what his life as a technology evangelist is about. I'm subscribed.

    You can follow him on Twitter at http://twitter.com/devarispbrown

    Monday, August 10, 2009

    CSTA Podcast Series

    Getting ready for school to start? I understand that students are already returning in some parts of the US. Over the next three weeks or so most students will be back in class again. Are you interested in listening to some interesting podcasts to get yourself ready and get some ideas for the new year? Check out the CSTA Podcasts. Several new ones were added recently including one interview with yours truly.

    Thursday, July 30, 2009

    Figuring Out What Will Get Attention

    I think a lot of us have trouble knowing what will be interesting to others. I think this is true in the classroom (“What do you mean kids don’t find learning binary interesting? I LOVED IT!”) and it is clearly true in blogging. I’ve been looking over the blog posts from the last month and the statistics around each one. I am surprised by the posts I thought would get a lot of attention and comments but didn’t. Others that I expected to be largely ignored – read and forget – have a bunch of comments. How do you know what is going to resonate and what will not? Honestly I don’t think you can. Not with any real certainty anyway. But I have examples. Anyone what to explain things to me?

    I’m going to give you some examples from this month both to show you want I mean and (more selfishly) try to highlight some posts that I think deserve more attention and give you a chance to see what did get attention that maybe you missed.

    On the more attention than I expected clearly Teacher Web Sites comes first. This one was one I hoped would be interesting for a few people but turned out differently. Largely this is because one of the companies I mentioned in passing put a link to the post with the suggestion that people “help” me out. I saw an amazing amount of traffic referred from Facebook. More than came from search engines even! That’s rare.

    What It Is Like to be A Student? received more traffic than most as well as four comments. Honestly that surprised me because I posted it primarily to link to someone else’s blog! I hope you will read those posts (Lost in syntax part 1, Lost in syntax part 2) as they are more interesting than that post of mine.

    I really expected comments on On The Value Of Testing but there are none and not much traffic either. Why is that? Was it too obvious and every says “oh yeah sure” and goes on about their business? No idea.

    I really had high hopes for Who’s Afraid of Smart Machines? but perhaps people are just discussing that too much in too many other places. Still I was hoping teachers would weigh in on this as suitable for classroom discussion. And that people  who give opinions as to how they felt about smart machines and what the potential meaning for humanity is. Oh well. I did try.

    Two posts inspired by NECC Sponges and Participants and Would You Wear A Ribbon That Labeled You a Trouble Maker? had a lot of readers. Only two comments though. Again I’m not sure why but I’d really hoped for more comments especially on the Sponges and Participants one. I really want to know if other people see conference participants the same way I do or hear some alternative views.

    Sometimes I do get it (somewhat) right though. Are We Doing It Right? had five comments. Not a huge number and not quite as many as I would have liked but at least there was conversation and that is what I was aiming for.

    SO there you have it – proof that I don’t really know what I am doing or what my audience wants. I’m trying though and I am always open to feedback. So any advice you have for me to make my blog better for you and for computer science teachers/education in general let me know.

    Thursday, July 23, 2009

    RoboZZle – a social puzzle game

    RoboZZle bills itself as “a social puzzle game” but to me is is a fun and interesting way to introduce programming concepts. Yes it is a puzzle. The social aspect is that members of the community can create their own games. There are a series of tutorial puzzles to start things off. One of the things you will find is that the tutorials introduce recursion (without bringing up the term to scare people) very early in the process. I have to say that makes it a particularly interesting teaching tool for me.

    Check it out at http://www.robozzle.com I think you’ll find it fun. And perhaps it is a game to get young  people interested in programming.

    The description of RoboZZle from the Coding 4 Fun blog is:

    Robozzle is a Silverlight game that helps teach players the art of programming logic through a series of fun and challenging community-created puzzles.  What's more, the game is "community sourced" meaning not only can you contribute new levels - but actually help expand the game and shape it's future.

    There is a community around a part of the server-side RoboZZle code at Codeplex if you are looking for a projet  like this to get involved with.

    Monday, July 20, 2009

    Interesting Links Twittered July 20 2009

     

    Things are a little conversation focused lately on Twitter. It seems like a lot of the people I follow are teachers on summer break. So while there is a good bit of educational conversation going on there is also a lot of just people chatting. I think that is good though. I feel like I am getting to know people better. That doesn’t mean that useful and educational things didn’t come my way and get passed along though. Here now my picks of the week.

    Mr. Higgins has updated his list of math related links on his school webpage. If you teach math or know someone who does you will want to check that out.

    Matt MacLaurin (@mmaclaurin) announced the new Kodu blog. Speaking of Kodu:

    ACM Women's CIS Newsletter v02.01 - Celebrate, Inform & Support (PDF)

    RT @SpringboardBlog: New Blog Post: Technical Book Club: Code Complete - Selection of Major Construction Practices http://bit.ly/HbEbd11:50 PM Jul 13th from TweetDeck

    The CSTA blog had an interesting post - A Computer Science Honor Society: Is it Worth the Work?? What do you think? Join the conversation on their blog.

    Are you interested in seeing what Office 2010 looks like?Robert Scoble (@Scobleizer) has posted a bunch of video demos of Office 2010.

    BTW one of the things I learned on vacation is that the Mayan calendar runs out in 2012. I think that means that Mayan Civilization may also be gone by then. :-) Seriously though maybe the Y2K problem didn’t start with the computer age. Something to think about.

    Monday, July 13, 2009

    Kodu Demo – Programming for little kids

    The other week while I was at NECC (what a great time meeting with and learning from some wonderful educators) we filmed a video of me demonstrating Kodu. You can see it and read some thoughts from the Microsoft Education team at the Microsoft US Education blog.

    Some useful highlights I borrowed from the Microsoft US Education blog are:

    If you are with a school or an educator interested in using Kodu in your curriculum, you can sign up here to get involved in the academic beta program on the PC. Space is limited, and it requires an Xbox 360 controller for Windows and a reasonable graphics card. You can read more about Kodu’s potential use in the classroom here, and how kids at a Michigan elementary school took Kodu for an early test drive during the development phase here.

    Note that Kodu is now officially available on the Xbox Live Community Games channel for the Xbox 360 and for a very reasonable price!

     Kodu game lab

    Technorati Tags: ,

    Saturday, June 13, 2009

    Real Life Is An Open Book Test

    The other day a regular reader of my primary high school computer science blog (thanks Avi Burstein) sent me a link to an article titled Academic source code dust-up symptom of CS education ills. The short version is that a college student posted the source code from a school project to the Internet and his professor objected strongly. The professor was concerned that future students would be able to find the code on the Internet and turn it in as their own. The student believes that his right of expression allows him to post his work. Eventually an academic judicial affairs office sided with the student. Kyle Brady the student involved tells his version of the story on his blog.  I don’t expect this to be the last of this sort of conflict though. And that is a shame.

    I’ve been programming for school, for fun and to make my living for about 37 years know. And while I have learned a great deal from course work and from “book learning” I have learned even more from reading the code other people have written. In fact many textbooks include sample code. Certainly the books I have written have included sample code. But professional developers spend a lot of time reading other people’s code. Formally, informally and in any way you can imagine. They also look to reuse code. And they keep documentation around. Even today when much of what one wants to learn professional software developers often have shelves filled with books. Believe it or not they actually reference them too!

    I don’t remember when I first heard someone say “real life is an open book test” but it really stopped me on my feet one day. It also influenced me as a teacher. While I often expected students to memorize some things and gave my share of closed book tests and quizzes I always expected students to take advantage of external resources for projects. That included the textbooks of course and the help files and programming language documentation. It also includes asking for help – though one does have to be careful about explaining the difference between getting help and getting someone else to do the work. And yes, even looking things up on the Internet. That’s how professionals work.

    There are people, often great educators whom I respect, that want to put more limits on students. For example they want to avoid things like Intellisense (IDE features that show programmers options for function/method calls and parameters) because if means they don’t have to memorize as many of those things. I disagree because I see greater value in the experimentation and “accidental learning” that provides. But that is ok I think.

    Stealing (or borrowing) code from the Internet is a real and justifiable concern for many people teaching computer science (well programming anyway). I would argue that faculty should know their students programming styles well enough to spot clear cheating just as English teachers can pick it up in student essays. Sure that is not very practical in sections of 300 but I don’t approve of sections that are too large for the instructor to know their students. (So there :-P ) IF you are going to have sections of 300 you are begging for cheating to occur so you should not whine when it happens. That doesn’t mean I approve of cheating – I don’t. But you already heard me write disapprovingly of overly large sections and cheating is one reason for that.

    One thing I used to do with semester end projects was to have one on one mini-code reviews with each student. They would do a demo and I would test a few things. Then we would talk about the code. I came prepared and if there was code that seemed to advanced for the student or too different from their normal work I asked them to explain it. If a student can explain code in a way that makes it clear to me that they know how it works, can debug it, can modify it and can make it fit their particular application why should I care if they wrote it from a blank slate or took some ideas and code snippets from someone else? It would be like penalizing a student in shop class because they borrowed a saw.

    School is about learning. It is not teaching students to work with one hand tied behind their back. It is about helping to understand what they read (or find on the Internet) not making them reinvent the wheel. I’ve blogged  before that I think it is important to have computer science students read more code. IF they find student code on the Internet and learn something from that I think that is great. I suspect they’ll learn how not to do things more often that how to do things but that is valuable learning too. In the mean time there are a great many code samples on the Internet. Microsoft posts lots of code that answers the question “How do I?” (some links below) There are many other sites that do the same thing. Students will find sample code. But they will learn for it and that is what we’re all after isn’t it?

     

    Friday, June 05, 2009

    It Ain’t Heavy It’s My Software

    The trend these days seems to be moving applications to the web browser. The ideas behind that are having access anywhere – from any location, from any computer, and at any time. Sounds great. But I resist. I like my so-called heavy applications. OH I understand the benefits of light applications that run from the web browser. I also understand the limitations of computer based heavy applications – operating systems dependence and lack of availability when one is away from their “home” computer. And there is installation costs. I get all that. 

    I do happily use Outlook Web Access and Hotmail for email  when I need to for example. But I’d still rather use real Outlook or another “real” email application. I use twitter from the web interface from time to time but the power and flexibility of TweetDeck or other special twitter applications wins me over when I have a choice.

    I think this is as much a result of my perception that special purpose tools in most areas give one better results than general purpose tools. Sure a Swiss Army knife will let you do a lot of things with one tool. But as well as separate screw drivers, scissors, knifes, etc? No not even close. You can use one hammer for everything you need to hit but a wrecking hammer will not do as good a job putting in nails as a framing hammer. And getting a table saw to do what a scroll saw can do is going to lead to frustration. Likewise a web based email client will do a lot – and they are much improved in recent years – but a dedicated application on your computer can do more, faster, easier, and still let you do a lot when you are not connected to the Internet.

    Which brings me to the next piece. I didn’t grow up with ubiquitous network access. And I still find myself in places where I can’t get connected easily. So the idea of only being able to use an application when connected to the Internet scares me a little. Well maybe concerns me would be a better way to phrase it.

    I do like cloud computing to some extent. The idea that I can place data on the cloud and get it from anywhere is great. The idea that there are cloud applications that I can use and access when I am connected is great. But I still what to work locally. I still want some control over my data. That control piece may actually be what concerns me the most. I have always taken responsibility for backing up my own data. Sure I have worked on commercial systems where formal and regular backups were taken. But I have always also done my own backups. I still have copies of programs from college – over 30 years ago. I trust me. not that I haven’t ever lost anything but nothing I haven’t been pretty sure I didn’t need anymore. Well mostly. :-)

    Do people – thinking students really – think about and discuss the pros and cons of heavy apps against light apps? I’m not sure too many programming courses really teach light apps. most web-based development I see done in high schools and early years in university are heavy apps. That concerns me a bit. I guess some web development courses cover simple web applications with some database access. That’s great as far as it goes. But I’m not sure it teachers the complexity of building the sort of web applications that many in industry are moving to. While it is true that I am not a huge fan of that sort of thing I recognize that for the near future they are the future. Students need to know about creating them. At the very least they should be exposed to the discussion and presented with the issues to think about. The sooner that happens the sooner they can build applications that old school people like me will be comfortable using.

    Or maybe they’ll see the pros and cons differently and the pendulum will swing back to locally run applications. Stranger things have happened.

    Thursday, May 28, 2009

    Computing at School Working Group

    What did I learn about on Twitter today? The UK based Computing at School Working Group is what I learned about. From their home page:

    The Computing at School Working Group is an informal group that aims to promote the teaching of computing at school. Our membership is broad, and includes teachers, examiners, parents, university faculty, and employers.

    CAS was born out of our excitement with our discipline, combined with a serious concern that our brightest students are being turned off computing by a combination of factors that have conspired to make the subject seem dull and pedestrian. Our goal is to put the fun back into computing at school.

    They have a conference and regional support groups called hubs. So if you are a pre-collegiate computer science teacher or a university faculty/lecturer with an interest in helping support such education in the United Kingdom you will want to look into this program.

    In the US there is still the Computer Science Teachers Association which, while is largest in the US, is really international in scope and membership.

    Speaking of the CSTA, they just released the draft of a model curriculum (Level I Course: Foundations of Computer Science) that covers K-8 computer science. They are looking for comments and opinions on it so take a look.

    ADE Team Member Blogs

    Hilary Pike & Diane Curtis Springboard from Mortarboard to Onboard (RSS)

    Clint Rutkas BetterThanEveryone (RSS) & Coding 4 Fun (RSS)

    Sam Stokes on Research in your life and studies (RSS) & on Game Programming using C#, Lua, XNA, XML, Zune, XBox and World of Warcraft (RSS) & on Building games based on Silverlight and Expressions (RSS)

    Randy Guthrie MIS Laboratory - Resources for Information Systems Faculty and Students (RSS)

    Alfred Thompson Notes for High School Computer Science Teachers

    Thursday, May 21, 2009

    Revisiting the GoTo Statement

    In yesterday’s post I named the “GoTo” statement as basically a bad thing. To my surprise this started a short Twitter discussion and also came up in the comments. So I did a bit more research. I found this fairly balanced article called “Using gotos” by Steve McConnell. And Mark Guzdial twittered a link to an older post he wrote titled “Plea to Language Designers: Bring Back GoTo!” Wikipedia also covers the issue fairly well with a bunch of external links. So clearly  there are multiple sides in this issue. I made the comment in Twitter that this issue is far from settled science.

    By settled science I mean that there is still a lot of discussion going on. Arguably there are cases where GoTo statements have a place. One of the things that Mark Guzdial pointed out in twitter “When non-programmers define processes, they use goto's. GoTo is natural.” There is a lot of truth there. Of course one could argue either for or against what is “natural” and people do. Another thing to consider is how an understanding of GoTo helps with understanding other concepts. Ian Bogost (@ibogost)Twittered “GOTO made understanding machine branches easy.” Let’s face it most assembly languages could not function without the equivalent of a GoTo statement!

    Most programming languages do include a GoTo statement of some form. Why? Well the discussion comes up every time and people ultimately decide to include it and yet at the same time hope people will not use it. Even the venerable Programming Proverb 7 says “Avoid unnecessary GOTO's” and not avoid all use of the GOTO. I suspect that this is a debate that will go on for ever. Not that there is anything wrong with that. I think I learn something new every time it comes up.

    Friday, May 15, 2009

    A First Computer Science Course

    Starting back this past winter I started hearing about a National Science Foundation (NSF) project to create or perhaps promote might be a better way of putting it a new three course computer science curriculum for high schools. This is part of the Broadening Participation in Computing  (BPC) program at NSF. I heard some of it at TCEA and more still at SIGCSE. It sounds pretty interesting. Clearly, in my opinion and in that of many others, we need to expand computer science education. We especially need more diversity in the field. Only some 20,000 high school students take the APCS A exam these days. That compares pretty poorly with over 80,000 in statistics which is a fairly new and still small (in AP terms) exam. Would a good course before the APCS course help matters?

    What I have been specifically thinking about lately is this so-called first course. Some people refer to it as a pre-AP course but others see this as a course for far more students than just those who are headed for the Advanced Placement Computer Science course. I tend to agree. While it might be nice to have a lot more kids take the AP course – ok yeah it would be nice – I keep coming to the idea that what we need to do most in high school is:

    a) get students interested in computer science and

    b) give them some basics so that when they get to college/university they are ready to start if they have the interest

    I’ve seen a number of my own students over the years take just one computer science course in high school and then do just fine as CS majors in college. Not taking APCS did not stop them because they had interest and some basics. So the question is – what should that first computer science course be like?

    Should it have some programming in it? I’d have to say yes. But it doesn’t have to be boring or especially difficult programming. Start with Alice, Scratch, squeak/eToys or something along those lines. Then move to something a little more “real” like Small Basic, Visual Basic or perhaps Python or a functional language like F# or Scheme. Personally I’d avoid curly bracket and semi-colon languages but for some people C#, Java or even C++ will work out just fine. The important thing I think is to give teachers some choices. Let people teach with what they are comfortable with. If they like the tools teachers are much more likely to spread enthusiasm to their students. That to me is a key piece.

    I think you also have to be concepts focused more than tool focused. I think that the activities at Computer Science Unplugged are great for that. its not just that they are fun and interesting it is that they move some of the focus from the physical computer and to the concepts themselves. That’s a big plus.

    I’d like to see some computer history covered as well. I know. Everyone tells me history is boring. But maybe that just means we are teaching it wrong. We’ve got some real characters in the history of computers and we should play that up. There were some out of the box inspiring people like Grace Hopper for example. Let’s get some creative people to tell those stories in the best way possible. And stories are the way to do it – no dry recitation of facts and dates. That would be boring. But talk about the things that made change and innovation necessary. World War II and everything from code breaking to simple cannon trajectory calculations. Why was computing necessary for just in time inventory? And there are lots more we could come up with after a little brainstorming.

    What else do we need? What concepts are key? Remember that in a single semester or even year course we can’t cover it all. Loops and decision structures? Absolutely! Right? What about object oriented design/programming? Is the first course too soon? Or should we use objects even if we don’t teach how to create them? Is recursion in or out?  Can we use games as projects? Why or why not? What are good projects that build interest while teaching concepts?

    Do you have or know of a scope and sequence document (or more complete package) for a first computer science course? Please send me a link at alfredth (at) microsoft.com or add it to the comments on my main blog? Strong opinions about what this course should look like? Let me know in the comments, by email or write about it in your own blog and let me know about it. This is something I think needs a broad background of ideas and support.

    Friday, May 08, 2009

    Learn Programming with XNA: Curriculum Available Now

    I get asked about curriculum available for XNA on a pretty regular basis. I’ve been linking to a lot of stuff that is available in parts and pieces and even more complete things like Brian Scarbeau’s great XNA educational resource page. And Kelvin Sung’s Game-Themed Introductory Programming Project.  Microsoft just added another piece at the puzzle with a curriculum titled Learn Programming with XNA.

    Overview

    "Getting Started Making Games with C# and XNA Game Studio" is a programming course for senior high school or undergraduate students with no prior programming experience. It is intended to engage students with the craft of programming by the creation of gameplay using the XNA game framework.

    Whilst the students will learn how to create games, the course should really be regarded as one which teaches programming. All of the issues that are explored are also applicable in the wider scheme of software development.

    Presentations are provided as part of the learning materials. The presentations are grouped into a number of topic based parts with a practical session to underpin the taught content. Each presentation is interspersed with demonstrations and annotated with speaker notes, as well as content review sessions.

    The material is intended to foster a dialogue between the presenter and the audience; in some places the presenter is given some discussion points to further this. There are also some "interactive development" sections where presenter and audience use what they have been taught so far to solve a particular problem. These attempts (and their occasional failure) lead to more detailed exposition of the material and hopefully remind those present that having things not work is actually part of the software development experience.

    The whole package includes demos, labs/projects, PowerPoint presentations and teacher notes. Lots of stuff in there. If you are thinking about a game development course take a look.

    And there are more curriculum resources available on a variety of CS  topics at the Pre-Collegiate Faculty Connection site including a dynamite standards-based Web Design curriculum. Take a look around.

    Monday, April 13, 2009

    Links Twittered April 13 2009

    Once again I have found myself Twittering a lot of links in the course of the week. Here, in hopes you will find one or more of them interesting and or useful, is the most recent collection. If you want to see these in a more timely fashion I invite you to follow me at http://twitter.com/alfredtwo.

    Before I start though let me remind people that there has been a lot of conversation on two of my blog posts from last week. I would seriously welcome more comments on both. And if you have a blog and could link to one/both of them to seed more people my way I would really appreciate it. Or Twitter about them – lots of new traffic coming to my main blog from Twitter lately. They are:

    From @NCWIT: I found this article about Computer Science majors not lacking for jobs. One interesting quote from the article is a professor who says "I have more recruiters here than I have seniors"

    From @NCWIT @ghc  and @anitaborg_org I found out about an African-American Women in Computing Science (AAWCS) scholarship program.

    From an email from a friend (thanks Brian) I found out about some interesting looking tutorials for developing games using XNA.

    A lot of people were talking about this Wired Campus article from Chronicle.com  Professor Encourages Students to Pass Notes During Class -- via Twitter Would you do things this way in your classroom? How about in a business lecture/meeting? 

    Microsoft Learning has released 2 courses for Windows 7 early adopters. Perhaps something for school IT people who have to think about when (or if but I hope when) to upgrade to Windows 7.

    From @alexbarnett and @dhinchcliffe  I found a link to something called The Programmer Competency Matrix It looks really interesting and gives one something to think about in terms of where students are compared to where, perhaps, they need to be some day.

    Discovery Education is running a contest. You can enter to win a wireless lab for your school!http://cdwg.discoveryeducation.com/1208/enter.cfm

    An interesting video from ZDnet (found on TechRepublic) about deciding on the proper IT Tech support to user ratios. The video talks about a ratio of between 60 and 120 users to 1 tech support person in business. Most schools seem to be more like several hundred to 1 How about yours? Perhaps this is a video to show you school board while they do budget planning? :-)

    Friday, April 10, 2009

    Teacher Tech Tuesday Erin Gruwell of the Freedom Writers Foundation

    Teacher Tech Tuesday: LIVE Webcast with Erin Gruwell, Founder and President of the Freedom Writers Foundation

    Join Microsoft Education for a LIVE webcast with Erin Gruwell, Founder and President of the Freedom Writers Foundation, as she discusses her upcoming book Teaching Hope: Stories from the Freedom Writer Teachers launching later this year. Erin will discuss how she and 150 teachers across the US wrote and collaborated on the book using Microsoft and HP technology.

    Teacher Tech Tuesday: LIVE webcast with Erin Gruwell

    • April 14th, 2009 at 4:00 PM Eastern

    • May 5th, 2009 at 4:00 PM Eastern

    Register for the webcast at: http://www.microsoft.com/education/events/teachertech.aspx

    Sunday, March 29, 2009

    A Little Link Love

    I have a number of friends and co-workers who are blogging for higher education students (and to some extent higher ed faculty) who I really should give a shout out to. If you are looking for some interesting people to follow these people are worth checking out – especially if you are or know someone in college/university.

    Hilary Pike and Diane Curtis blog at Springboard from mortarboard to on board. Recent posts include installing Windows 7 from USB onto a netbook, Technical Book Club (some great recommendations for CS related books to read) and Hilary’s Ada Lovelace Day – Women in Technology – Jennifer Marsman interview.

    Clint Rutkas is one of the bloggers at Coding4Fun but also blogs as an individual at his own site - http://betterthaneveryone.com/ You may want to check out his latest project – Webcam Software – Image Processing Edition

    Sam Stokes tends to write at a high level but covers some interesting things. Recent posts include Programming languages: C# versus F#, building AI and Physics, FUN: Use UML to map your great game idea design processes and Back to the finite state discussion. And if you are “into space”, MCO: More thoughts on the Martian Climate Orbiter.

    Dan Waters has gotten back on the blogging horse after being tied up writing his new Zune game development book. Recent posts include videos such as Doing Homework in Windows 7 and Win7 running on my Eee PC. He also has a video on IE8 Web Slices & Accelerators.

    Of course don’t forget that my primary blog and the one most updated is Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Saturday, February 07, 2009

    Five Year Blogging Anniversary

    Today marks five years of blogging for me. That day was a Saturday as well. Funny how things work out.

    I have to say that time does fly when one is having fun. My first blog post was at a blogging/community site called the Spoke. I wrote about business travel that day. It was the start of an experience that has made me friends and acquaintances all over the world. And broadened my thinking on many topics.

    Today the Spoke has been closed but I have moved my blogging in more directions. I blog about social computing and other more random topics at by blog on Live Spaces – my Alfred Thompson the Cyberspace People Watcher  blog. I blog about computer science and education topics at blogs.msdn – my high school Computer Science Teacher - Thoughts and Information from Alfred Thompson blog. I blog about random stuff at  Mr T's rants and ravings – a blog hosted by a former student. And I micro-blog at http://twitter.com/alfredtwo Perhaps I should consolidate into one blog somewhere. Perhaps one day I will. But for now this is working for me.

    So to all who read my blogs, link to my blogs, comment on my blogs and those who have participated in blogging with me for the last five years – Thanks!