Additional profile information on Alfred Thompson at Google+
It’s surprising the number of times I get an email or see one posted to the Advanced Placement Teacher mailing list that starts something like this:
“I’ve been asked to teach Visual Basic this fall. I’ve never taught VB before and I’m not all that familiar with it. Where do I start?”
Scary isn’t it? It’s really scary if you are a teacher in that situation. Fortunately there are people to ask (start with me), websites to go to and resources to learn from and to teach with. None of that is comforting unless you know where they are though. So the purpose of this post is to start people off in the right direction.
The first place to start is www.mainfunction.com. If you haven't signed up for a free account there I recommend that you do so as soon as you can. There you will find articles, projects, curriculum materials of all sorts, tutorials, and all sorts of useful things.
One place for a teacher who is new to Visual Basic to start with is with some free tutorial videos. There are many more (many free and some for a fee) tutorial videos at http://www.learnvisualstudio.net/ which is a third party web site. I’ve heard great things about those tutorials. Plus you can learn a lot about how to teach by watching someone else teach.
For curriculum materials I would again look to the curriculum page at MainFunction where there is a fairly full "Intro to Computer Science with VB .NET" curriculum that you could easily work through to get started and then use to teach your own students. Also at MainFunction is a book of projects for Visual Basic for the classroom. I wrote those projects so of course I think they are pretty good. But honestly people have been using several versions of that book (it was originally done for VB 6 and later updated for .NET) for years and I get a lot of compliments on it.
There are also a lot of really good textbooks for Visual Basic. I have written about them in the past and probably will again. I’m always looking for comments and recommendations on VB books from teachers who are currently using them so feel free to leave a comment or send me an email about books you like (or hate).
And if you are worried about software you have two options. One is to use the Visual Basic Express Edition (free download here) or the MSDN Academic Alliance program that allows you to get Visual Studio 2005 for all of your lab computers, your teacher prep computers and send copies home with your students to install on their own computers for a single amazingly low price. Full details here.
The Computer Science Teachers Association (CSTA) came out with a new report in the last week or so that is really worth reading. It’s a report of the CSTA Curriculum Improvement Task Force and “provides a comprehensive look at high school computer science education in the United States and around the world.”
There is a lot of great information here and the references along are probably worth having if you are really interested in seeing the state of research into high school computer science education. This document does summarize a lot of it in a clear and powerful way. This is the report you want to have to make the case for CS education in your school and to think about how it should really fit into the school curriculum. It is also a document that your superintendent of schools, director of curriculum, and many people on your school board should read.
The report is available online as a PDF or can be ordered from the ACM Order Department (1-800-342-6626). It’s full title is “The New Educational Imperative: Improving High School Computer Science Education” And of course if you are a computer science teacher you really should join the CSTA. Membership this year is free thanks to a large grant given to support the effort.
I’ve long been a fan of group projects though I admit I had mixed results with them when I was teaching. With the benefit of some hindsight I have concluded that the projects that worked are the ones that I really thought out first. The few that I just tossed out to fill up space at the end of the year or with short notice because I decided at the last minute that a project was too large for individuals, well, those are the ones that didn’t work so well. On the other hand when I designed a project from the ground up as a group project, carefully decided on a grading rubric and made sure there was the right amount of time to do the project those projects worked pretty well.
I was reminded of all of this while reading Susan Canaga’s blog this morning. Today was the latest update in a group project built around the Hunt the Wombat. (I blogged about that here back in April.) Susan clearly planned this out well and it sounds like her students are learning a lot. She includes a list of things that caused problems for the students. Mostly these are the sorts of things you expect with students – they’d rather jump into coding and skip the part about reading the documentation and planning out a design. The nice thing about group projects to my way of thinking is that these can be fatal mistakes but that they become obvious early in the process.
Group projects only work for the team when there is a plan and the various pieces are designed to work together. Students who each go off and do their piece of code without the group agreeing on a solid plan tend to wrote code that doesn’t “play well with others.” The first time student s attempt to put these pieces together problems become obvious. If students do this early it gives them time to get back on track. But it seems to be a lesson that all too many students have to learn the hard way. I think it is great if they can learn it before college but completely essential that they learn it before their first job.
Later this week Susan’s students are going to code review each other’s code. Now that should be an interesting report. Code review is another wonderful practice to teach students early.