Wednesday, June 06, 2018

Looking Back At APCS Principles–My First Year

During a conversation with my dean, he said it takes about three years to really get teaching an Advanced Placement course down pat. I don't know if that is the right number but it is surely more than one. This past school year I taught APCS Principles using the curriculum from Code.Org. It was a life saver. I had four preps this year and two of them were first time for me. Well one of them wasn't completely first time but I was doing a complete starting from zero rewrite of it. So there was a lot of work to do.

The tools supplied online were really quite good. The simulators were amazing and let me do some things I could not have done without them. Code's videos, some of which I used in other courses as well, are just outstanding. High production values, outstanding and diverse presenters, and just the right length to not lose kids. In all honesty, a properly motivated students could probably use it as a self-passed course. They would not get as much out of it as being part of a class but they would do ok.

We had some great discussions in class which I think were very valuable. I had three students from China which made talking about issues like censorship and government control of the internet, among other things, extra interesting.

There are a few things I know I need to do differently next year though. The performance tasks are a big part of what I need to do differently. I gave the Explore task in the start of the second semester. That has to get moved to first semester. That will give me some more flexibility in the second part of the year.

Like a lot of people I made the Create task due at the official “drop dead” date set by the College Board. Huge mistake as panic set in and only an extension owing to system glitches on the College Board site made it possible for all the students to submit. Next year, we’re doing it earlier. No midnight deadlines on a system that will be overloaded.

I also need to work on making sure the students understand the requirements on the performance tasks better. Now I had to be teaching to the test and that is what I’d be doing. At the same time they REALLY need to learn to read and follow requirements. That is an important lesson. That makes me feel better about it.

My students all come in with previous programming experience but what I found this year was that was somewhat uneven. I have to be more aware of the students who are not as into coding as others. APCSP is about a lot more than programming but I don’t want students to miss out on that piece. I may reorder some things in the course around that as well. I need to get more programming in before I assign the Create Task I think.

I still have a bunch of processing to do and I hope to talk to other teachers at the CSTA Conference next month. I figure that knowing I have to do things differently is half the battle though. If you taught APCSP, with the curriculum or with something else, I hope you’ll share what you learned about teaching it in the comments. 


Garth said...

Hopefully it will not take 3 years. The course will probably change in 3 years and have to revamp it to stay current. Some courses do not have change a lot; VB, Python and a number of the mainstream languages could be the same for 10 years and still be usable. But there are just so many new and interesting things to play with in CS why would any one want to do that? That is why I make sure I have at least a "Gaming Making" course each year. No fixed course outline, just a general idea painted with a big brush. Even my Python course where I have used the same book for 5 years is never the same. I get new "good ideas" to try. CS is so much more fun to teach than math because every year can be a "first year" with new stuff to teach.

Alfred Thompson said...

Garth, What do you do for assessment for your game making course? I have to have grades to enter.

Garth said...

The assessment is often a real warm and fuzzy. Effort is a big part of it. One of the projects is to build a Rube Goldberg machine with Unity. I can actually set objectives for something like that. Other times I will have a tutorial series I want the kids to work through. I grade on progress then on what they can build using the ideas in the tutorials. This is where it can get a bit vague. Some kids just have a talent for coming up with ideas of their own and running with it. Others will apply the same effort but not be original thinkers. Hard work deserves a good grade. Being able to understand the idea easily without the hard work and coming up with something cool also deserves a good grade. One grading rubric will not fit all in a class like this. Having class of 4 - 8 kids makes this individual grading possible. I can see what each kids is putting into what they are doing without having a fixed rubric. If I had 15+ students I would have to set weekly goals and build required tasks with each assignment having a fixed deadline. This would kill the idea of being able to try something different and not have it work.

My game course is a "let's tinker with some software and see what it does" type of thing. Let's learn how to learn software. That scheme does not lend itself to a fixed grading scheme. I regularly tell the kids what I think their grade will be with the effort they are putting it. If they disagree we negotiate. Sometimes they convince me, sometime I convince them.

This may not be much help.