Welcome to MSDN Blogs Sign in | Join | Help

Computer Science Teacher - Thoughts and Information from Alfred Thompson

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 and is trying to be the Microsoft Education Blogger.

Syndication

News


Featured in Education.AllTop.com



TwitterCounter for @alfredtwo




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.

Posted Friday, November 06, 2009 1:57 PM by Alfred Thompson | 0 Comments

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.

Posted Thursday, November 05, 2009 3:55 PM by Alfred Thompson | 0 Comments

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.

Posted Tuesday, November 03, 2009 5:26 AM by Alfred Thompson | 5 Comments

Interesting Links Post November 2 2009

One interesting thing that happened to me this past week was that Twitter enabled the list function for my Twitter account (@AlfredTwo) Lists are a way to create lists or groups of the people you follow on Twitter. One can open up your lists ( or public lists created by others) and see the recent tweets by the people on the list. I’ve created a couple of lists of my own and I’ve been added to some lists created by others. Some of the list people are creating look pretty useful. For example, Doug Peterson (@dougpete) has created a list of educators from Ontario. I’m looking forward to more lists over time.

On the blog side of things, Scott McLeod (@mcleod) had a short but important post called Your technology coordinator works for you, not the other way around. In it he reports the sort of conversation he and I both seem to be having all too often. District or school technology people setting policy and overriding the educational needs as expressed by administrators who are supposed to be in charge. What’s it like in your school district?

Microsoft opened a couple of new web portals last week. First is the new Microsoft portal for computer/tech students. The other is the new Microsoft US Higher Education Faculty portal - www.microsoft.com/usfaculty. Both are well worth checking out if you are in the target demographic.

Clint Rutkas (@ClintRutkas) retweeted a link by @brandwe to a Cartoon history of Internet cryptography with an emphasis on how the AES standard came about.  (A Stick Figure Guide to the Advanced Encryption Standard (AES)) If you are doing a unit on cryptography this might be fun to include in the study/discussion.

Speaking of fun, Channel 9 ran a Halloween Special last week - Bug Killer –  In it a programmer goes crazy killing "bugs." There is some blood and gore.

BTW, my good friend Randy Guthrie (@randyguthrie) was in Arizona last week and visited the new Microsoft store there. His visit to the Scottsdale Microsoft Store with pictures is on his blog.

I know that professional developers read my blog from time to time. For you all, please check out http://givecamp.org/ In the Give Camp program developers donate their time to create custom software for non-profit organizations. With the way the economy is these days donating time and talent can be easier than money. It can also be pretty valuable. Give it some thought if you are in one of the areas these “camps” are running. Thanks.

Posted Monday, November 02, 2009 5:02 AM by Alfred Thompson | 0 Comments

Loneliness of a Department of One

I read the blog post by Daniel Moix on the CSTA blog today (My Voice) with interest and a mix of emotions. His is a story I have heard before. The computer science teacher who is a department of one or merged into a department (sometimes science, sometimes math) where they just don’t really fit. Much as we talk about computer science being a course that could (should?) count for a math or science credit the fact is that few schools believe it fits either department. It’s a tough situation to be in but it is the norm for high school computer science teachers.

What does it mean? It means no one locally to discuss projects, grading rubrics, how to present specific topics, share test development, help recruit students or provide many of the other means of peer support that academic departments normally provide as a matter of course. It means feeling like no one understand you or what you are trying to do. It means no one to go to when a student “breaks” their program and you can’t figure out what is wrong. It means no one to plan with or bounce ideas off of. It also means that when budget cuts or scheduling issues come up one is all alone against groups of people with different priorities.

Even at technology education conferences the computer science teachers are often a tiny part of the program. At a large event like TCEA or NECC (now ISTE going forward) there are special interest groups and they are helpful. At other regional conferences computer science teachers often find nothing of interest and no active group for them to relate to.

This is one reason that the work of the Computer Science Teachers Association (CSTA) is so important. The leadership cohorts that CSTA has been training are actively at work starting local chapters. There are now local CSTA chapters starting up and/or running in 10 states now. If you are in one of those states and teach computer science get in contact with them and get involved. Strength in numbers. And if they is no local chapter get in touch with your local CSTA leadership cohort people (list here) and help them get a local chapter going in your area. No one should be alone.

