Sunday, September 16, 2012
Arrays in AP Computer Science
I've been asked by a few folks for some help with teaching 1-D arrays in the AP Computer Science class. I went ahead and posted it in a public drive in Google Docs:
I am sharing with the full understanding that I cannot type or spell, so the typos are a part of what you are getting. I am also pretty sure these are not complete - I add a lot as we go.
We start 1-D arrays as a part of our third unit where we go over Strings and Arrays. Arrays are such a big part of the AP I think the earlier they are introduced to them the better. Then for each unit we cover we can use arrays as a part of our practice problems. So when we do methods we can practice arrays as parameters...you get the idea.
If you are interested here is my pacing guide for the year. We start after Labor Day, so it is tight. I am still adding dates, but it should be complete through May by the end of the week.
So, how do I teach arrays?
First off, I flip. So for homework the students copy the notes. This means in class we have a lot more time for practice.
Every day they start off with a fast start that reviews the topics we have covered. We then do a lab lecture or some some type of dependant practice. In a lab lecture I put small problems on the board and they code them. So for 1-D arrays I might ask them to declare an array of 15 decimal values. Then I check to see that they did it correctly. Next we print the values int he array, and I check. Then we initialize the array to the values 0.1, 1.0, 2.0, 3.0, etc. and I check. Point being this lets me catch the tiny mistakes they make in the beginning and they are more confident in their coding.
For the 1-D arrays we do a practice power point where the students write out their answers on whiteboards to make sure they understand the indexing.
Once we have done some practice together they work on independent practice and I float around and answer questions and generally nag them to get to work.
Really 90% of teaching is nagging, don't you think? This is just how I structure my nagging.