As usual I have devised an assignment for my advanced programming kids that I understand and like but really cannot do at the moment. We are going to write the old traditional Battleship game in Visual Basic. Luckily Rob Miles has written a nice little set of podcasts on just this game but in C#. No biggie, the same concepts apply and his videos are very concept based. Now I know exactly what I want to do, I just do not know how to do a lot of the VB functions. For instance, the first graphic step was to draw an array of square buttons on the form for the ocean on a game board. In VB6 I used to do this in a control array. VB.net has no control array. Gurrk! I found the Microsoft forum for VB.net and decided to give it a try. Jackpot! In an hour I had two excellent solutions that I almost understand. The logic of the solutions provided was fairly straight forward; it was some of the syntax that got me. Things like how AddHandler works, but I can see what it does. That is one of the problems with learning a language on-the-job. If the project you want to do is not in a book as a project, it is hard to get a starting point to learn from. I need a week long “Cool projects for high school teachers who know just enough VB.net to get themselves in trouble” course. On line tutorials are great, podcasts are great, but they are just a bit difficult to ask questions of. Offer the course in the Northwest, in the summer (not July 10, I have a marathon) and I, and probably a couple hundred other teachers, would be there. Back to playing with my program, I want to make the ocean blue, I think I know how to do that.
Archive for January, 2011
I did an experiment with saving and VB today with my kids. I had them save projects in different ways; local hard drive, network drive, and usb drive. I then copied their project folder from the saved location to a network shared drive and to a folder on my desktop to see what kind of issues would occur. From local drive – no issues, usb drive – no issues, network drive –urrk! Copy and paste results in a resource error because the program is trying to find a resource in the kid’s network drive folder. If I map their individual student network drive folder to my computer and then run their project things work just fine. A pain but it is a method. Except for the five computers in my advanced lab, kids do not have access to the local hard drives. I am going to have to play with this a bit more. I am somewhat determined to find a solution to this network drive issue, not because the issue is a big deal but because it presents an interesting challenge.
The Mac thing is also proving itself to be a challenge. Too many years with Windows. The install directions of the software I was installing said to drag the program folder to the Applications folder. Took me 5 minutes to find the Applications folder then I was told I had to be an administrator to change the Applications folder. I thought I was. Thank heaven we have a teacher that is a Mac guru. I have got to get some Macs permanently in my lab so the kids can learn multiple platforms. Of course it would help if my lab was not an over-sized closet with a max occupancy of 6 really close friends.
I have been teaching with various versions of Microsoft Visual Basic off and on for about 10 years now. My training is all on-the-job; get a book and stay a couple of days ahead of the kids. After a number of years of teaching VB I can write up a high school level VB program fairly well. I can teach the kids how to design and write a decent high school level program so they can understand what they did and not just copy my code. But every now and then it is clearly demonstrated I really do not know how to operate VB very well. I had my students write a VB final. Since my classes are small I typically just look over their shoulder when I grade their programs. This year their final was due on Friday and grades were due the next Tuesday with Monday a holiday. No problem I say. I will have the kids save their project folders in a shared folder on the network and grade the things over the long weekend. Imagine my surprise when I could not get things to run without getting a build error warning, I could not open code or view forms. There is something about the way VB saves projects that requires it be opened on the drive it was saved on or there is something with the way VB saves over a network that is a bit funky. If the kids had been saving their projects on their network drive I have all sorts of fun issues trying to get their project to run if I copy the folder to my computer and open it. If the project was saved on a local drive I can just copy in to my computer and everything seems to work. I need to take some time and narrow this issue down.
This is when it would be nice to have a “How to teach with Visual Studio” text. Not how to program, but how to teach with it. It is those little issues with school networks, how VS saves, and the best way to manage assignments so I can grade the things without having to jump through hoops that make VS a challenge. I would love it if Microsoft would put on a clinic titled “An idiots guide on how to manage VS for teachers”. All the VB books I have teach VB as if everything is going to behave in the correct, expected manner. I want the book that tells you what to do when things are not going so right.
One of the interesting challenges to teaching CS or VB is the lack of experienced colleagues to sit down with and discuss issues with. If I want to discuss math curriculum or how to teach a math topic I have two experienced colleagues in the building. Blogs and chat rooms are somewhat lacking, you never know who you are talking to and it is sometimes difficult to describe the problem or generate it consistently. I can usually figure things out if I get the time but time is something most classroom teachers do not have a lot of floating around.
Speaking of time I now have to go figure out how to run a Mac. My advanced class is going to try to write an iPod touch app with something called Corona from Anscamobile.com. Should be interesting.
We are a private K-12 school. As such we have to compete with the free public schools for students. Academically we are more than competitive. If you graduate from here, and did not goof off too much, you will have the academic background to attend any university of your choice. For many parents and kids this is a pretty big attractor to attend here. But given the present state of the economy we need to have something that will get parents lined up at the door trying to give us the $8000 per kid tuition.
Wishing to increase our attractiveness, one of the administrators has decided we need to be known as the “technology school” to increase enrolment. Personally, I think it is a great idea. After all, I am the school tech dude and I love tech stuff so of course I am going to love the idea. My only question is; what is a “technology school”? Does this mean a 1-to-1 laptop ratio, or four years of computer science is offered in the high school, or every classroom has a Smartboard and a teacher that knows how to use it? Or is there some other property that makes a “technology school”?
I am not quite sure the administrator realizes what would be required to implement any of just those three in money or labor. School technology is not plug-and-play. We have a teacher that uses a Smartboard regularly. He figures it took him about three years to get his curriculum rewritten so its use is justified and it is not just a big expensive mouse. We have kids who bring laptops into the school. We have teacher comments ranging from “terrific, I wish they all had them” to “we cannot have that”. I figure a curriculum re-write to take advantage of a 1-to-1 laptop ratio would require lots of staff time ($$), lots of staff commitment and re-education, and some major infrastructure upgrades ($$). The Microsoft sponsored School of the Future in Philadelphia had some major teething issues and that was with some major money and some major tech support.
So many school technology spending projects are so poorly thought out or implemented that the end result is only money wasted. Hanging a Smartboard on the wall and telling the teacher “here it is” is fiscally irresponsible. With our budget, fiscal irresponsibility is simply not something we can tolerate. So figuring out what a “technology school” is and how much it would cost to be one is not trivial.