Friday, September 29, 2017

Days 16-18: Introducing objects

AP CSA


On day 17 I did a code along lecture for making the Pin class.  I am realizing one of the equity issues I am having in the class simply has to do with fluency with typing.  When I do a code along, some students need to think really hard about the typing piece, where as others type really efficently and then have time to process what they typed.

This is almost more of an issue in my CS classes vs my math students since if math students don't know their facts, punching things into the calculator doesn't take that long - there is no real way to overcome slow typing - just to learn to do it faster.

This also gives me more motivation to do flipped class/lectures.  In theory, students would be able to pause the video, type, and sense make... but I don't think that is what usually happens when students watch videos.

I am also starting to remember to record my lectures.  So far 20 people watched (or re-watched) my lectures from the Pin class...

Speaking of the Pin class, here was how I formally introduced objects - I was inspired Ria Gallanos.  We started by brainstorming people's dream vacations and putting them on google maps.  I asked people where they wanted to go, and then changed the pin's name to their name and in the comments I added what they were going to do there.

Then at the end, I changed all the pins to match their favorite color - the pins started out blue automatically which was PERFECT to explain (later) why we might want to have a setter method for pin color.

Here's what the map looked like:

From there students brainstormed what ATTRIBUTES and ACTIONS that the pins had.  We put them all on the board and then started to make the "Pin" class.  It was a great way to introduce setter and getter methods AND a perfect hook into the lesson.

I think next year I would do this BEFORE the fish lab.  It is weird that we are doing objects before we learn about objects.  While visual things tend to hook students, I think I would not use any classes for our visual projects - maybe make one really cool fish to learn some basics around parameters and using functions, then learn how to make a SCHOOL of fish by changing the xLoc and yLoc.

WHEW...  then today (day 18), students worked on labs that use classes.  Students worked on the labs while I actually checked their fish labs to make sure that they have code that uses parameters in their "Fish" class and then instantiated 3 Fish objects in Fish Panel.  I noticed that some people didn't get the point of that, but their picture still looked good.

By my second hour, I learned that I needed to provide easier on-ramps for students with the lab.  I opened up the first Objects lab on quadratics and wrote comments inside the code for students.

The parts in gray below I talked with through students.  This helped them understand what they needed to do.


Otherwise, this is what that file looked like:

By my third hour, I decided we would do it in a code-along fashion.  I would talk through a part with students, they would try it on their own, then we would do it together.  That worked out pretty well - I will certainly do that more often with students.  It also modeled how to effectively use comments to communicate.


CSP

Students worked on their projects.  I gave students a choice between doing a story/metaphor for the internet or researching an issue connected to the internet.  I think I gave students too much time to do the project - they were getting pretty goofy by the end and not focused.   Monday we start presentations.


Concepts

We worked on systems of equations, slowly.  The desmos activities were a nice transition for students.  We also need new seating charts.


One good thing

Students in concepts were asking for more Desmos activities - that seems like a good thing to me!

No comments:

Post a Comment