Doctoral Candidate Paulina Haduong has had an on-again, off-again relationship with coding.
It began organically, with informal, self-taught website building. Growing up, they helped their parents run the website for their small business. It was fun, low-stakes, and entirely separate from their formal academic life. Things changed when Haduong took their first computer science (CS) course as an undergraduate student.
“The first computer science class I took was such a demoralizing experience that I dropped it,” Haduong says. “It was really isolating and really confusing. It was very much lecture-based, in this giant class, so computer science became a thing where I thought, ‘OK, I'm just not good at this thing, I’m not going to do it.’”
Despite this experience, Haduong gave CS another chance. The next course they took was completely different, for the better: “It was structured in a way to help people learn together. With every assignment, students were able to work with as many people as we wanted, as long as we credited each other,” Haduong says. “That experience really stuck with me, being able to work on projects with other people and work through the frustrations of learning to program. That has really carried me to what I ended up doing in the master's program when I came to [HGSE] for the first time, and how I ended up in research afterwards.”
As a Ph.D. student at HGSE, Haduong conducts research that seeks to understand the challenges that K–12 teachers and students face in learning computing together, and how supports can be designed and implemented to meet those challenges.
Here, Haduong discusses their dissertation research, the importance of teaching technology in schools, and their hopes for the future.
Tell me about your work at the Creative Computing Lab with Professor Karen Brennan.
There are many programming languages in the world, and there are many that are designed for young learners. The one that we mainly work with is called Scratch. Scratch is both a programming language and an online community for kids, which is really cool, because they can make projects and then they can share those projects and connect with other kids online.
"This form of creative expression can help young people get their ideas out in the world and can help them learn to participate in our technologically mediated society."
There are many reasons that people put forward for why we should learn to code or why everyone should learn to code. The reason I am most excited about is for young people to be able to learn to creatively express themselves through code. This form of creative expression can help young people get their ideas out in the world and can help them learn to participate in our technologically mediated society.
You wrote an article, “I Like Computers, I Hate Coding,” which touched upon how learning CS can sometimes be demoralizing. How does your work try to counter that feeling for learners?
Learning to program, for many people, is really frustrating. You're trying to create something, and it's a process of getting stuck and also getting unstuck. So you're encountering bugs, you're trying to figure out what to make and how to make it.
When learners don't have sufficient support, that frustration can affect their identities as computer programmers — it's not just “I'm not able to make this thing, but I'm bad at computer programming. I'm the problem.” We want to shift that to help learners understand that they might not know how to do something yet. Also, other people can help them achieve their goals.
In that particular project [I wrote about], young people were saying, “I use technology all the time. I use computers all the time. I love my computer, I use it to access the internet, but coding itself is a boring and frustrating subject for me.” We hope to create opportunities for kids to realize that they can use [coding] to make anything they want, and hopefully that will be something that's exciting to them.
How does your dissertation research look at those frustrations?
People are really excited about computing education, and we're excited to create more opportunities for it. Students, sometimes, have these frustrating experiences with it. Teachers are also being asked to teach computing, even though they haven't necessarily been given enough resources and enough professional learning to support them in feeling like they can teach the way that they might want to teach.
My hope is that with this dissertation work, we can create more opportunities for teachers and students to build creative communities, and to support one another.
What does that work look like?
All of this work in my dissertation is happening within the context of “Getting Unstuck,” which is a design-based research project. Over the last several years, we've been working with elementary school teachers at Title I and rural schools all over the United States to collaboratively design a computing curriculum that helps students create projects that only have one creative constraint. So, each project must use a specific programming concept, but what students want to make is entirely up to them.
This is partly a response to teachers saying, “I want kids to make things that are personally meaningful, but how do I make sure that they're actually learning anything?” That's why we have this programming concept that they have to try to incorporate into their project. This design-based research project encourages students and teachers to develop a collaborative studio culture to learning to program. So, we are trying to use this creative computing design studio framework of helping students explore, create, share, and reflect on their computational creations.
In [one paper of the dissertation], I look more closely at a single classroom from the curriculum pilot. We've built this curriculum, we've helped all these teachers learn to use the curriculum, but what is actually happening in the classroom when teachers and students use the curriculum together?
I worked with this one teacher and her fourth-grade students, which was delightful, for four months, and looked at the different activities that they engaged in that enabled them to learn collaboratively. For example, some students had a lot of success in re-mixing other people's projects and reusing other people's ideas. Other students really struggled with that; they saw things that they were excited about, but they couldn't quite figure out how to incorporate that into their own projects.
This teacher just did a really wonderful job of creating space for students to talk about their work and share their vulnerabilities. There were moments where the teacher would ask about “highs and lows,” and students would share, “My high is, I've made progress on my project” and “My low is that I don't feel great about my project.” Then, she would ask, “Who else doesn't feel great about the project?” Just creating space for students to see that other students felt the same way went a long way towards helping students feel excited about computing and realizing that they weren’t alone in the challenges they encountered. It wasn't that students were bad at programming. It’s that learning to program by creating projects is a hard thing that we're trying to do.
Are you trying to promote the teaching of computer science in early education or elementary schools, or is that shift happening independently?
That's a good question. Access to computing education is not tracked super well at the elementary school level. How much computer science is happening is tracked better at the high school level — how many AP courses are happening, for example. We know that a lot of teachers and elementary schools are trying to include computer science, but we don’t know a lot about what that looks like across the U.S.
"People are really excited about computing education, and we're excited to create more opportunities for it."
The other specific thing that we're trying to address with the Getting Unstuck curriculum is to create more of an intermediate, bridging experience. There are a lot of wonderful curricula and resources that help students try computing for the first time and there are well-developed sequences for high school computing education, [but] there isn't a lot of support for learners in-between those two stages. What happens after you can make that first project? How can you keep working on learning to program before you enter one of these high school courses?
This curriculum is also designed to fill some of that gap, which is why it's designed for upper elementary grades. It's not meant to be a student's first experience learning to program, but it can also be, if needed.
What are your next steps with this work?
One thing that I'm excited about doing next is spending more time with kids. This wasn’t really possible before because I did the data collection during the pandemic. When we think about creating opportunities for learners to create things that they care about, it would be helpful to know more about what they are actually interested in. So, being able to take a closer look at what kids are making, what kids are thinking about what they're making, and what kinds of frustrations kids are encountering between what they want to make and what they're actually currently able to make within the time constraints of school.
For example, there was a student who made this beautiful project about a blue wolf on Scratch. It had these pictures of wolves and then this long narrative that she did a voiceover for. You look at this project, and you think, “Okay, so this girl must like wolves. That's cool.” But when I actually had a chance to talk to her about her project and asked, “Why did you make what you made?” she talked about how this was a story she had made up for her little sister.
She had been telling some version of the story to her little sister for two years. She decided to record this story for her sister and to make this project and share this with other people. You can learn some things about the project creator and her motivation from interacting with the project itself, but you can't learn all of these other things, about how her story has evolved, who she made it for, and why. That was just one student, with one project, that I was able to talk to for 20 minutes. So, I would love to talk to more kids about what they've made.