Oh and you New England people, if you are looking for a guest speaker let me know. Love to come by and help anyway I can.

Posted Thursday, October 29, 2009 4:12 PM by Alfred Thompson | 1 Comments

Filed under: ,

Project Learning

Joel Spolsky is an interesting guy with strong opinions about software development and the education of people going into software development. Recently he posted a blog article called Capstone projects and time management which is pretty critical of university computer science/software engineering programs. For example:

It is amazing how easy it is to sail through a Computer Science degree from a top university without ever learning the basic tools of software developers, without ever working on a team, and without ever taking a course for which you don’t get an automatic F for collaborating. Many CS departments are trapped in the 1980s, teaching the same old curriculum that has by now become completely divorced from the reality of modern software development.

Mark Dennehy  has a reply posted called Joel Spolsky, Snake-Oil Salesman that makes all the expected academic rebuttals. For example:

Undergraduate courses in CS and CEng are not there to teach industrial tools, but basic principles

No student is expected to graduate and be able the next day to walk into an industrial role without supervision or training, and no student has ever been expected to do that in Engineering since the first undergraduate course started in TCD in 1841.

And well you probably know the rest though I have to say this is one of the bests collections/explanations of the issues I’ve read in  a while. So what is the right thing to do? I have some ideas (why blog if otherwise? :-) )

I stand with a foot in industry (employed by a company) and a foot in education (by inclination,experience and the focus of my work). I’ve taught students who have gone on to careers in industry and I’ve worked with many recent graduates throughout my career. It seem that often industry doesn’t understand what academia is trying to do, can do, and thinks they should be doing. Likewise many in academia seem to care little about what industry thinks they need in new hires and recent graduates. Plus academia doesn’t have time to teach everything they would like let alone what industry would like them to teach. Compromise is the word of the day.

It’s hard, very hard, to fit large projects into a curriculum. In high school, in university and even in graduate school the semester or the quarter is the rule and that is not enough time for a really large project. Emphasis on individual students learning concepts in a deep may make all but small team projects are difficult to manage, to grade and even to conceive. I think there is some room for projects outside of class though.

Unfortunately a lot of students have to work jobs to help pay for their education and that takes up a lot of time. The full-time student in the old sense of the word isn’t as common as it once was. But I think that when students can they should think about creating projects outside of their course work. At the university level, the Imagine Cup is one potential opportunity. I think that students could also look at service projects for local organizations may also be possible. Non-profits often cannot afford professional work but may be willing to accept help from teams of students. 

The benefit to students are that they are forced to develop scheduling and time management because projects that are done the day before a deadline are not likely to meet the needs of clients. many competitions that are project based, such as the Imagine Cup, have intermediate deadlines that also have to be met. Students also gain experience that they can talk about during interviews. Companies are impressed by students whose learning and achievement goes beyond what is required by course work.

While none of this is necessarily a magic bullet there is a chance for students to go beyond what they are learning in class.

Posted Wednesday, October 28, 2009 8:49 PM by Alfred Thompson | 4 Comments

Learning To Write By Reading

One of the most useful learning experiences I have had was working with editors. These talented people read my prose and make corrections, suggestions, edits, deletions and make some very helpful comments. Over time this has improved my writing quite a bit. Though of course it could still be a lot better. At the same time reading (or editing) other people’s work has also been a good learning experience. Somehow it is easier to see the run on sentences, mismatched tenses in other people’s writing than in ones own. Conversely it is also rewarding to see the clever turn of a phrase, good use of alliteration and other writing practices as other people use them. Over and over I have heard professional writers say/write that if you want to become a good writer you have to read a lot.

The same is true of writing computer software. I know I keep coming back to suggesting code reviews and having students read other people’s code on my blog but I really do believe in it. Closely related I am becoming more and more convinced that reading and modifying code should be more widely used as a teaching/learning tool. This all hit me specifically recently in the middle of a demo I was doing.

