Bellwork & Exit Tickets in a Coding Classroom

I’ve been teaching a class called Computer Science Discoveries using a curriculum from The course is pretty cool and has a broad overview of different entry points into being creative with coding – making websites, making games, making apps, and making programs with basic electronics like the Adafruit Circuit Playground. This means my students spend most of their class period logged into the coding platform called Code Studio – it’s the same platform they use for their really awesome Hour of Code activities. My role of a teacher is mostly as facilitator – the stages and lessons are designed to be self-paced and scaffolded, usually ending in some sort of task that has a low floor but a high ceiling so students can seek their own enrichment while struggling students can still refine their basic skills. This means most of my lessons started to take the form of introducing the content for the day, getting students started on their self-paced lessons, monitoring the class and helping individual students, then giving additional challenges or providing additional support as needed towards the end of the class.

About a month ago, I started to realize I had a real problem with formative assessment in the sense of “knowing where my students are” with their level of understanding. As I would work around the room, I would mostly spend my time with struggling students trying to provide individualized support, or advanced students who had become distractions because they were finished with the task and who needed further challenges to stretch their abilities. If my class is a bell curve, I was spending most of my time with the students on the edges rather than the students in the middle – which I think is appropriate for how to best spend my time in the classroom, but it means I don’t really have a barometer for how much the class as a whole understands. I would leave most days thinking either everyone is struggling or everyone nailed it, but I really had no idea because I didn’t have a way to check in with the entire class.

I also found that I was struggling to have students connect content from the previous day’s lesson to the next day’s lesson. If I would teach some new CSS commands on Tuesday and they spent the day practicing them, then we tried to use them again on Wednesday, students would have forgotten the syntax and exact form of the commands (is it font-size? or text-size?) even though they were fluent with them the day before. I tried incorporating note-taking into the class and keeping a notebook or journal with commands in them, and maybe I’ll try this more intentionally next year, but it was difficult for me to balance our computer-based curriculum with this unplugged note-taking activity. And, since Code Studio has lots of help within the coding environment itself and their own examples, my students didn’t really use their notes as much as they needed to. I felt like I was having them write down these notes more out of a desire to help them remember these commands by physically writing them down rather than to create a robust resource for themselves, especially since this resource already exists as part of the coding environment on Code Studio.

So – I was having problems gauging my students and connecting lessons from the previous day to the next day. In the past, as a math teacher, I could solve this problem by having routines at the start and the end of the class period: Bellworks & Exit Tickets. I would use these as formative assessments: what did students leave the class with? What do students remember from the day before? And I could use a problem on the bellwork to jump in to the lesson for today, making connections from yesterday’s content to today’s lesson.

But… I really struggled trying to find good ways to implement this in my new coding classroom, especially when the curriculum is focused so much on coding as a tool for being creative. I tried asking exit ticket questions that asked students what code you would need to write to perform a certain task (how do you make a webpage background orange? How do you draw a character on the center of the screen?), but asking these kinds of micro-focused, recall-based questions didn’t seem to align with the types of tasks students were performing in the curriculum, where they had to apply these coding commands rather than just recall them. Even if students could answer these questions on my exit tickets or bellwork, they would still struggle to apply them to their code and know when it was appropriate to use them or would still make small syntax mistakes.

I also tried making bellwork assignments that were small coding challenges – here’s a webpage I made, can you re-create it yourself? Or can you draw 2 characters on the screen and make them shake a little bit? These worked a little better in terms of priming students for today’s lessons, but I could feel this having an effect on the classroom culture and self-perception of students in my room. If I had a student who struggled from the day before, they would still struggle on this bellwork – I haven’t added any new supports to help make this student more successful unless I work with this student individually or they get help from a neighbor. This would lead to most of my class being finished except for the struggling students, but that only made it that much more obvious that these were the students who struggled – obvious to me, obvious to the class, and most unfortunately, obvious to those students themselves. It can be really disheartening for the rest of the lesson if you feel like you can’t even complete the first assignment of the day. It can be really disheartening for the rest of the year if you spend a week not being able to do any of the bellwork assignments when everyone else finishes way before you.

I stopped doing these after a week partially because I felt like they weren’t really helping my struggling students get better at coding – these bellworks were just reinforcing the mindset that “I’m not good at coding”, which I didn’t want. Oh, and if a student was absent for the previous days lesson, there was no support in place for them – if I was lucky, they’d be sitting next to someone who could help explain to them what they missed and how to apply it. If I was unlucky, the student just sat there and waited for us to move on or go over it as a class. I needed a better way to support absent students so they could jump into the new day’s lesson.

I also found these bellworks took a lot of time, both in terms of preparing outside of class and in terms of facilitating during class, especially if I was trying to make sure my struggling students could complete the assignment before we went over it so they could find some success and self-confidence. I was also still just spending my time as a teacher with my two extremes – I would need to find extensions for students who finished the bellwork super quickly, and I would need to check in with the students who didn’t know how to get started. I was still missing my formative assessment for the students in the middle – by the time I had a chance to wander around and check in, they’d be done already and I’d missed my chance to see what types of mistakes were causing issues and how they fixed them (did they just copy and paste code from their neighbor? Was there a conversation?).

