NSF Awards: 2048792, 2048793
Code Beats uses a different approach to teaching computer programming. By creating hip-hop beats, we can teach the foundational concepts of computer programming in an engaging and motivating way. In classes held by computer science professors and music professionals, we use TunePad to code the songs using Python. We had more than 300 students registered for our last summer camp, with participants 12 years old on average. Participants were 57.4% male, 40.1% female, and 2.5% preferring not to say. Almost two-thirds of the participants (64.8%) were non-white, with 37.6% self-identified as African-Americans. By the end of this summer camp, students declared to enjoy the experience and were proud of their work products.
Douglas Lusa Krug
Research Assistant
Thank you for visiting the Code Beats video. This approach has already demonstrated exciting results in motivating and engaging students in computer science in its first year. We are preparing for the following summer camp and would like to hear your feedback. We are also happy to answer any questions!
David Shepherd
Associate Professor
We released an album based on the beats that the middle schoolers made during our camp. Check it out here: Code Beats Album on BandCamp
Kishau Rogers
Ekundayo Shittu
Hahahaha... this is fantastic! This is a program that gets the students' interests right in their comfort zone. This is consistent with situating knowledge in the psyche of the modern student. Kudos! I voted!!
Chrystalla Mouza
Douglas Lusa Krug
David Shepherd
Douglas Lusa Krug
Research Assistant
Thanks, Ekundayo! That is precisely the point, use students' interests to show a different perspective of computer science, connecting with their already existing interests.
Paige Evans
This is great and definitely a friendlier way to approach CS. Thank you for sharing!
Chrystalla Mouza
Douglas Lusa Krug
David Shepherd
Douglas Lusa Krug
Research Assistant
Thank you, Paige!
Shannon Schmoll
This is fantastic! I love it when we can find those commonalities between different areas of study. There is a youtuber named Howard Ho who analyzes music in musical theater and the breakdown is similar but from a music perspective. This does the same but applies beyond the music to coding. So cool!
Chrystalla Mouza
Douglas Lusa Krug
David Shepherd
Douglas Lusa Krug
Research Assistant
Thanks, Shannon! I'll check Howard's channel!
Emily McLeod
Director of Teaching and Learning, Code.org
What a fun project! I’d love to learn more about the outcomes for students—are you measuring their development of CS knowledge and/or musical knowledge? Or is the focus of the project primarily on engagement and motivation?
I’m also wondering what lessons you’ve learned from the first camp – are you planning to make any changes to the design of the second camp based on what you’ve learned?
David Shepherd
David Shepherd
Associate Professor
Thanks for the questions Emily!
We are focused on (1) the development of their CS knowledge and (2) an increase in engagement and motivation. We do teach them some about music, but it is really a vehicle to get them excited about CS.
We learned *a lot* from the first camp. Some things we are going to change are (1) giving in-line feedback / guidance in the in-class and after-class activities and (2) adapting to in-person camps (previous camps were online due to COVID). In-person camps should be WAY more fun, as the music professor is an amazing musician, and he can demonstrate things live.
Chrystalla Mouza
Daniel McGarvey
Wow - I'm at VCU and had no idea this was happening. I'd love to learn more about this project. Let's get together sometime for coffee or a drink. For the moment, I do have a technical question: are the students using Python code blocks, writing native Python code, or working in some sort of hybrid system? Do they come into the program with ANY prior coding experience, or are you truly starting them from scratch?
Chrystalla Mouza
David Shepherd
David Shepherd
Associate Professor
Hi Daniel, I would love to get together and discuss this. Let's do it!
Re the code... we use Python. We are using the program called TunePad, which uses Python to create music. We do NOT assume any prior training in programming or CS. We do NOT assume any prior training in music.
Roxana Hadad
Associate Director
Thank you for sharing this innovative project! Can you describe the Battle of the Beats more? Are students all in the same room hearing and voting on their favorite beats at the same time?
David Shepherd
David Shepherd
Associate Professor
For the Battle of the Beats we have a end-of-camp, in-person meeting. We allow students to submit their beats either to an Exhibition category or the competition. For the competition category we play ~5 beats at a time and then allow students and parents to vote live via Mentimeter. The only drawback to this approach is that it is possible for kids to have their feelings hurt if no one votes for them. However, we go over ground rules for being nice to each other ahead of time, and we didn't have this problem.
More here: https://vcuengineering.exposure.co/theyve-got-t...
Roxana Hadad
Associate Director
How fun! Thanks!
David Shepherd
Victor Minces
I love this. What programming platform do you use?
David Shepherd
David Shepherd
Associate Professor
We use TunePad, which is like EarSketch's cousin. Check out a beat here: https://tunepad.live/app/dropbook/51168
Jsn Cuny
Interesting project.
What coding concepts did you teach and how are you evaluating whether the students understood them. Do you have any way of determining whether they can apply those concepts in other situations?
David Shepherd
Chrystalla Mouza
Distinguished Professor
Hi Jan, the concepts covered during the first iteration of the camp included: variables, lists, functions, and loops. We have examined logged data from the coding environment to investigate whether these concepts were represented in students' coding products across various points in time throughout the 10-day camp. We have a paper accepted at ITiCSE, presenting the results. We have not examined how students may apply these concepts in other settings.
Jan Cuny
Dir DEIA for Strategy and Operations
Nice. The issue of applying the concepts in other settings is more difficult to assess.
Roxana Hadad
Associate Director
Was the music from the video produced by Code Beats students?
David Shepherd
David Shepherd
Associate Professor
We made an entire album from the top ten beats that students made last summer. It is available for free here: https://codebeats.bandcamp.com/album/get-with-t...
And also on Spotify, Amazon Music, etc.
Roxana Hadad
Associate Director
Exciting! Thank you!
Ann Podleski
Wow!! So cool. What a great way to get kids engaged and introduced to computer programming. (Some of my favorite things are math and music, and I am definitely becoming a convert to Computer Science also!). Introducing STEM in different ways to younger people is key in the process of achieving equity and inclusion in STEM. Thank you for this amazing project.
David Shepherd
David Shepherd
Associate Professor
Thank you so much for your kind comments. I love music too... I am curious as to how many people that are really into music would be good programmers. I don't have an answer to this, but I do know that NASA used to raid music departments in Virginia to recruit people to become programmers :)
Shaundra Daily
Interesting project! Curious how you distinguish this approach from EarSketch from Georgia Tech.
David Shepherd
David Shepherd
Associate Professor
First of all, we *love* the EarSketch platform. It is an amazing approach that definitely inspired us. We are using the TunePad platform, which calls itself "EarSketch's cousin". The platforms are similar. However, those are the platforms... Code Beats itself is really more of a curriculum / philosophy for teaching using a musical platform.
So, TunePad is the platform that we use to deliver the Code Beats approach, which uses hip hop beats to teach coding. What work did we do to prepare our approach? We transcribed about 60 hip hop songs into TunePad, designed activities around them to teach different CS concepts, and created both CS and musical instructional units.
There is a LOT of room for even more people using music to teach coding. I could imagine it being done with rock, for instance, or even being used in more traditional music classes. I hope more people will join in the CS / music fun and make our related work sections even more awkward to write ;)
Jan Cuny
Dir DEIA for Strategy and Operations
Did you look at how the students attitudes about CS changed?
Chrystalla Mouza
Distinguished Professor
Hi Jan, yes! We have distributed a pre/post survey on attitudes towards CS (coding in particular in this case), based on an instrument developed and validated by Rich et al. We have also conducted focus groups with participants. We are in the process of analyzing the data so we are not in a position to report findings yet. Stay tuned.
Jan Cuny
Dir DEIA for Strategy and Operations
I'll look forward to seeing the results.
Nice project! My son who now regrets that he never studied CS would have LOVED this course; might have changed directions.
David Shepherd
David Shepherd
Associate Professor
Maybe it's not too late... we are considering trying this approach out for adult education too. I consider that a win-win, because then I would get to use old school rap, like Dr. Dre, which I am actually familiar with... ;)
Zenon Borys
What a great project! I'd love to go to the camp! I find myself wondering about any anecdotal surprises (or even challenges) you noticed students come up with. For example, what kind of connections were students making to other songs separate from the Code Beats curriculum. Were they using CS ideas to explain other facets of their music listening habits (idea of internalizing and transferring what they were learning)? Thanks.
David Shepherd
David Shepherd
Associate Professor
I found that students were influenced by their outside music interests even more than I expected. For instance, a student whose parents had forced him to study classical music made a beat like this (https://codebeats.bandcamp.com/track/code-beats). A student that was really into video game music made a beat like this (https://codebeats.bandcamp.com/track/moonie-cha...). Their connection with their own musical preferences is strong, and shows up in their outputs.