I was creating Pong using XNA as I have done many times before. (The demo script and sample code can be found via How To Create A Pong Game in XNA) Now I didn’t write this code. My good friend Sam Stokes wrote it. And to be fair the code was optimized for ease of demo and minimal code use not for demonstrating good practices. But a side benefit (just as if we planned it :-)) is that it has good potential as an “editing” exercise. Take for example this sample:

 

   1: class Paddle
   2: {
   3:     //position of paddle
   4:     public Point pos;
   5:     public int speed;
   6:  
   7:     //constructor - position
   8:     public Paddle(int x, int y)
   9:     {
  10:         pos = new Point(x, y);
  11:         speed = 6;
  12:     }
  13: }

Look at lines 4 and 5. Public variables? Ouch! Obviously it takes a few more lines of code to make them private because one also has to add getting and setting routines. I think that the first thing most students would see is what they “have to do” but I think the real learning comes with talking about what those routines would enable them to do. In a phrase “bounds checking.” As it is calling code can easily set unreasonable speeds and locations. Not a good thing.

What if the calling code set a negative speed? Do you want to allow that?

Theoretically the speed should determine the distance the object moves. Do you want to allow the calling routine to move the paddle more than speed points? Actually do you want a calling routine to change the location directly at all? Or do you want to add a move method that takes a direction (say up or down in this case) and have the object move itself? That reduces the need for setting routines at least for the class?

For a simple 13 lines of code (including comments and blank lines) there is actually a lot of discussion that can go on with this code. And discussion is a good basis for learning. Do you do this sort of thing with your students? As you review code from others do you think about the “what if” or the “how can I make this better?” or the “what other options are there?” for that problem? A useful exercise for everyone I think. And you?

Posted Tuesday, October 27, 2009 10:33 AM by Alfred Thompson | 0 Comments

Interesting Links September 26 2009

Windows 7 released to the general public last week so I have to start with a couple of Windows 7 links. OK maybe I don’t *have* to but there are a couple I wanted to share.

From the Teacher Tech blog there is a list of 7 things teachers will like about Windows 7. From the Microsoft UK Schools News Blog there is “What is it like to be one of the first schools using Windows 7” I know that a lot of schools stayed with Windows XP and didn’t move to Vista. I really hope most of them will take a good honest look at Windows 7. I do believe this is the time to upgrade.

Also coming so is a new version of Visual Studio. last week the beta of this product was released for people who want an early look. You can get any of the beta editions at the Visual Studio homepage.

You can find some Visual Basic “How Do I” Videos for VS 2010 at the Visual Basic Team blog. And over at Channel 9 they have a Visual Studio 2010 training course.

In other big announcements last week, Microsoft has donated the MSDN Academic Alliance program memberships to every high school in the state of Illinois. From the press release:

With financial support and assistance from Microsoft Corp., the Illinois State Board of Education announced plans to provide more than 640,000 high-school students with an opportunity to use professional-level software tools to develop work-force skills and prepare for post-secondary education by participating in the “bliink” Web design contest, whose theme “I Imagine a Green Future” focuses on environmental sustainability. Students will compete against each other for cash and prizes by developing a Web site using Microsoft Expression Web software, which will be donated to every high school in Illinois as part of the Microsoft Developer Network Academic Alliance (MSDNAA) program. Tutorials and curriculum units, created by a team of classroom teachers, and mapped to national standards, will also be provided at no charge. Microsoft’s software donation has been valued at over $4 million.

I’ve blogged about the Expression Web design course in the past of course but if you are in Illinois now you have another reason to look at it.

Last week at the Massachusetts state-wide STEM conference a new program called Digits was announced.

The DIGITS program introduces sixth grade students to a corps of STEM professionals –called STEM Ambassadors – who work in science and technology-based careers, are enthusiastic about their jobs, and interested in interacting with students.STEM Ambassadors, recruited from companies throughout the state, volunteer to visit sixth grade classrooms to tell their personal stories and engage the students in a series of interactive, multimedia exercises that help them overcome their fear of STEM subjects, encourage them to be more open to math and science, and stimulates their ability to visualize themselves in STEM jobs and careers.

It looks pretty interesting and I am pleased that Microsoft is one of the companies that is planning to provide volunteers to help with this effort.