So… at this point, I’ve tried a few different routines for bellwork and a few different routines for exit tickets, but I haven’t stuck with very many of them. I’m winding down the 1st quarter without consistent expectations for my students on what to expect when class starts and what to expect when class ends. I know this isn’t good for my students from Lisa Bejarano’s really awesome NCTM presentation on how warm-up routines can help address executive functions in students. I know this isn’t good for me because I’m creating new work for every single class period – I need to be more like Elissa Miller and come up with Systems to help make my life easier.

Without these consistent routines, I still had problems gauging how much students understood from a lesson. I still had problems with students making connections from one lesson to the next day. I still had problems with getting absent students caught up. I still didn’t know how to start or end class in a meaningful way. Writing this paragraph makes it sound like my class was kind of a disaster… actually, for my struggling students, I really think it was – if a student fell behind due to absences or processing issues, I really had no idea how to bridge the gap and get them back up to speed other than “you should find time to come in and keep working on this”, which isn’t the best answer. I don’t think I’ve fixed this completely, but I found something that I think is helping.

For the last two weeks, I’ve implemented a new bellwork and exit ticket routine that I think has really helped with most of these issues. I stole this from a fellow teacher, who in turn stole it from an AVID workshop he attended. Here’s how it works:

Students have a sheet of paper for the week. At the end of each lesson, they write down two questions about the day’s lesson. These are questions that, if they asked someone else, they should be able to answer based on something new we did that day. These are also questions that, if someone was absent, they would probably ask you as a way to understand what new material they missed that day. Writing the questions is the exit ticket every day – I go around and look over at the types of questions students are asking and help clarify what makes a “good question”. The next day, when they come in for bellwork, they answer their questions from the previous lesson. I give them 5 minutes to do this – while they do that, I walk around and stamp/initial as a way to provide accountability and also check in with every student. After 5 minutes, I choose 4 random students and have them share one of their questions, then have the class answer their question.

I like this routine a lot. A lot a lot. It’s a consistent routine that works for every type of lesson, saving me time from reinventing a new task for every class period and helping students find structure in my class. I’m also consistently surprised by the types of questions they ask – some of them are of a higher level than I would typically ask, and they get creative with how they answer them. Or, even if the questions have more rote and direct answers, the fact that they came up with the question required a higher level of thinking and synthesis than if I had just come up with it.

More importantly, I’ve noticed students being more proactive at looking at their work from the previous day to help answer their questions. Since they know they wrote the questions from the previous lessons, they also know they can go find it. I’ve seen way more students opening up their previous Code Studio lessons to look at their work from the previous day, which in turn activates their knowledge for today’s lesson, which makes my life way easier.

Similarly, I’ve noticed students more engaged with the online lessons looking for opportunities to write down questions for their exit ticket, rather than just passively completing levels and not making an effort to commit their work to long-term memory. Now as students complete levels, they’ll sometimes take out this paper and write down a question pre-emptively knowing they’ll have to do it at the end of class anyway. I have a feeling that this type of synthesis – what was important from this level versus what wasn’t – is helping them remember the new commands they learn from lesson to lesson.

I also see students working together to answer their own questions or answer each other’s questions – having little challenges and competitions to see if they can ask a question to stump their neighbor. This motivates more creative and detailed questions, some of which I wouldn’t even think to ask. This also creates some really robust conversations, elevating every student who’s a part of the conversation in a very natural way rather than a “can you help this student because they’re struggling?” way.

I’ve noticed my struggling students more engaged and less stressed at the start of class since they’re able to find success in answering their own questions and sharing their questions with their neighbors. I don’t really see a ‘divide’ happening with this routine between successful students and struggling students since it’s such a quick and individualized routine and the stakes for sharing questions and answering them are relatively low.

When we go over the questions, I can use that as a way to connect the previous day’s material to today’s material in a very natural way, which has also been great for me to quickly jump into the current day’s lesson and use student interactions as a natural way to motivate those connections.

However – we sometimes have days where students don’t work through lessons themselves but instead work on projects. Another reason I really like this routine is because it’s really easy to adapt from question/answer to goal/reflection. When we have project work days, I tell students their bellwork is to set 2 goals for what they want to accomplish that day. I give them the strategies for writing SMART goals without telling them that’s what we’re going. Then, at the end of the period, they write their reflection on their two goals and can write a note of what they need to work on the next day. Then, when they come in the next day to work on their project, they can refer back to what they did yesterday to make new goals – all without changing my classroom routine. I think that last part is super important – now my class has a routine that can function for lessons and projects without an interruption to student routine.

Here’s the document I distribute to students. The way the routine works, they would write their questions for Monday at the end of Monday’s class, but then answer those questions in the Monday box as bellwork on Tuesday’s class. This is why there’s no Friday – at the start of class on Friday, they answer their questions from Thursday and then I collect the paper to grade over the weekend.

Here is a document I made that I share with students on how to write good questions and good goals. It’s not based on any specific strategies or research – more just the collective knowledge I have in my brain – so feel free to comment with any suggestions to improve my recommendations.

Here’s some student work:

So… that’s that. This turned into a long post. Geez Louise.

2 thoughts on “Bellwork & Exit Tickets in a Coding Classroom

Add yours

  1. Thank you for this! I have been working to create an exit ticket routine on paper so that while my students work I am able to check their workstations for cleanliness and damage. This is perfect and aligns very well with our visible learning. I will modify it to better suit our Visible Learning Language but this started is wonderful!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Blog at

Up ↑

%d bloggers like this: