Tuesday, October 24, 2017

D32: Harkness meets AP CSA

AP CSA

After introducing for loops yesterday, I wanted to continue with the unplugged lessons.  The code-along style lesson worked well, but I still had concerns about students with slower typing skills not getting the most out of it.  SO... I applied what I learned from Exeter math and Harkness style discussions to my AP CSA class.

Some background:
Harkness is a style of teaching that Phillips Exeter Academy uses in all of their classes.  I think they are most famous famous for applying it in math where students discuss math problems in a democratic manner rather than drill-and-kill problems as traditional math classrooms seem to do quite frequently.  They do this at an oval table where all students (and instructors) sit around and have equal opportunity to talk about the problem.  They also do this with only 12ish students.  I went to Exeter's math conference 2-3 years ago and fell in love with Jonothon Sauer's talk about doing Harkness for 30.  I have started doing it in my concepts of advanced algebra class and really enjoyed how it values thinking over answer-getting and increases collaboration/engagement by all students.

Today, I decided to spend the day doing 3 unplugged problems, but have students get up to the boards and talk/write it out.  This allowed more students to engage and everyone to have equal access to common work (rather than individuals doing work in their notebooks).  In between problems, I had students do a gallery walk to give them more access to different approaches, make sense of other's work, and also break up the time a bit.

Here were the three problems:
Problem #1 was intended to warm students up with just numbers for the most part.

Problem #2 built on what students did with number 1, but added a string component which trips students up.  Many students used "charAt" which works, but I also was sure to use one that modeled using substring since substring is part of the AP set.

Problem #3 was a challenge.  It certainly built off #2, but it was a big step up.  We talked about what happens if someone puts spaces at the beginning or end of a string and what counts as a "word" - I said it should work like "word count" in google docs.  Something like "I have 7 dogs." should return 4 words. 


Overall it went quite well, especially after seeing some opportunities for improvement in my first two classes, by my third class I was ready to provide a bit more varied structure to the activity.  The first problem we simply did on the boards, did a gallery walk, and then I coded up one of the solutions and we talked through it together.



For the second problem, we followed a similar structure except I gave each group a red marker to use to make comments (or changes) on others' work. Admittedly, this was loosely defined - I didn't say what type of comments students should make (like questions, or changing syntax, or notes on formatting... etc).  I was shooting from the hip at this point, but I could come back to this later and provide more routine-like structure to the activity.  I did like how doing a gallery walk allowed students to see other approaches and make sense of them (although some students walked around more aimlessly rather than making sense of them - again, something I could probably routine-ize in the future.  Again, students went back to their seats when they were done viewing others and we talked about a solution and some common misconceptions with chars, ==, and in general using substring.

Heres what the class looked like in the round.  I "duded" out their faces for student security reasons which is a tinge sad because it is harder to see how they are interacted with one another.

The third one I knew was going to be more complicated and was going to take almost a half hour.  I needed to break up that time.  SO, I asked students to ONLY write out a framework for how to approach this problem (NO CODE!).  Again, while I have modeled this with students in the code along, admittedly, I think clearer directions/exemplars would give students more paths to success here.  What I had seen in the past is that individual students in the groups had ideas to solve the problem, but as a group they were having trouble settling on an idea and then attacking it.  My hope was doing some sub-goals would help the team decide how to approach the problem together before writing code.  Some students struggled with the "no code for the first 3 minutes" rule.  After three minutes they could write up their code and I encouraged them to comment their code along the way.

As students worked on the problem, I gave some students smaller problems to work on if they were still spinning their wheels - problems that had students problem solve the same type of problem but in a different (smaller) way.

At the end I wanted students to share their work so we did a presentation style share out.  I partnered groups up and had them present to their partner group what their solution looked like.  The group listening was to ask clarifying questions.  My hope is to next time provide more structure on what good "clarifying questions" looks like and what the presenting team should do with those questions.  I made a point to explain that a comprehensive solution was not necessarily what we were looking for, but the presenting group should explain what their code does so far as well as what cases they haven't covered yet.  Ideally, this would all be written out on the board already in comments or in a "not yet done" list.  Again... something I should model next time.  "Next time" is going to be great! :)

The groups switched of sharing what they did and some groups were able to help trouble shoot eachothers' code as I facilitated some conversations of off-task groups.  Overall, it seemed to go really well!  I noticed some of my slower typers were REALLY engaged during the lesson and had great contributions to their teams, whereas on code along days, that was not the case simply because they were working so hard on finding the right keys on the keyboard.  Harkness style removed that barrier for students.

Additionally, I was happy to get students up and moving around.  They were in new groups from this week so it was a good way to re-view our norms form the beginning of the year and build a community of collaborative problem solvers within the new groups.

I am hoping this pays off down the road!


AP CSP

We did the Find Min Human Machine task today.  One student said "I know how to do it, I just don't know how to do IT" - that's classic programming talk.  I also need to validate that.  If you have an outline of a solution, that is a great first step.  Get that on paper and then try to break it down into parts that you can do.  That's all abstraction which we will be talking about more this week, but I missed an opportunity to connect that today.

Concepts

Back to problem sets in concepts today around quadratics.  I'm still impressed with how students are asking good questions of me and of one another.


One Good Thing

I am so thankful to have a para in my math class.  Today he really helped facilitate a group to stay on task and pushed them in the right direction without giving them the answers.  It was awesome that he could do that while I bounced around to other groups.

No comments:

Post a Comment