Friday, November 5, 2010

Catching up with the APCS Principles Class

Where to start. I think it makes sense to do a fast catchup across several related areas and a preview of what is coming down the pike (that's short for "turnpike" - a term that seems to be used more on the east coast of the US than elsewhere).

Catchup Post: The APCS Principles class:

Students took their midterm Tuesday. No results on that yet. Prior to that, as I mentioned before the presumed virus temporarily but very painfully brought my computer to its knees and suspended postings, Beth had reminded the students that the midterm would look very much (very much) like the clicker questions they work with in class every day. Just prior to the exam the percentage of correct answers on these in-class questions rose to 90% .

Also prior to the midterm, students were polled anonymously about their interest in taking another computing class next term. The most logical class, and the one referred to in the question, was the first programming class in the degree program. Approximately 184 students responded with positive replies - nice numbers to see. This doesn't guarantee enrollment but it certainly sends a message that the class and material are encouraging many students to consider additional computing study. And to think positively about computing in general.

Important contextual material when considering the above items, and thus worth noting, is that the course has gradually been doing less "hand holding" on the assignments. This process started as early as the second week of class. The resources and support continue as available as ever, but meanwhile the labs and homeworks have been gradually increasing the amount that students are asked to reflect for themselves and make decisions based upon their own analysis. There is also a built in mechanism for students to fully express their creativity and go the extra mile if they want to.

A quick example of how this works.

All programming based assignments clearly lay out goals, objectives and program requirements. For example, the first lab, following the early chapters of the Alice textbook, focused on Objects, Methods, the concept of an instruction, and of a control structure.  In this lab students were provided a step by step set of instructions that helped them learn the Alice world as they simultaneously learned the programming concepts.

In a more recent lab, the goals, objectives and requirements focused on the use of functions, conditionals, and logical operators. Again, a list clearly laid out the programming requirements, e.g. "You must use as least 3 functions in your program, one of which must be new (e.g. you create it)". However, the approach for completing the assignment had evolved as follows:

There were two options for completing the assignment - one option allowed the student to create their own Alice world (program) using any scenario they desired, as long as it incorporated the listed requirements. The idea was to encourage creative expression.

The second option listed the same program requirements as for option 1 but provided a scenario to get them going. The scenario in this case was: Help fish clean up polluted water while avoiding swimming into the pollution. Although behavior suggestions were given for the Objects that would help the students meet the objectives, there was no step by step set of instructions on how to complete the assignment. Thus students had to perform the same kind of planning and analysis as students who chose option 1.

Finally, for those who really wanted to go the extra mile, there was an extra credit assignment. Students programmed the calculation for the power of an ocean wave - while keeping a surfer on top of the wave. This is San Diego after all - surfing is big time here. If you can't surf you can always get a boogie board.

Coming Down the Pike: visiting dignitaries, more on mobile applications, medical bio-informatics. And a few other things.

No comments:

Post a Comment