When Christy Crawford realized how much her elementary students at Bronx Community Charter School loved their drumming class, she decided to work percussion into her computer science lesson plan. The idea: offer her kids an entry point into the world of code with a cultural activity that spoke to them. Christy and the school’s drumming instructor, Sekou O’Huru, worked together to create a lesson that used his expertise in rhythm to fully engage the class. Watch as students tap out unique rhythms, learning to write and debug HTML—to amazing results.
WHEN TO USE
Christy’s lesson is a one-day activity that can be adapted to students at any grade level or learning background to introduce the concepts of syntax and fixing broken code. Christy found it works well at the beginning of a school year or when introducing a new unit.
HOW TO IMPLEMENT
> BEFORE CLASS
- Invite your school’s music teacher to collaborate in a joint lesson. “Within the first few weeks of school, most teachers have witnessed a unique talent in one or two peers. Find that peer you admire and ask them to brainstorm ideas with you over lunch,” says Christy.
> IN CLASS
- Have students follow a leader and tap their fingers on the desk in a pattern that helps them memorize the basic syntax of HTML, Java, or any other programming language. Instruct them to use that same beat to assist in debugging when a line of code fails to run. If you don’t have a music instructor at your school, try other mnemonic devices or physical activities geared towards aiding memorization.
HOW TO ADAPT
- Continue to help students build their code vocabulary through mnemonic devices and activity. Encourage them to “tap it out” when they get stuck.
- Consider teaching more syntax debugging techniques inside the programming environment.
- Teach students to move to advanced semantic debugging by showing them how to Google errors and recognize common mistakes.
- Ask students to consider how different musical genres might contribute to different understandings of programming or to explore connections between CS and other artistic endeavors.
- Bring music into your lesson planning. “Music is a staple of my teaching,” says Christy. “Any subject that I can put to music to introduce a concept or idea, or to make rote learning easier, is a good thing.”
- Syntax: Syntax is the specific set of keywords and structure provided by a programming language. Just like English sentences have a subject and predicate, programming languages have rules that dictate how keywords and symbols are interpreted. Often, code will be useless unless it is syntactically correct.
- Debugging: Oftentimes, programmers will run into bugs, or flaws in their code. These are often small syntactic errors, or misused variables. Programmers “debug” the code by tracking values and processes through each step of the program, and stopping to fix an issue when something doesn’t look the way it should.