Use this thread to discuss your questions and comments about how to run the lesson.
While using the Lego blocks would be fun, the alternative (Building Blocks of Drawing) and creating the algorithm to describe the drawing steps seems better suited to transitioning into the Turtle Graphics lessons. Has anyone completed this lesson yet, and did you have the students draw, or use Lego blocks?
I had my students use the Lego blocks. The purpose of this lesson is to create an algorithm in human language so the students see the ambiguities inherent in human language and the need to create a well-defined, agreed upon set of commands (programming language).
Last year, I did both activities. This year, I will probably use other materials for Lego building or just do the drawing. Just need them to understand or appreciate the need for a language. I might even do tying shoelaces.
This might be more of a “Thinking about ALL of unit 3” thought… BUT
Another teacher gave me the advice of “don’t let students get too far ahead.” Letting students work ahead just makes the gap between students’ knowledge greater and contributes to the inequity in the room.
Despite my best attempts to keep students together, I just am struggling to do that. Students will come in to class and say, I did all of the unit last night at home. In part, I am excited that they are loving the work… BUT that just crates a big problem for me as a teacher. Which, I know is selfish. I think I need to be more explicit about why I want them to work together or not work ahead. I also might start out the unit with some pair programming. I anticipate some complaints from students, but… we will see how it works, especially since the second unit is much longer and without as many hard stops - I need to have a plan to control student work flow.
For students who finish early, I am having students choose from the following:
- CSS or HTML in codecademy.com - this is the most user friendly option for students
- A student showed me http://projecteuler.net/ which has a few different problems that students can think through
- Start working through CS50
- Look into the Nature of Code and do problems from there (for students who have physics experiences)
I really only have students who are new to programming have them do HTML and CSS, but a few of them started doing some of these other tasks. My classroom is perhaps a bit unique in that this is the only CS class offered so students have this as their only option so I have a wide range of students abilities.
What other strategies do you have to keep students on the same page?
I like your ideas of HTML and CSS through codecademy.com. I had my students at the beginning of the year sign up for my class through codecademy for a safety plan for me. I have block scheduling and was worried about the lesson plan times and my 90 minute classes. I’ve found that I can do each lesson in about 45 minutes so I do around 2 lessons per class. I have had lessons that only take 70 minutes, in which I directed them to HTML and CSS (How to Build a Website). They liked this as an option. I felt like the HTML and CSS intro was also relevant to the Internet unit. Now that I’m in Unit 3 (just started) I showed them the Swift Playgrounds app on my iPad. It’s free and takes them through the principles of programming. My concern was the same as yours, in the fact I know I’ll have many students speed through the units and get far ahead of everyone. This is also the only CS class at my high school and I have a wide range of knowledge and abilities going into this class. What I’m doing with the Swift Playgrounds app is encouraging those who are quicker with this unit to play around and go through the units on Playgrounds if they are getting ahead. Playgrounds also comes with built in challenges like coding Rock, Paper, Scissors, or Brick Breaker. This is a fun alternative than the concept by concept approach. The students are really excited about this piece because it’s actual Swift Programming just like their iPhone apps.
If they don’t have iPads:
Quick question for you in regards to CS50. I did an intro to coding class last year and taught the CS50 curriculum after going to the CS50 bootcamp in Redmond, WA. It’s a great course with a lot to offer, however, at times I felt it was a little too in depth for my students (and me at times) for this AP CS class. I didn’t want to discourage any student from taking my class and found that CS50 might have done that with some of my students. Are you having your fasters students sign up for CS50 through edX and just having them do the online class? I think this is a great idea for them. Can you elaborate a little on how you’re incorporating CS50? I love Professor Malan and his videos. I’ve actually thought about assigning his videos as homework for my students to watch.
@joe_padon That’s a really good question.
I have one student who struggled to come up with an independent study idea for himself for this unit. So, I told him to get started on CS50. I just gave him PSET1 and told him to start. By the end of the 2 weeks he was on Pset3.
NOW, he is a unique, amazing student. BUT I totally agree that most students, even most students with previous programming knowledge, need more scaffolding. TBH I don’t know exactly how this is going to look for unit 5 for my high flyers. I don’t know if you have been following @mkaiser at all, but in her context ALL of her students have prior experience so she has been using parts of CS50. I plan on using her website to help me make sense of what I will do for students - that is going to be a Thanksgiving project for me! That being said, even she noted that the majority of her students needed scaffolding for CS50.
I will certainly keep you updated! Just right now I don’t have a lot to offer! I just know I need to provide a small set of students with more challenges without devaluing the progress the rest of the class is making and I think CS50 might provide part of an answer there.