- NPR Story about MP3 Compression This story did a nice job of explaining how the MP3 format works, and talks about some of ti's limitations
I am a teacher on a mission. Every student should have access to computer science, it starts in my classroom.
Sunday, March 11, 2012
MP3 Compression
We just finished doing number calculations in the CS Principles class. This coming week we'll be looking at data compression and encryption.
Saturday, March 10, 2012
Play Dough
We will be doing this:
This Ted Talk covers using conductive play dough to make simple circuits. I am trying to think of a way to work this into doing logic circuits.
I might be over thinking it...the best approach might be to hand the materials to the kids and tell them to design the gates, and see what they come up with without my help.
Tuesday, March 6, 2012
Chalk Talk
We just finished Algorithms and methods last week. I focused on the connection between using methods in C++ and designing good algorithms to solve problems. This is a change, this year I introduced methods before we did if's and loops. My thinking is if the students start by using sub routines we don't have to undo bad habits later. So far it has gone very well.
So the Friday before the test we had one of those days. Any public school teacher knows those days. I lost power to 1/3 of the lab (future reference the breaker box is in the boiler room, panel 4). And a mouse, four-legged kind. A very active mouse.
There is a point where no matter how beautiful your lesson plans are, you just have to dump and run. Kids were distracted and we really couldn't do our computer practice. So we went outside.
I borrowed some chalk and put the kids in teams of three. I gave each group a copy of the lab we'll do at the end of next unit. The lab has them design methods for a calendar program. They have to count the number of days left in a month, return the total number of days in a month, then using these they have to count the total number of days between two dates.
We haven't done if's or loops yet, so this is not something they could code in C++, but I was curious to see how they did. They each had to sketch out an algorithms they could use to find a solution.
The solutions were great. Every group figured out that they could use the first two methods in a loop to count the days. This is a program I have done in the past with students and they often struggle with this concept. I am curious to see if the coding is easier this year.
And the mouse is gone- I caught in a cup later that day and he was released back into the garden.
We did BYOB - Scratch right before Winter Break to move from learning about the Internet to programming. Nice (and unplanned) side effect, it has made methods in C++ much easier for the students. I wish I had designed this nice transition. The reality was that day two of methods one of the kids turned around and yelled across the room "This isn't hard - it's just like all those blocks we did in Scratch before Christmas".
Well, duh.
| Sidewalk Chalk |
So the Friday before the test we had one of those days. Any public school teacher knows those days. I lost power to 1/3 of the lab (future reference the breaker box is in the boiler room, panel 4). And a mouse, four-legged kind. A very active mouse.
There is a point where no matter how beautiful your lesson plans are, you just have to dump and run. Kids were distracted and we really couldn't do our computer practice. So we went outside.
I borrowed some chalk and put the kids in teams of three. I gave each group a copy of the lab we'll do at the end of next unit. The lab has them design methods for a calendar program. They have to count the number of days left in a month, return the total number of days in a month, then using these they have to count the total number of days between two dates.
We haven't done if's or loops yet, so this is not something they could code in C++, but I was curious to see how they did. They each had to sketch out an algorithms they could use to find a solution.
The solutions were great. Every group figured out that they could use the first two methods in a loop to count the days. This is a program I have done in the past with students and they often struggle with this concept. I am curious to see if the coding is easier this year.
And the mouse is gone- I caught in a cup later that day and he was released back into the garden.
Discussion Board
Since SIGCSE last week several folks have asked about how I handle discussion boards for the CS Principles class.
I include discussion board topics to gauge how the students are thinking and learning about the topics we cover. It is so much easier to asses code, and it creates a big temptation to fall back on "just coding". The discussion board has been a great way to read along with their learning process.
For this to work we have to really structure it at the beginning. This is not a type of writing that high school students are used to. Add the natural joy they feel at hearing "Now we are going to write about..." it can take a while to get them going.
The first topics of the year year focused on how to effectively participate in a discussion board. Students do not know how to do this yet, so the skill must be taught. Lots of feedback and very clear guidelines are a must.
They must do at least three responses a week. I am very specific about what I am looking for, and what will not count. A response must:
I developed these when I was in college sponsoring a local high school's literary magazine and they work in lots of teen-related situations.
This can also be a good time to talk about their digital life. They don't often stop to think about the information they are leaving online for the world to see...this makes a great discussion board topic, in a self-reflexive kind of way.
Need more? This PDF from TeacherStream is one of the best resources on facilitating discussion boards I have found. Edutopia has a whole list of resources for online learning that can be helpful in a traditional classroom also.
I include discussion board topics to gauge how the students are thinking and learning about the topics we cover. It is so much easier to asses code, and it creates a big temptation to fall back on "just coding". The discussion board has been a great way to read along with their learning process.
For this to work we have to really structure it at the beginning. This is not a type of writing that high school students are used to. Add the natural joy they feel at hearing "Now we are going to write about..." it can take a while to get them going.
The first topics of the year year focused on how to effectively participate in a discussion board. Students do not know how to do this yet, so the skill must be taught. Lots of feedback and very clear guidelines are a must.
They must do at least three responses a week. I am very specific about what I am looking for, and what will not count. A response must:
- Move the conversation along, not just rehash other posts
- Add a new analysis or fact to the discussion
- Ask a question ("I don't get it" doesn't count)
- Respond to another student's post ("I agree" or "LOL" is not a response)
- No Profanity
- No Plagiarism
- No Paraphernalia (drugs, alcohol, etc)
- Play nice - no bullying
I developed these when I was in college sponsoring a local high school's literary magazine and they work in lots of teen-related situations.
This can also be a good time to talk about their digital life. They don't often stop to think about the information they are leaving online for the world to see...this makes a great discussion board topic, in a self-reflexive kind of way.
Need more? This PDF from TeacherStream is one of the best resources on facilitating discussion boards I have found. Edutopia has a whole list of resources for online learning that can be helpful in a traditional classroom also.
Sunday, March 4, 2012
SIGCSE
I just got back from SIGCSE 2012 As always they put on an amazing event hosting over 1200 computer science educators.
It is a bit odd being a high school teacher at these events. Our world differs so much from the college arena. A great example is the obsession with posters. In high school this means busy work festooned with bubble letters and glitter. I can only assume the college level posters have a higher purpose.
I attended because of the CS Principles Pilot. Plugging along on the project this year feels isolating at times. I worry that I am not doing this correctly. This fades when I get a chance to talk to the other piloters, so it was great to have a mini-reunion. SIGCSE has renewed my energy in building my pilot course, along with a huge to do list.
Goal: End the isolation and get surrounded by lots of great CS teachers, local and elbow to elbow.
Luckily attending SIGCSE also means sitting in on other great presentations. My personal favorite was the paper presented by Michelle Craig about knitting pattern's and program tracing. My own knitting bias aside, it was a very interesting take on how new programmers acquire language. For instance the repeat-until structure is mroe intuitively obvious to a novice that the typical while structure we introduce.
I'd also add that we create knitting patterns to create artifacts. This can get lost for new programmers. No one wants my dusty pile of knitting magazines, but most of my family and friends appreciate the socks they describe. Or at least they pretend to, and some days that's all that counts.
![]() |
| My "Yarn-Saver" sock pattern |
I attended because of the CS Principles Pilot. Plugging along on the project this year feels isolating at times. I worry that I am not doing this correctly. This fades when I get a chance to talk to the other piloters, so it was great to have a mini-reunion. SIGCSE has renewed my energy in building my pilot course, along with a huge to do list.
Goal: End the isolation and get surrounded by lots of great CS teachers, local and elbow to elbow.
Luckily attending SIGCSE also means sitting in on other great presentations. My personal favorite was the paper presented by Michelle Craig about knitting pattern's and program tracing. My own knitting bias aside, it was a very interesting take on how new programmers acquire language. For instance the repeat-until structure is mroe intuitively obvious to a novice that the typical while structure we introduce.
I'd also add that we create knitting patterns to create artifacts. This can get lost for new programmers. No one wants my dusty pile of knitting magazines, but most of my family and friends appreciate the socks they describe. Or at least they pretend to, and some days that's all that counts.
Subscribe to:
Posts (Atom)