Also at the STEM summit I participated in one of the workshops where a number of people and organizations shared resources and ideas for incorporating computer and Internet technology in schools. You can find the wiki with resources at http://wingspread102009.wikispaces.com Most of the resources I contributed are listed under the name Guarin because Edwin Guarin from my team was a key contact early on.

Science today is more and more about the data – lots and lots of data. A new book about this is now available for free online. It is called The Fourth Paradigm: Data-Intensive Scientific Discovery It was produced by Microsoft Research and a friend of mine was one of the co-editors. Its an interesting read though and give lots of insights into the future of scientific discovery.

From  @Microsoft_EDU on Twitter I found this link to a neat educational download. This featured free template from Office.com is a complete school report notebook kit with cover, binder spine, and divider tabs for Word 2007. Check it out.

Posted Monday, October 26, 2009 5:15 AM by Alfred Thompson | 0 Comments

Small Basic 0.7

Small Basic is a great little project out of Microsoft’s DevLab that I have been following for a while. It’s a simple, little Basic language and IDE that harkens back to things like Qbasic and GBBasic and other early versions of BASIC that many of us cut our programming teeth on. The latest version has a feature that I think is just “killer.” As you can see in the image below there is a “Graduate” button now.

image

The Graduate button creates a new Visual Basic .Net version of the program and opens it in the Visual Basic IDE. This looks like a very useful step in the process of moving from a simple learning environment up to a more complete, professional development environment. I’m looking forward to hearing from people using this feature with students or from self-learners who try it out.

Other enhancements in SB 0.7 are still more local language options. Besides English, Small Basic now available in Chinese, French, German, Italian, Korean, Russian, Spanish, and Turkish.

More information and the free download at http://SmallBasic.com

Posted Friday, October 23, 2009 11:23 AM by Alfred Thompson | 0 Comments

A Week For Computer Science Education

Have you seen the announcement about Computer Science Education week yet? Congress has passed a resolution designating the week of December 7 as Computer Science Education Week. This week was selected because it covers the time of Grace Hopper’s birth anniversary. I think that is a wonderfully fitting time period myself.

Cameron Wilson of ACM has a blog post about how Computer Science Education Week came about in the Congress. It’s really great to see that Congress “gets it” at least at some level. Cameron goes on to say:

Because Congress voted on this week doesn't mean much if the community doesn't do something to make the week tangible. ACM plans on partnering with key computing organizations -- Microsoft, Google, Intel, the Computer Science Teachers Association, the National Center for Women and Information Technology, the Computing Research Association as a start -- to develop a website and outreach materials. Third, these resources can be plugged into the schools and to a variety of audiences including policy makers, school administrators, teachers, parents and the community itself to be used in a variety of ways.

As these resources become available you can bet I’ll be writing about them here as soon as I find out about them. But it is not to early (or too late) to start thinking about and scheduling things for the week of December 7th. Let’s get out there and promote the idea of computer science education to students, administrators, school boards and the general public.

