Thursday, November 29, 2018

Day 55: Tackling functions in AP CSP

AP CSP

After reading student feedback yesterday, it was clear that we needed to do more talking about functions.  So, I created this image below and asked students to name what types of functions they saw along with what kinds of parameters they had.

We decided to tackle the rowOfDots one.  It also seemed like you could re-visit that one in the "conditional logic" unit too.



One thing I loved about this was that students had different ideas about how the rows of dots worked.  Some students wanted to add x and y location information to the function.  Others wanted to start drawing the dots where ever the mouse was, others wanted to move it back the far right.  We talked about how it was important to clearly define what the function does or doesn't do - as a programmer, that cold be their choice.  We talked about how the dot() function has a parameter for a radius but not a color or location.  I think I should have done all of this before the exercises earlier this week.  They sometimes struggled with them and I think this experience would have helped them.

Learning from CSA yesterday, we talked about it on the board first . Then we did it in App Lab.  Students seemed much more comfortable with that arrangement.

After all this, students did Lesson 1 in unit 5.  We talked together about User Interface, etc.



AP CSA
Today we did pair programming with some array problems

I asked one person to grab a whiteboard and marker which made a HUGE DIFFERENCE!  Navigators always have a more disciplined job.  They need to do more cognitive rather than physical work.  It is easy to gaze off.

ALSO, arrays are VERY traceable things.  A whiteboard gave the navigator somewhere to diagram out their thinking to share it with the driver.  It also allowed them a place to plan their code before writing it.  I have modeled this before and suggested comments as a way to do this, but the whiteboards are so much easier for ME to see.  I would say 80% of students used the boards.



I think talking about the content in yesterday's "Live Lecture" helped prepare students for today.

I also had students reflect (gotta love reflection) on the experience and when asked "what strategies did you use to overcome a challenge?" many students mentioned something from yesterday's survey.  So, maybe they are just parroting me, but I am ok with that for now.  I do think what I saw in class aligns with what they said in their survey.

I still have some reluctant pair porgrammers. One student said "peer programming isnt beneficial for me since there are different ways of doing a method"...

... yep, that's kinda the point.  There is more than one way to do things.  It is up to you to communicate that.

Some students said they had trouble explaining their thinking to their partner, this also shows that we need to do this MORE.  I could come up with sentence stems to help them do that.

Over all, I was happy with how the day went.  There was lot of equal communication that I saw.

Here is some other data from the reflection:
Forms response chart. Question title: Using the scale above, rate your self on a scale from 1-4.  As a driver, I type code based on my partner's input.  If I'm typing code that I thought of, I explain my thinking.. Number of responses: 42 responses.

Forms response chart. Question title: Using the scale above, rate yourself on a scale from 1-4.  As a navigator, I am paying close attention to the code and offering helpful suggestions but not touching the keyboard myself. . Number of responses: 42 responses.

Geometry
It was quiz day.  Nothing much to report.

One Good Thing
Again, I love trying new things and it is exciting to see how CSA is building up for this unit, I am feeling pretty good about the progression.  It seems smooth to me.

I also am excited for CSP - I think doing activities as mentioned increases rigor without doing damage to kids.