I have started working on next year’s curriculum. Every year I look at what CS content/courses we are teaching. I try to decide if we are meeting the needs of students, the capability of the CS staff (all both of us) and the changes in technology. Presently our freshmen take an apps class (Office, Photoshop, Audacity, etc) and/or a tech class (internet use, viruses, hardware, networking, etc). They have no room in their schedule for anything else. Many of our incoming freshmen do not need an apps course. They have had most of the content in the 7th and 8th grade so I have to decide do we bag the apps course, re-write the apps course, and if we bag it what do we put there instead? Our kids are required to take one semester of tech for graduation so these satisfy that requirement right away. Our other non-programming class is the yearbook. This is counted as a tech class because the kids work extensively with Photoshop, digital cameras, and Jostens on-line yearbook software. The apps teacher would also like to offer a Photoshop/Web page course at the freshman/sophomore level. This might be a good substitute for the apps course
On the programming side of the house we offer Programming I to Programming until I run out of kids. If I have kids I will offer 6 semesters worth of courses. There is always something for them to do. Right now we have the following:
Programming I – Scratch, Small Basic – mostly mainstream sophomores that could not find another elective.
Programming II – Visual Basic – sophomores, juniors
Programming III – more VB – juniors
Programming IV, V, VI – depends on the kids and the assets.
My present thinking:
Programming I – Scratch, Small Basic – still mainstream kids
Programming II – C# (probably with Rob Miles “Yellow Book”)
Programming III – C# with XNA (more Rob Miles)
Programming IV – Java (to see something other than a Microsoft IDE)
Programming V,VI – Phone Apps, depends on the kids and the assets
Previously we offered VB as our Programming I course and were losing kids because the text was as exciting as watching toast cook. Now the kids write some simple games in Scratch and SB, the fun factor has gone up, they still get the basics of programming and hopefully the retention in the CS program will go up. C# now has textbooks that are appropriate for beginning programmers and there is some equally good XNA material out there. The Java may not even last a semester. With two semesters of C# before Java may be anticlimactic. Just enough to get an idea of the IDE and language. I plan on watching how the AP Principles pans out. APCS is always out there but the numbers just do not justify it at the moment.
I really think phone apps will be the wave of the programming future. Laptops and netbooks will fade and phones with docking stations will take over. My summer target is to get some sort of course figured out so kids can write apps for their own phone. Win7Phone would be the obvious choice except this is Montana and the largest provider (Verizon) does not do Win7Phone. The iPhone is just now arriving in the state so it will be either that or Android. I would not be surprised that in a couple of years our Programming II is the phone apps writing course. I suspect it might increase class sizes.