This is not a completely new idea though. Brian Scarbeau has been promoting this idea for a number of years. One year he even got his city mayor to make a proclamation (http://sws.lhps.org/Default.aspx?alias=sws.lhps.org/computerscienceed ) A grass roots version of Computer Science Education day (which both Brian and I pushed in our blogs) was started with limited success (largely because of little outside support) several years ago. A number of high schools have taken advantage of this idea to have events in their schools.  So this is an idea that has potential for impact with this Federal recognition and materials to support it.

And much thanks to Cameron Wilson and ACM for taking this ball and running with it through Congress!

Posted Thursday, October 22, 2009 11:11 AM by Alfred Thompson | 4 Comments

Students Teaching Students

The highlight of my first year of teaching came Monday morning when the kindergarten kids came into my computer lab. I was working part time at two schools and between them I saw grades kindergarten through grade 8. It was a crazy schedule but the kindergarten kids started my week off. Kindergarten students are excited learners. Not only do they think teachers are wonderful people (they’re right of course) but they think just about anything new is wonderful. Plus they are fearless.

Fearless did not exactly describe me the first day the kindergarten teacher and her full-time professional aide brought 24 students to my lab which was outfitted with 12 Apple IIe computers – and left me alone with them. How am I going to do this? I wondered. I had some cute little educational game which had been purchased by previous teachers. But you see there were words on the screen that told students what to do and the first week of school few if any of these students knew how to read. I had visions of running from student to student, non-stop, telling each student what to do next. Fortunately the reality was much different.

I quickly learned two things about kindergarten students. One is that they figure things out quickly. The second was that they share knowledge with their peers at an amazing rate. I mean really amazing. I doubt that I explained the same word more than three times to the whole class and never twice to the same student. Students sat two to a computer and helped each other out. They self-organized – yes kindergarten students – and took turns using the keyboard with one student helping the other make the right things happen. In fact in hindsight what they were doing looks a lot like pairs programming.

The Lifelong Kindergarten Research Group at MIT’s Media Lab has some important insights into learning that makes some of my observations seem reasonable. A note from their home page.

We develop new technologies that, in the spirit of the blocks and fingerpaint of kindergarten, expand the range of what people can design, create, and learn

A lot of what we do with kindergarten students, sort of out of necessity, actually seems to work a lot better than things we do later because we think students are “ready for new ways.” One of these is having students work together. Teachers are starting to adopt pairs programming in teaching computer science. There is some research coming out that suggests this works well but many people still resist this because we tend to associate students working together with students cheating. I think though that is some cases this attitude results in less learning rather than more.

We tend to assume that in any team one person will carry the work and the other will coast and not get any (or at least not as much) benefit from the activity. In some cases I think that is because of a self-fulfilling prophecy on the part of both student and teacher. We talk so much about that happening that students assume that is the way it is supposed to be. We appear surprised when teams work out when if we look at how things work in the very youngest grades we should be surprised when it doesn’t work.

Interestingly enough, when I do workshops for teachers there is always a lot of “student helping student.” Teachers think nothing of helping their peers learn. No one thinks “Those teachers are cheating!” We recognize that these are people helping each other learn. We know that this helping results in all participants learning more. And yet somehow we don’t think it works that way for students. Seems a little silly if you look at it that way.

Pairing up students to work on labs and exercises and perhaps even larger projects is an idea that is really starting to get me excited. Perhaps it is my lack of professional education training but I think more in terms of how much do students learn than how do I give out grades. (joke – I think) But learning is what teachers are all about right? So if pairing up students results in more learning isn’t it worth trying to do? That’s where I’m leaning.

So have you tried pairs programming in class? Or small teams for projects? What’s your experience with this idea?

Posted Monday, October 19, 2009 11:58 AM by Alfred Thompson | 2 Comments

Filed under:

Workshop Links September 17 2009

One of the things I like to demo and to have people do as sort of a “Hello World” for XNA Game Studio is create a simple Pong game. I did this demo today (well technically I will do it this afternoon) and thought I should make the materials more easily available. So I have uploaded them to Skydrive at the links below.

How To Create A Pong Game in XNA 

Includes:

  • Step by step instructions
  • Code Snippits
  • graphical content

I’d also like to link to a previous post where I listed direct links to the individual modules of the Introduction to Programming Through Game Development Using Microsoft XNA Game Studio curriculum which I talked about today. As always you can use the XNA keyword to find previous blog posts about XNA resources.

Posted Saturday, October 17, 2009 10:25 AM by Alfred Thompson | 2 Comments

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.

Posted Wednesday, October 14, 2009 5:53 PM by Alfred Thompson | 1 Comments

Opinions on Supportive Curriculum Resources

I’m looking for some feedback. I’ve been working on the idea of creating and sharing some computer science related curriculum units. Some might be fairly comprehensive and some, well, let’s call them supplemental resources. The idea is to provide some helpful units that a teacher could incorporate into an existing or planned course without having to do all the prep themselves. It would be as product/company neutral as I can make it too. 

I’m looking for feedback on the idea with emphasis on are these the right units? Are these the right things to include as supporting resources? Would people use this sort of thing? And anything else you may want to add.

What might be in each packet?

  1. A PowerPoint deck (may have several parts to presentation)
  2. A List of additional information web links
  3. An Exercise and/or homework assignment
  4. Sample questions and solutions for incorporation in a test or quiz
  5. What else?

Under topics I’m thinking of a couple of groups of ideas to cover.

  • The Big Picture
    • History of Computing
  • Internet
    • Elements/Terminology
    • Search Engines
    • Sites
    • Security
  • Information Layer / Discrete Mathematics
    • Binary Numbers
    • Data Representation
  • HW Layer
    • Gates and Circuits
    • Components
  • Operating Systems Layer
    • OSs
    • File Systems & Directories
  • The Applications Layer
    • Information Systems
      • Spreadsheets
      • DBs
      • Security
    • Artificial Intelligence
  • The Communications.
    • Networking
    • Protocols
    • Network Addresses

I’d like to find ways to replace just reading a chapter in a book for example. Try to make it interesting and relevant. For several of them I am thinking of what I might call a case study to serve as a discussion starter. Target audience? Early high school or late middle school. Perhaps in an introduction to computing course, a basic programming course, or a survey of technology course.

Posted Tuesday, October 13, 2009 6:21 AM by Alfred Thompson | 11 Comments

Interesting Links October 12 2009

Well here it is Columbus Day and my home wi-fi is dead – long story. So I drove to the library to use their wi-fi. And they are closed. Closed on a holiday? I guess it make some sense. Fortunately the wi-fi reaches the parking lot and so I sit here working on some stuff that absolutely has to get done today. So ok blogging is not absolutely has to get done but other stuff does. I wanted to post this while I was connected though. Twitter continues to be a great source of useful links for me. So does my email and I really appreciate the people who email me links to share. I hope you will find one of more of these useful.

SIGCT, NCWIT and ISTE have announced the free Gotta Have IT Webinar

  • ISTE's SIGCT and the NCWIT K-12 Alliance present a FREE Gotta Have IT webinar. Join us as we highlight important issues and opportunities related to computing and advise you on making the most of your Gotta Have IT resource kit.
    Gotta Have IT, a select set of high-quality posters, computing and careers information, digital media and more, builds awareness and inspires interest in computing. Gotta Have IT was created by major capacity-building organizations and corporations who are committed to improving the representation of women in computing. Learn more about the NCWIT K-12 Alliance here: http://www.ncwit.org/alliance.k12.html.
    Didn't get your kit at NECC2009 in DC? The sources for all the materials can be found at: http://ncwit.org/ghit. Get yours today and join us for the FREE webinar.

Do you know any student bloggers? Age 18 and older who have been blogging at least three months? From @scottlum I found out that Microsoft will send one female & one student blogger from the US to Winter Olympics based on an online contest.

It’s not too early to think about conferences next year. Especially the really good ones. From @ghc I saw a “Save the Dates!” message about the Grace Hopper 2010 conference, Sept 29 - Oct 2, 2010, Atlanta, GA. Next year’s theme: "Collaborating Across Boundaries" I’m thinking about some ideas for presentation proposals. I’d like to work with a teacher or two on some of them and do a joint talk.

Several sources told me about an amazing series of educational videos by Salman Khan at http://www.khanacademy.org/ He doesn’t have computer science videos yet but is planning on some in the future. What he does have looks really good though. Share them with your friends who teach other subjects.

Randy Guthrie who works on the academic team at Microsoft (Twitter @randyguthrie) Posted a great blog post titled  Installing Windows 7 on an older computer: a realistic scenario If you are concerned about installing Windows 7 on older computers at your school, office or home this post is well worth checking out.

The always interesting Peter Vogel (Twitter @PeterVogel) linked to an interesting look at the periodic table. This example, from a researcher at Microsoft is circular. Hard to read in hard copy but I’m thinking it would be interesting if made interactive so that you could turn it in the computer screen.

Angela Maiers (Twitter @AngelaMaiers) linked to this article 30 Twitter Tips for Teachers If you are thinking about trying Twitter and joining the huge academic community online using Twitter take a good look at that article and get a good start. (Follow me @AlfredTwo of course.)

  

Posted Monday, October 12, 2009 10:44 AM by Alfred Thompson | 0 Comments

More Posts Next page »
Page view tracker