Code-along style lesson

I LOVE this lesson! So much!

I taught this using a “code-along” style of the lesson - I looked at the little narration and did a think-out-loud with students that roughly followed that narrative. It was a great way to engage students a bit more evenly and hear how programming really happens - you throw out ideas, then throw out better ideas, you move code around, and test code repeatedly.

As we talked about the plan, I put in comments into my code on the screen to A) model making comments in code, and B) to allow students to “fill in” the code in the comments if they were able to independently.

I am wondering if people have other ideas for similar types of lessons/apps. Now that we have done this together, I would love to give students another mini-challenge to create given the design in place and have them create the algorithms/functions to get the app to work. Any suggestions?

4 Likes

@hwalden actually helped me with this question, but I thought I would share it here with her permission!

You can see how the game actually works here.

The general flow of the activity looked something like this:

  1. I showed the app to students and had them brainstorm what was happening in the code behind the app.

  2. Then I gave them an app with all the code removed. Students need to come up with a “to-do list” as a programmer. This included names of functions that they thought they needed and what a description of what that function did when called. Note: after seeing students struggle with variables, I think I would also add a "What types of variables will you need? What information will be stored in those variables? When will those values be updated?

  3. Students had to get their to-do list checked off by me as I asked them questions about their plan. They could work with a partner (pair-programming style) or by themselves. I checked in with groups about how they were making progress on their to-do list.

  4. We spent the next 3 days working on this app. I had students who were feeling a bit more on top of the content make an option where the user could select what type of operation they wanted to work on (addition, subtraction or multiplication).

I thought this also served as a great task to have students think about how they could get an “AP worthy” algorithm into this task.

Variations/concerns:

  • I could see this task perhaps being off-putting to some students who are not that interested in math, but I think the “build a game” task always seems to go over well with my students (even if the game requires math).

  • I also thought of NOT giving them the design of the app laid out and just asking them to build an app that “requires that students practice math facts in a fun way” to see what types of creative things they come up with. I told students they could change any of the elements they wanted to in the design mode but no one did. I think students might surprise themselves (and me) if they had even more choices here but I also wanted to focus on the programming a bit more.

  • The way the app works in the video uses the key events which students haven’t learned yet. My more enterprising students looked it up, the others I suggested add a “submit” button to the app.

Overall though, this task helped me assess where students were in their ability to more independently put together a program. I will probably do one more task like this and have students write up a full Practice Create task set of responses too.

4 Likes

I broke this lesson up into four days. And isolated the project into 7 tasks.

The first year, I let students go at the their own pace. And this year I moved us as a class through the tasks.

It was so much easier for us to stick together through the tasks, and help each other out.

Day 1 –
Task #1 – Planning An App & Setting the Color – link [Stage 1]
Day 2 –
Task #2 – Activating Buttons – link [Stage 12]
Task #3 – Taking Turns – link [Stage 16]
Day 3 –
Task #4 – Updating the Score – link [Stage 19]
Task #5 – The End Game – link [Stage 22]
Day 4 –
Task #6 – Add Your Unique Element – link [Stage 23]
Task #7 – Submit Your Completed App on Google Classroom by Midnight

4 Likes

Do you have an example “key” for this app? I am going to have students follow your instructions] and the suggested timeline. This is such a great idea you had! I can’t wait to have my students practice their learning from the color sleuth app.

Katie,

I love your idea! Is it possible that you can share the codes with me? My email is awei@bishopamat.org. Thank you so much!

Audrey

Does anyone have students do this assignment in teams using pair programming? I did it in teams last year and it seemed to work okay. This year I am also doing it in teams, but with a firm deadline to mimic the deadline for College Board. Will see how that works out. But doing it teams I think helps those who are struggling a bit. They do talk more than I have heard them all semester. And talking about programming. So I am curious to know if anyone else does this as a team assignment.

@kimberly_l_gustin, I think this is a GREAT lesson for pair programming! You could even have students take on the different students in the “play script” and ask them to read them out loud as the individual students in the script.

What I did this year was have them do a code-along class-wide start to the project (we got the buttons for the different colors working and set up a score function), but then they had to determine how to make the boxes switch off between player1’s turn and player2’s turn and how to “end” the game - they did those parts in pairs.

We do a lot of pair programming throughout the class this year so I sort of saw the “code-along” as a different modality for them to learn/think like a computer scientist.

You make a lot of good points through as to why pair programming could be a good strategy to use here! Let us know how it turns out!

KT

Hi @awei,

I might be able to, I am just not sure what you mean by “the codes” - what are you looking for?

Thanks!
KT