I taught two new preps this year – Computer Science Discoveries through Code.org and an Electronics class where I had the freedom to explore different curricula and activities to teach circuits and microprocessors. My school had also purchased a 3D printer that I could use in my classes, so I decided to try a few lessons and assignments around 3D Printing in my Electronics class. The lessons and the results (both described below) were pretty outstanding – to my surprise, it was one of the most engaging units of the whole year in any of my classes. I liked it so much that I revamped some of the lessons and used them again at the end of my Computer Science Discoveries class during the last unit on Physical Computing. And again – it worked out super well, especially as a way to wind down the year. Students who had really struggled with some of the coding pieces suddenly had a new avenue where they could be successful, which is something I think is really important as the year is winding down.
So, what follows are some of the assignments and resources I use for this unit that could be relevant in an Electronics class or as an end-of-the-year unit in Computer Science Discoveries (assuming your school has access to a 3D printer), and some reflections on a few adjustments and instructional/design decisions I made throughout the unit. Here goes.
Part 1 – Intro to TinkerCAD
I had students use TinkerCAD to create their designs because it’s online (so they don’t have to install any software), its made by AutoCAD (so even though it isn’t an industry standard program, it’s connected to an industry standard company), and it has a sequence of ‘tutorials’ that students can complete to learn some of the basics of the program, which lets me introduce this program in a playful, self-paced environment that mirrors what they’re used to with some Code.org lessons.
To start the unit, I created a self-paced assignment and assigned it in Google Classroom that walks students through several of the tutorials. As students complete each section, I have them take screenshots of the completed level and paste it into the document – that way, when it comes time to grade, I can scroll through and double-check that students actually completed each level. I do this for other aspects of my classroom too (like for some Code Studio lessons), so students are already used to this process. Having students supply a screenshot of completed levels lets students work at their own pace while still letting me hold them accountable for completing each level, which was something I struggled with at the start of the year when we did similar self-paced activities.
Something the tutorials don’t cover is that you can press Shift + Right Click to move the camera in the working environment, which is important for larger projects. The tutorials also aren’t great at pointing out where the ‘hole’ button is, so I usually have to show students that. They also tend to skip over the instructions that have them change the unit size of the workplane, which becomes an issue later when things don’t ‘fit’ together and they need to adjust the units in order to move objects by smaller increments. But, overall, it does a good job and students get comfortable manipulating their objects and creating shapes.
Oh – one thing I didn’t do this year, but I might want to try and do next year, is find some sort of video introducing 3D Printing in different contexts. I’ve actually been thinking about this a lot in the world of entertainment w/movies & television and ways that technological advancements are happening in these industries. I’m thinking that next year I’ll show this video of the costume designer from Black Panther talking about how some of the intricate costumes in the movie were 3D Printed (it starts around 1:00 – she even says the word algorithms! Go go gadget computer science vocabulary!) or this video about how 3D printing is used by Laika Stop-Motion Animation Studios for their films, contrasted with this article about how Laika was a force that pushed the 3D Printing industry into new areas and led to their own technological advancements. Art fueling technology fueling art – so cool.
Anyway, after 2-3 days of working through the introduction, we start working on assignments…
Part 2 – Bellwork & Projects
After students finish the introduction, I start class by giving them quick bellwork assignments to make very specific shapes or objects, usually tied to the larger project we’ll also start that day. As students finish the bellwork, they call me over to verify that the object is complete and I check them off on a clipboard that I carry around. Once I’ve verified that they’re done with the bellwork, they can go into Google Classroom and see the project that’s been posted for the day (these are listed a few paragraphs below). They have the remaining time to work through the project with the expectation that it be finished before they leave (BTW – my classes are an hour long, so I’m trying to get bellwork + project completed within that hour, then repeat the next day with a new bw + project).
I try to design the bellwork assignment to mimic some part of their daily project (like combining shapes a certain way, or making holes a certain way). Having these bellworks was an adjustment I made after teaching this unit for the first time – when I didn’t have the bellwork, students would all get stuck in about the same place and I’d have to decide if I wanted to keep going around and helping students individually (which creates unstructured down-time for students who are waiting) or re-group the class and try to show everyone all at once (which means not everyone may be paying attention or be ready to hear what I have to say). These bellworks were adjustments I made the second time I taught the unit so I could anticipate these issues and help troubleshoot them in a more targeted manner. Overall, it cut down on the number of students who needed help with these steps in the actual project, which was nice. It also meant more students finished their projects on-time since they weren’t waiting for me to come around and help them.
I also like the system of visually checking student work in-the-moment on my clipboard before letting them continue to the project, as opposed to having them submit the bellwork some other way and me checking it later. It means I’m kind of running around at the start of class as students finish and call me over to check their work so they can continue, but I think its worth it since it means I have more one-on-one interactions with students before they start their larger projects and it lets me give immediate feedback to students rather than delayed feedback. It also means it’s a lot more apparent to me when a student is struggling with the task in front of them since they’ll be one of the few students still working on the bellwork when the rest of the class has moved on, and it means I can be a lot more targeted with helping these students. Without this system, I would sometimes get distracted throughout class helping other students before I’d notice that one shy student who has trouble speaking up has been stuck on a problem for the entire class period – not good for anyone. By forcing myself to physically check in with students for the bellwork and being able to give immediate feedback, this doesn’t happen anymore.
Anyway – the first project I give is a Doorstop project. The task is to create a doorstop for another teacher in our school (also: not sure if other schools are like this, but doorstops at are school are a rare resource – very few teachers seem to have them and they’re always looking for one. So, this project also kinda helps me foster good will with other teachers and spread the word about our classes since now they have this really cool 3D printed doorstop). This project is purposefully designed to have a low floor (easy to jump into) so students can feel some success relatively soon. Here are some results from that project:
For all of my projects, I tell students that I’ll only print at most my top 5 favorite designs. This way students don’t expect that I’ll print everything (because that’ll take too much time and use up too much filament). I also tell them that if their project doesn’t follow directions or isn’t turned in on time, I won’t print it either – so, this helps motivate students to follow their rubrics and make sure they submit everything. In secret, I also try to select one or two students who may have struggled in earlier units but are putting in the effort for these assignments. Printing their design can be an easy confidence boost that can carry them through the rest of the unit, and it can help improve their self-perception that this computer science field is actually something they’re good at.
I’ll also mention that a lot of these projects are designed with a ‘low floor, high ceiling’ philosophy in mind – tasks that have an easily understandable entry point that’s pretty much the same for all students (ie: make a doorstop), but can become challenging or extended in a variety of interesting, unexpected, and (in this case) student-guided ways (“My doorstop has wings!”). Here’s some good background on these types of tasks from a math context.
Having this ‘low floor, high ceiling’ quality embedded in these projects does a lot of powerful things to my classroom. I found that, If my stronger students finished early, many times they found their own ways to extend this assignment and challenge themselves in a way that was aligned with the goals of the unit and personally fulfilling. This means they aren’t being classroom management issues because they’re ‘bored’ and it also means I don’t have to micro-manage whatever they need do next or think up extension assignments on the fly, allowing me to instead focus my efforts on the students who may be struggling. This also means that all students in the class, regardless of ability level, are working on the same project just to different degrees of complexity. Speaking to the broader context of teaching Computer Science in general, this can sometimes be a difficult thing to manage – what happens when some students finish early and need something else to work on, but other students are struggling? An easy answer is to create completely different assignments in anticipation for these ‘excelling’ students, but I have strong feelings about what this can do for the culture of a classroom and perpetuating student self-talk of “I’m one of the slow kids because I’m still working on the first assignment” vs “I’m one of the fast kids because I moved on to the challenge assignments”. But – with these low-floor, high-ceiling tasks, this contrast never presents itself because everyone is still generally working on the same project. If a student were to look around the room, there’d be no indication of who was ‘advanced’ and who was ‘novice’ because everyone’s still making the same thing: a doorstop. But for me, the teacher, I know which students still need support to complete just the basics, and I’ll know which students I can ask extension questions like “would it be possible to add a hook to the end so they could hang up the doorstop if they’re not using it?” to give them that extra challenge. Finding tasks that can be reasonably completed but naturally extended without becoming something ‘brand new’ is a big deal, and my experience with this unit was that pretty much every 3D printing project had this embedded in it. And that’s awesome.
Anyway – sorry – that paragraph was a little bit of a diversion. Maybe something for a whole other blog post. Back to projects.
After the doorstop, the next day we do the Re-Create a Logo project. I like this project because most logos aren’t composed entirely of primitive shapes (cylinders, cubes, spheres, etc) – students will need to get creative in how they combine these shapes together to create their logos (which is the whole point of the project). I also don’t let them use the new ‘sketch’ tool in TinkerCAD – everything has to be done with these primitives and clever use of holes and groups. Here are some results:
Can you tell which student above went the ‘high ceiling’ route? Anyway, after the logo project is the Create a Figurine project. I give students more time for this – 2-3 days – so they can get really creative with their designs. This project also takes some more management and judgement from me to make sure the project they pick is reasonable given the skills they have and the time they have. Sometimes I have to work with a student to narrow down their project to a Minimally Viable Product (MVP) that they can complete to still earn full credit, then help them see how once they have this MVP, they can continue to edit and expand it as they want. Here are a few results from this project:
A quick note: see that really awesome two-story house up there? That was made by a student who struggled all year long – really difficult for him to finish assignments and turn in work; really difficult to follow directions and rubrics; things that I thought were cool and exciting were met with a /shrug most of the time. But something about this unit really drew out the creativity and determination within him. It’s one of the things that’s helped convince me that this 3D Printing unit has something special going on with it in how it can flex different parts of the brain while still developing some computational thinking / engineering / problem solving & planning mindsets.
Part 3 – A Performance Quiz
Something I didn’t do the first time I taught this was have any kind of intermediary assessment before the final project. So, when I taught this the second time, I added a new project that was designed to be a ‘quiz’. Students still had to design a certain type of figure, but I worked a little harder on being clearer with the requirements (note to self: all of these projects would be better with more well-defined rubrics. Something for next year). I gave this quiz to students while they were still working on their Figurine projects – that way, when they finished the quiz, they could just continue working on their figurine. I also didn’t give any bellwork so they could start the quiz right away.
I meant for this quiz to be pretty straightfoward and not necessarily super creative – but, to my surprise, students still came up with really interesting and creative items for this task. It was really cool to watch, but it also meant students spent more time on this than I thought they would (which is kind of a good problem to have… just something for me to be aware of when planning for time). Here are some results:
A quick note: did you look closely at the cat on the chair?!?!?!? That one blew me away. Everything was made with primitive shapes (cubes, spheres, cylinders, etc) and wowzers did it turn out well. It’s yet another example that’s helped shape this idea that this unit has something special going on with it…
Part 4 – Lights & Music Are On My Mind
When I first started this unit, I knew I wanted to integrate our Adafruit Circuit Playground in some way – I wanted students to think about how they can add lights or sound or interactivity to their 3D designs, which is relatively straightforward with the Circuit Playground. I had already been teaching the Computer Science Discoveries curriculum, so it was easy for me and my students to use their Unit 6 on Physical Computing to learn what the Circuit Playground is capable of (but, if I were teaching this in a broader electronics or engineering class, I could’ve used something like Circuit Python or MakeCode instead).
I ended up picking and choosing certain lessons from Code.org’s Physical Computing unit – we covered the lessons on how to use the LED lights, how to create music, and how to connect external components, but I skipped the stages that focused on the bike light prototype. Instead, I told students we were learning these things so we could make our sculptures interactive, and they should be thinking about what kind of interactive 3D printed sculpture they wanted to create.
After getting acquainted with our Circuit Playgrounds, I assigned the Final Project – Creating an Interactive Sculpture. The goal was the design something that incorporated the Circuit Playground somehow. An easy example is the Iron Man chest-piece – maybe you push a button and it lights up. Or an LED candle – push a button and it illuminates a design through holes in the candle.
Part of the challenge, which I focused a lot on, was making sure you had the correct measurements so your Circuit Playground would fit inside your design, and that your holes were big enough for any wires or LEDs to poke through. I had out metersticks and calipers for students to create their own measurements, which was really awesome to watch – in fact, here’s one of my favorite pictures from the whole year:
This is a student who’s created his design in TinkerCAD, but is holding a meterstick and determining how big his design actually is if he were to 3D print it. As a former math teacher, I love this aspect of this project – trying to teach measurements and conversions and make it real for students was always something I struggled with, but this project makes it kind of effortless: if the measurements aren’t right, the lights won’t fit inside the design, so it won’t work correctly. You have to get the measurements correct or it’ll mess up your design and you won’t be able to show your friends how cool you are.
One of the challenges for this particular project was printing their projects so they could test their prototypes and ‘finish’ their projects. With all the other projects, I could print things at my leisure and whenever I wanted to – it didn’t affect their productivity. But for this project, once a student finished their design, they were kinda stuck until it was printed and they could keep working on it. So, I need to find a way to work around that – not sure how to make that easier other than having another 3D printer. I also tell students that I’ll only print their design once – so if they mess up a measurement, they need to find a way to fix it once its been printed. Here are some results from the project:
The Rick & Morty Portal Gun turned out really well in terms of planning & execution: the top cylinder is removable and the Circuit Playground fits in the compartment underneath. The Deadpool logo was also button-activated (you can see the student’s hand holding the button in the picture). The sword in the bottom-corner was one of the few to use external LEDs for their design, what was pretty awesome.
So, overall, really awesome project to end the year – just wish there was a better way for me to manage time so I could print more student projects for them to test and iterate on. BTW, since you made it all the way to the end of this post (super long… sorry about that), here’s a link to all the resources I have for this unit. Maybe you end up trying some of these next year and finding a way to make it even better?