I have been teaching computer science for 3 years now, and I’ve never actually had any training or PD on the pedagogy of computer science! I was thrilled when my friend Kristina Brown (twitter: @MsBrownTeachCS) told me she was able to round up some support and a little funding to go. Although I had to pay a little of my own way, I am really glad I got to attend! Here are some of the highlights of the sessions I went to. Many of the sessions were set up as a themed group – 20 or 25 minutes each, three presentations in a row. You could float between groups, but if you were interested in the theme it was easy to just stay and get information on three projects all at once. I liked the format of these sessions. Although the time frame seemed rushed for the presenters, I thought it was perfect for the audience. We were engaged the whole time, we got a short movement or stand-stretch break between each one, and we never got bored.
I went to a couple of sessions in this theme – one, presented by Shuchi Grover and Satabdi Basu, was about using formative assessments to identify misconceptions students had about CS concepts. Tobias Kohn led the next presentation on a related topic, beginners’ misconceptions about variables. When I taught math, I frequently got training on how to identify, question and correct common misconceptions of students – but this was the first time I’d had similar training in CS. Many of the misconceptions they talked about are ones I wrestle with when I teach middle schoolers:
- Not understanding the assignment operator is different from the equality operator in math
- Missing loop initialization
- Grouping items in a loop incorrectly
- Not understanding a variable’s value has been changed after an assignment operator
- Not understanding a variable’s value can change during a loop’s execution
- Confusing OR, AND boolean operators
I feel I understand better how to ask questions, use assessments and identify the misconceptions, but I think I will still struggle with how to correct them. I have many 7th and 8th graders who are still struggling with how to write a basic program that asks for input, does some math, and produces an output. I know some of the misconceptions above are to blame, and they can be devilish to fix.
Data Science for Kids:
I also went to a session on “Introducing Data Science to School Kids” by Shashank Srikant and Varun Aggarwal, and this was one of my favorites of the whole conference. I had been thinking for a long time that data science was a neglected area in beginner CS but I didn’t know how to teach it, so this gave me a great place to start. These researchers developed a lesson toolkit that tasks kids with developing an algorithm that can predict whether they’d want to be friends with someone, and testing the algorithm. It also covers data privacy and consent… really good, full lesson set. You can find it online here! http://www.datasciencekids.org/p/home-page.html
I enjoyed a session presented by Yin Pan, Sumita Mishra, and David Schwartz about “gamifying” a college-level course using an achievement map. I had been thinking I would love to have badging and an achievement map for my beginner classes. Their interface allows for creating assessments. http://forensic-games.csec.rit.edu/ I would have to consider if I want to put a lot of investment into something like this, but I love the idea.
I went to a session led by Sue Sentance which was a report on how students enjoyed using the BBC Micro:Bit in a few locations where it was deployed. I’m really interested in this device and hope to purchase a set for next year. You can now pre-order them from Sparkfun and other retailers. The research showed students are really interested in this device, but teachers seemed to struggle with it for a number of reasons. The delivery was really late. Many teachers understood how to teach the basic lessons but struggled to connect larger concepts of computer science and physical computing. Teachers had a hard time making the time for the Micro:Bit due to a lack of training and the unpredictable timing of when they actually got the devices. These would need to be addressed in a successful implementation!
I went to several sessions on blocks-based programming and encouraging diversity in computing, and in the process, discovered some new computing tools that can be used for content creation in a variety of formats!
Netsblox: Found here http://editor.netsblox.org This tool uses SNAP!, a block-based language really similar to Scratch. The researchers have added some interesting blocks to SNAP to encourage distributed computing – remote procedure calls and messaging. Through these blocks, students can have users at different computers interact with each other. You can create multi-player games and also interact with NASA, Google maps, Twitter and more. I thought it was a really exciting idea. I would need to have better control over user accounts and “friends” lists in order to use this with young kids.
TurtleStitch: Found here http://www.turtlestitch.org/ A variant of SNAP! in which you can code a turtle to make an embroidery pattern and then upload the pattern to a professional embroidery machine. The presenters used the program at a STEM camp to encourage student self-expression. The students made their own personal logo and stitched it on a T-shirt! I tried to find embroidery machines that would work with the file formats in this program, but I can’t tell if a basic $400 machine would be able to actually stitch the patterns. I need to do a little more research to see if an embroidery machine would be a good addition to our makerspace.
Beetle Blocks: Found here http://beetleblocks.com/ you can program a “beetle” instead of a turtle. The beetle moves in 3-d space and can extrude filament behind it to create a 3-D model! You can export the 3-D model for use in a 3-D printer or in any other modeling tool such as Blender, Unity, or TinkerCad. I love this tool. I found some great examples by another CS teacher / blogger I follow, Laurel Pollard. She makes earrings with Beetle Blocks, among other cool things. I made a tower of hearts and 3-d printed it. I thought for my first project it wasn’t too bad!
And here it is!
EarSketch: Making music with Python. Intriguing! I didn’t get a chance to play with it, but I’m interested. https://earsketch.gatech.edu/landing/#/
Jupyter Notebooks: This was presented as an interactive notebook in which you can do storytelling and coding, and it gives you a runtime environment for Python code. You can find it here: http://jupyter.org/ I would be really interested in this environment if it does what I think it does. I’m going to explore it this summer. I usually use OneNote as an interactive notebook, and I ask students to copy and paste their code there. How nice would it be to just be able to execute the code and keep notes all in one place?
There are example assignments and puzzles here. http://norvig.com/ipython/
Building Capacity and Professional Development:
I attended a number of sessions that touched on how to develop more CS teaching capacity. New Mexico started a program to train science teachers in NetLogo, and through a blend of online and in-person learning, recruited dozens of teachers to offer a new course integrating simulations and coding into science. Utah created a tiered certification program for teachers, allowing many teachers to offer CS at an entry point appropriate for them. The UK created a computing certificate for teachers that included online coursework, an individual coding project, and an action research component on CS pedagogy. I loved this model and thought it has a lot of potential for my own district.
I also got to attend a “birds of a feather” session on the K-12 CSTA standards, which are almost ready for full release. I like the standards overall. I notice that they represent a big philosophical change from what I am used to, which is the K-12 Common Core math standards. In order for someone to teach the CSTA standards well, they would have to offer a chance to create an involved capstone project. Many of the standards are something you *could* teach with a couple of lessons and a quiz, but students can’t truly demonstrate they learned the concept without actually creating a meaningful, authentic project that includes the idea. We talked about the need for examples and rubrics. What does mastery vs. proficiency look like at different grade bands? Those conversations will need to be hashed out, but the standards-writers could help us along with built-in rubrics where appropriate.
Networking with Friends
Finally it was awesome to meet up with several people I knew from online but hadn’t met in person. 🙂 Thanks to Sheena Vaidyanathan, Kim Wilkens, and Todd Lash, my Twitter #csk8 friends who sought me out and said hi! And Mike Zamansky, a fellow blogger and Tweeter. It was great to connect and share ideas. I also got to meet several of Kristina’s AP CS contacts from around the internet and it was great. Thanks to all of you for commiserating with me – this job is hard, and it often helps to know you share a lot of the same struggles.
I really enjoyed SIGCSE 2017 and I felt I came away with a lot of interesting tools to try, and new insights on computer science education. I hope I get to attend another CS education conference again sometime!
Image: By Wolfgang Strickling [CC BY-SA 2.5 (http://creativecommons.org/licenses/by-sa/2.5)%5D, via Wikimedia Commons
There’s a big event coming to the USA on August 21st of this year, and I’ve been looking forward to it for a decade – ever since I heard of it. We get a coast-to-coast total eclipse of the sun, and many, many people live within a day’s drive of the path of totality. One of my favorite places to get info about the event is http://www.eclipse2017.org/ largely because I love their Google Map of the path, provided by Xavier Jubier, here.
As soon as camping reservations opened up along the centerline, I pounced and made our reservations. Many people are just learning about the eclipse now, however. I have started educating my students about what an eclipse is and why they should get to the path of totality on eclipse day. Every so often, I see a news story on my social media about the eclipse. It will start to get big, and I am sure many people will decide last-minute to get to the path of totality to take it in.
Since Denver and the front-range cities are within a day’s drive of the path, I wanted to use this space to share what I’ve learned about accommodations for viewing the eclipse.
If you live in Denver or Northern Colorado, you’re most likely thinking of heading north along I-25 to Wyoming to view the eclipse. Totality will occur along I-25 starting at Wheatland, all the way through where the interstate bends west and goes through Casper, then about 30 miles north into the wide open country. Most of the eclipse path in Wyoming has excellent weather prospects, so we’re lucky to have prime viewing areas so close to us!
Although Wheatland is on the southern edge of the path, most of town will still see almost a minute of totality. Recently, there were still hotel rooms available in Wheatland (although a couple of the hotels were charging premium rates, roughly $500 per night).
Just northeast of Wheatland is Grayrocks Reservoir. There’s a map of the reservoir here. The reservoir has primitive camping, or you could bring your boat on the lake and watch the eclipse from the water – or just drive up for a daytrip as it’s less than 3 hours from Denver. It will probably be less crowded to be farther away from the interstate, and this short jog northeast brings the time of totality to almost 2 minutes.
If you keep going east past Grayrocks Reservoir, you reach Fort Laramie, and then Lingle and Torrington. Fort Laramie is a National Historic Site run by the National Park Service. Torrington has camping, hotels and restaurants. The corridor from Wheatland through Torrington can be reached in less than 3 hours from Denver, and being on the southern edge of totality, this area may see smaller crowds and give you better mobility than areas on the center line. Yet you’ll still see a total eclipse for 1-2 minutes.
Continuing north on I-25 past Wheatland, you get to the Guernsey exit. Guernsey is about 15 miles east of I-25 and is home to a state park on a reservoir and historic Oregon Trail wagon wheel ruts left in the sandstone. The camping at Guernsey State Park is booked, but there is a golf course RV campground and a couple of motels. The Wyoming State Park system is offering day passes on its website. You can use one of the day passes to get in to any state park on the path of totality – Guernsey, Glendo State Park a little farther north, Edness K Wilkins State Park in Casper, and Boysen State Park near Shoshoni. This would give you guaranteed parking wherever your eclipse-day plans end up taking you, and you’d have access to the state park programs such as ranger talks.
Further north on I-25, you arrive at Glendo. Glendo is home to another state park on a reservoir, with the same day-pass program as Guernsey. Camping there has been booked for some time. Glendo is where the centerline of the path of totality intersects a major interstate highway going north from Denver. It’s still less than 3 hours away from Denver, and as such I expect this will be a very popular location as long as the weather looks good! Glendo is doing a lot of preparation for the eclipse. The town only has a population of 200 people – but it will likely swell to tens of thousands on eclipse day. Is it possible it could be hundreds of thousands? The state park will be busy, with hikes and ranger talks, boating and camping, and the main attractions will be at the Glendo Airport right next to the interstate. This will be the main viewing area along with vendors and exhibits. The school will also have eclipse exhibits.
If you decide to keep going on I-25, you get to the Orin exit, which has a rest area but limited facilities otherwise. If you go east from here and leave the interstate, there will be roadside stops but no actual towns – and you get to experience the vast openness and nothingness that is most of Wyoming. The first town of any size is Lusk – although in the northern part of the path of totality, Lusk will still see almost 2 minutes of the total eclipse. The town website for Lusk doesn’t indicate any eclipse events yet, so I don’t think they are doing a ton of planning or expecting big crowds. The biggest groups they may see will be people migrating south from the Black Hills area of South Dakota.
Continuing on I-25 from Orin, the interstate bends west and follows the path of totality through to Casper. Douglas and Glenrock are towns along this route, with lodging, viewing areas, and eclipse-related events planned. One charming stop might be Ayres Natural Bridge, a rock formation in a county park south of the interstate.
Casper will be an eclipse hotspot, as the first really sizable town north from Denver, with great weather prospects and the presence of the AstroCon convention. It takes about 4 hours to get to Casper from Denver, making it still doable for a daytrip for people who leave really early. Lodging in Casper has been booked for quite some time.
Finally, an additional option for people heading up for a daytrip from Denver would be to stop in southwestern Nebraska. Scottsbluff is on the southern edge of the totality path, but Scotts Bluff National Monument will still see 1 1/2 minutes of totality. The communities of Scottsbluff and Gering, along with the National Park Service, have set up viewing events and plenty of parking and free eclipse glasses. There is also a beer and wine festival in downtown Scottsbluff. This area promises to have a fun, community-wide celebration with easy in-and-out access to Denver and Colorado’s front range. In addition, Agate Fossil Beds National Monument is located in a more remote location north of Scottsbluff but will see a longer eclipse. Finally, the area around Alliance, home of Carhenge, the quirky replica of Stonehenge made from cars, will have about 2 1/2 minutes of totality and has plenty of community events planned. Intriguingly, there’s a music festival named Toadstock: Party on the Prairie. Still tickets available and free camping, and close to the centerline of the eclipse. I found a couple of other lodging options but don’t know how full they are. Viewing areas in Alliance will be available in several locations. Scottsbluff is almost exactly a 3 hour drive from Denver, and Alliance is 45 minutes northeast of there.
I made a Google Map with the information I know about eclipse viewing, lodging and events in southeastern Wyoming and southwestern Nebraska. I did not include Casper in the event map, but focused on everything within a 4-hour drive of Denver. This is my first total eclipse, but I can tell I am going to want to make it to another. If you possibly can, get out there.
Get solar glasses and eclipse viewing tips here:
Eclipse Chaser blogs:
And if you’re a teacher, start talking to your students, your district and your parent community about this as soon as you can. The eclipse will be seen throughout the entire USA and you’ll want to make sure all of your students have a chance to view it, get glasses and/or make pinhole viewers. The students may or may not be in school when the event happens, so encourage your school district to make plans now.
So I’ve been thinking a lot about competency-based education – the idea that learners should be able to progress through a flexible map of skills or concepts or dispositions, tracking progress and reflecting as they go, with as much choice as is reasonable on the timing and nature of the learning, on a time scale that’s right for them. Simple… right? I’m playing with some ways of piloting the idea in my classroom and I keep thinking about gaming in this process. Most video games have levels or achievements, and gamifying education is based on the inherent motivation built into video games. Every time you fail a level, you get to try again. You try until you succeed. Success metrics are clear, and when you succeed you go on to the next level. I like playing Minecraft with my kids, and we have fun finding our way through the Minecraft achievement map. The skills are really clear-cut and the achievements have to be done in order.
I wonder if I can apply the gamification principles to a class I teach. I’m experimenting with OneNote Class Notebook to push an achievement map out to my students. I need the map to be flexible – I don’t have it all written right now, and I’m not sure a competency map should be articulated completely from beginning to end. Do you want your child’s educational path pre-mapped from K through 12 or do you want them to be able to take unexpected turns as needed? I’d like to be able to push achievement challenges to the students as they come up, and maybe assign achievements flexibly depending on student choice and need.
I can push the achievements out as documents that contain a checklist, maybe a place to paste some code, and a reflection from the student. I can respond to their achievements and use this as the basis for conferencing with them about their learning.
For example, as my first two achievements for kids:
This semester, I wouldn’t use the achievement map as a grade, but I could leave the door open for it as an assessment tool in the future. How far would a student need to progress through the map to “pass” the class and move on to the next one? This is something I hope to answer after this semester.
I really wish I could create a clickable map like the Minecraft one, where you could hover over a box and it would tell you about the achievement, or click on the box to submit an entry to pass the achievement. When you passed one, the following achievements would be enabled. I know this is doable, but time and 217 students and so many preps and…. it’ll have to wait for a break, unless someone has created a tool like this and I just don’t know about it. Any badging or achievement-mapping tools out there that I should learn about?
What do you think? Have you ever gamified a graded class? What structures did you use and what should I fix before diving into this?
A couple of years ago, one of my former students came to visit. He brought business cards and a selection of little printed circuit-boards, or PCB’s. My questioning turned into a lesson in which a 15-year-old kid taught me how to install some circuit-designing software, create my own circuit board, export the design and e-mail it to a factory in China where the boards would be manufactured and mailed to me. It was one of the most empowering things I’ve ever learned! I feel I got some valuable consulting work from this student, and he provided it for free. What a generous gift and a valuable example of a teacher and student learning together.
I found out since that time that you can actually etch your own printed circuit boards at home, for quick prototyping. In electronics class, my co-worker Tracey and I created an engineering project for the students: design or modify a small, rechargeable LED-based lantern that works. This semester, I thought I would offer the opportunity for students to learn to etch their own PCB’s if they wanted to do it for their design. This was a rich and challenging project, and I want to share how we did this with middle school kids – with some notes of caution. It’s hard to do in a big group. I was grateful to have Tracey’s presence to work with most of the class on an alternate lesson while I took small groups to work on PCB design and etching. It was failure-prone and high-frustration, but also high-reward. Here’s how we did it.
First, the students need to design their circuit and generate a high quality, printable image of the copper traces. I used Fritzing, a free program that is fairly easy to use. I taught the students how to lay out a simple parallel circuit with resistors and LED’s. The components can be either surface mount (SMD) or through-hole (THT), but you want to choose Through-hole. Pay attention to the pin spacing to make sure it matches the components you have. In our case, we needed 3 mm spacing for the LED’s and 400 mils (these are thousandths of an inch, not the same as mm) for the resistors. I don’t know why the default units were different. I added a couple of via’s to connect to the switch and battery. Choose the “home-etched” setting for via’s to make them a little bigger.
Students could add as many resistor/LED pairs as they wanted, and rearrange them as needed. Some students created some interesting layouts for their PCB.
Next, we had to export the file to a high quality PDF. In Fritzing, choose File –> Export –> As Image –> PDF.
I stitched together a couple of methods from online articles for the etching part. This article from Hackaday used the magazine page transfer method, and it worked all right with some cautions.
Here are the supplies you need for this step..
- Glossy magazine paper and a laser printer. We found the alumni magazine from my university works well! Its 8 1/2 by 11 size and nice sturdy paper loaded and printed in the laser printer perfectly. We had some success with catalogs pulled from my mailbox too, although the paper was thinner so it tended to jam.
- One-sided copper clad PCB. You can get lots of this very cheap on eBay.
- An iron and ironing board (we borrowed these from the family consumer science teacher)
- A scotch-brite scrubbing pad.
You need to load the glossy paper into your laser printer and print the PDF of the copper traces. Fritzing will export a lot of files into a folder – print the one that ends in “copper_top_mirror”. You might have to try a few times before you get a nice printout on the magazine paper.
Buff the copper-clad PCB with the scotch-brite pad, until it’s roughed up a little.
Turn the iron to its hottest setting, and make sure there’s no water in the iron. Put the magazine paper with the image on it face-down onto the copper clad. Push down HARD with the iron for a full two minutes. Then move the iron around still pressing down hard, for 4 more minutes. This process sometimes took 4 tries to get a good transfer and was really difficult with a number of groups to work with. Imagine it takes pressure on every wire trace in order to transfer it from the paper to the board, and visualize how you have to press the iron down to make this happen.
Inspect the copper clad to make sure the image transferred with no thin or broken spots. We attempted to fix a couple of the designs with Sharpie, but it really didn’t work well. Better to transfer properly the first time.
Now you’re ready for the etching. For this part, I used the second half of the instructions from Blondihack. Some blogs recommend using muriatic acid, but with middle-schoolers the normal kitchen chemicals are the way to go here. You will not regret using plain old vinegar. You really should use a proper science lab with fume hoods, sinks and safety equipment. At the very least, make sure you have safety goggles and nitrile gloves for everyone, and access to a sink. To do the etching, you need:
- White vinegar
- Household hydrogen peroxide
- Some salt
- Foam brushes
- Plastic tubs
- Measuring cups and spoons
- Safety goggles and gloves
- A timer
- Acetone (nail polish remover)
It’s pretty simple. Pour equal portions of hydrogen peroxide and vinegar into a shallow plastic tub. Add about a teaspoon of salt and stir it gently. When the salt is dissolved, put the PCB into the solution. You’ll see a film of yellowish gunk appear on the board, and over time the liquid will turn blue. About once a minute, use the foam brush to wipe the gunk off. It took us about 50 minutes to complete the etching. When you’re close to done, the edges of your board will be free of copper. You’ll know you’re done when all of the copper is dissolved except for what’s under the black toner. When you’re at this point, rinse the board with lots of water. We washed the remaining etching solution down the drain with lots and lots of fresh water.
When the board was rinsed, we took paper towels and some nail polish remover (acetone) and scrubbed the rest of the toner off the board until the copper was visible.
I used Blondihack’s method for drilling holes with a Dremel tool. I did the drilling and chose not to let students use the Dremel. It has the potential to really hurt you and this step requires a steady hand. Get your inner brain surgeon ready.
For the drilling, you’ll need:
- A Dremel rotary tool
- Quick-change Collet nuts (you need the smallest one) or a 1/32 inch drill chuck
- A 1/32 inch drill bit (I bought this set)
- A clamp and a piece of scrap wood
I recommend clamping your PCB to the table on top of scrap wood. You really want to make sure it doesn’t move around. Wear the safety goggles. Use the 1/32 inch drill bit and carefully drill a hole in each location on the PCB.
Next the students can solder the components onto the PCB. You can only solder them onto the copper trace, not onto the blank side of the board. Clip on the battery and test it out! Students sometimes had to use solder or jumper wires to fix locations where the copper traces were broken or thin. They cut the boards down to size with tin snips (fairly cheap at Home Depot) and sanded them when needed.
The groups that had fewer problems were able to finish their circuit boards in 3 class periods, but some student groups took up to 6 class periods. These groups had to re-do steps along the way, usually in the printing and transferring, but sometimes in the soldering as well.
It was a supremely rewarding process. The students were so proud of their work. We all learned a lot about how printed circuit boards are made, and I think the kids felt as empowered as I did when I made my first PCB with that student so long ago. Students stayed after class and after school, trying over and over to get the process right. They really wanted to finish it once they started.
I would strongly recommend having extra adult supervision if you try this activity with kids. Six students at a time seemed to be my capacity – consider bringing in parent volunteers or community members and training them on what to do. Plan ahead for science lab space, drilling and soldering, and for how you’re going to manage failures, because they will happen. It’s part of engineering.
If you try PCB etching with your engineering students, I’d love to hear from you. What went well? What would you do differently? What did I miss that I could be doing better?
In my 6th grade tech class, called Web 2.0, my colleagues convinced me to include some keyboarding practice in the curriculum. It’s not a fun topic to teach, but it is a really important life skill and it’s not taught in any of the kids’ other core classes. One of my fellow tech teachers had a great idea to have students keep a spreadsheet of their keyboarding speeds throughout the quarter. The students take a 1-minute test every day and log their score in the spreadsheet. We use the sheet to teach students about using formulas, and it’s a good daily reflection tool on their growth.
We use NitroType and typing.com as tools for practice. NitroType is really engaging and I really like the drills on typing.com.
I have the students calculate their average speed (the average formula), their growth (using max, min, and subtraction), and how many times they got 25 words per minute or more (using the “countif” formula). A finished spreadsheet looks like this.
Here’s what I find fascinating. I think teaching keyboarding is really boring. The online tools make it bearable. I put on my game face and practice with the students, and challenge them to race me to keep myself engaged in it. The students, however, LOVE it, and I think what they like about it is that they track their progress with a number. They know when they’ve improved. The goal is crystal clear and they can tell instantly if they’ve met it.
At the end of the quarter, I asked the students to reflect on whether they met either the goal I set for them (which was to gain 10WPM and be over 25WPM at least once), and whether they felt they had met their personal goal. These were some of their comments.
“I Met my score :)”
“I love TYPING”
“My goal was to increase by 10 words per minute. I started at 27 words per minute and slowly increased and got better until I got to 39 words per minute which was past my goal”
“My goal was to get to 35 WPM and I passed it by 10, I am really happy.”
“My goal was to get more accurate and more comfortable without looking at the keys. This I think I did improve on.”
“I improved so much!!!!!!!!”
“I think I’ve really improved with my keyboarding. I think I met my goal because I beat 25 by at least 20 and all of my scores were in the green. I will continue to practice keyboarding as I believe it will help me in the future. The time we had in class helped my improve and I fell like I’m 10 times faster than I was last year. Even if that is an exaggeration I really mean it when I say I got a lot better, so thank you for making me not only a better typer, but a better student as well.”
“I got to 25! That was very exiting because I am not that fast at typing! and I made my spread sheet very colorful!”
“I am proud of where I am with my typing and gained ten WPM”
Isn’t it interesting how motivating it is to have a clear goal and know immediately if you’ve met it or are improving? I see this every quarter. I wish I had a way to give students this instant satisfaction in classes in which progress is slower and proceeds over the course of a project. Learning coding can feel like this if you do activities like an Hour of Code, but what about learning in a creative problem-solving setting, where you have to investigate, discover, create, try and fail, iterate, gather data and perfect an actual product? Can I help students reflect on their day-to-day growth and their short-term goal setting as a motivational tool? I’m sure I can facilitate this by putting some good reflection tools in place. Let’s make this a New Year’s Resolution – I will help my students become motivated and reflective learners, and to track their own progress to make them feel the same sense of satisfaction my keyboarding students get.
Hi everyone, sorry for the long silence on the blog. I don’t have any good excuses but would love to do better. Sometimes I have so many things going at once that if I think for an evening about what I want to write, everything is different the next day.
Here’s the report on how Fall 2016 went at Preston Middle School and beyond. It was quite a whirlwind!
Before school even started, I traveled to Washington, DC for the Teacher Leadership Initiative Alumni Academy through the NEA. We did a lot of group brainstorming on some of the sticky issues of teacher leadership. The team really focused on what to expect under ESSA (the new law replacing No Child Left Behind, which puts a lot more power and flexibility in the hands of states), as well as early career teacher retention and mentorship. I did some targeted work with a small team on the student-discipline aspects of ESSA, which requires states and districts to track discipline data and disaggregate it by subgroup. Sharing stories, we realized our schools and districts still have much progress to make in this area. There’s ample evidence that suspensions and exclusionary practices result in worse educational outcomes and they’re applied unevenly when it comes to the students’ race or special education status. Yet many schools still practice them – here’s an area where our association needs to help educators take a stand on behalf of the kids.
I always enjoy working with my colleagues at the NEA, and I appreciate what they do for the 3 million of us (!!!) that are members.
Also in August, my family and I vacationed hard and had visits from friends right up until the day school started. It was a rush to get ready for the school year to start! Our building tech coordinator, Matt, and I also had to set up and plan for a year of working with our new VR makerspace. We had won a grant for it in the spring, and so we spent some time in the summer ordering equipment and getting the makerspace ready.
I taught five different classes this fall, and had over 200 students total – not too uncommon for a middle school elective teacher. Most of August is spent just getting things started – learning names, establishing your classroom norms, getting started with whatever it is you’re planning to do.
All of my classes moved forward with learning content and working on projects – Scratch, Processing, Arduino, NAO robots, and Minecraft kept all of us busy. Toward the end of the month, I traveled to San Diego to work with Convergence on their Education Reimagined initiative. I represent a group with Poudre Education Association and Poudre School District at these events. Education Reimagined networks practitioners who are moving toward learner-centered education – a model in which schooling looks very different from what we think of as schools. In this model, education is driven by the needs of the learners instead of the needs of the system around it. The learners have choice, develop an individual map of competencies instead of progressing through grade levels, learn socially as not just students but as peers and teachers, and they learn in the context of the world they live in. These events involve very big thinking and it can be difficult to find the thing you’re going to change in your classroom Monday morning. You come back wanting to tear down the whole structure you work in, wanting to rebuild it based on the new paradigm. It’s hard to do work like this in short bursts and then come back to a traditional public middle school. I try my best to be learner-centered in the 90 minutes I have with all of my 200 students every other day, but of course there are limits to how far we can take it. If you’ve ever thought about the big structural changes you’d like to make to your own schooling environment, or if you’ve had some success making those changes, it would be wonderful to network with you.
I traveled to Providence, RI with my colleagues in the Allen Distinguished Educator program in the middle of the month. Sometimes I come back from a professional development experience thinking how far ahead my school is when it comes to innovative education. And other times I’m deeply humbled as I realize how much I could still grow. My meetings with the ADE’s always fall into this category. My colleagues have allowed their students to grow into true engineers and entrepreneurs, and they seem more energized the more they do. We visited the MET, a Big Picture Learning school in Providence, and we toured the entrepreneurship program and met some of the amazing students there. We also visited AS220, an arts school and also a residential art program that really focuses on students who have been in the correctional system.
The more I visit programs such as these and hear the stories of lives changed and inspired, the more ridiculous our current standards-based curricula and accountability systems seem. The real work of changing lives requires more out of us – harder thinking from the adults as well as the kids in the system.
In addition, in October, we got a really interesting invitation from Colorado State University to attend a Virtual Reality symposium and hackathon as special guests. I hoped the students might be able to participate in the hackathon (some of the middle schoolers would have done really well), but that was not to be. But the symposium was great. Matt and I had 20 kids attend the symposium and another dozen come to visit the hackathon. I think anytime a student gets a chance to be in a university setting, talking about academic topics with the adults, it’s good for them. Some of the language was over their heads and the students described the experience as “sometimes boring but also interesting”. We never knew some of the ways VR could be used, and how exciting it could be if we were involved in the cutting edge of that kind of research. Everything from immunology to big data to civil engineering.
Matt and I infused the symposium experiences into class curriculum by including readings and videos for the kids about the future of VR, and by allowing kids to choose to work on semester projects in Unity that explored how VR can be used to make the world better.
In 2016, the Colorado State House passed a law requiring the CDE to develop standards for Computer Science, and allowing districts to opt into them. The bar is set low here, but the ceiling is high. At the very least, the initiative to develop standards gets educators talking about CS education and that’s worthy in itself. The effort to develop standards and get stakeholders together is just getting started. With a couple of my co-workers at the high school and district level, I attended a stakeholders’ meeting and standards input meeting in November. It was great to meet the folks in Colorado passionate about bringing computer science education to every kid. There are a lot of us, from diverse backgrounds, involved. Leaders from government, nonprofits, K-12 education, higher education, and private industry all had a lot in common. We believe computer science education is critical for the new workforce kids are expected to enter. We believe CS education should involve concepts and skills, but perhaps more importantly, creativity, problem-solving, and innovation. I loved that one message that came through was that we should exceed the expectations of the law. We don’t need to limit ourselves to high school and don’t need to set the expectation that CS is optional. We also believed that CS education should be accessible regardless of zip code or family background, and whether a student plans to attend college or not. We believe computing jobs should be available to high school graduates and we’d love to offer that track to learners.
I am excited about where these efforts are going next.
November 8th came and went. I volunteered throughout October and up until election day. I canvassed for our school district’s mill and bond, and I went out many weekends with the Larimer County Democrats for Hillary Clinton. Election day was hard. As an educator, all I want for my students is for them to think critically and be kind. The result of the presidential race felt like we have a long way to go, and it was disheartening. In the days following, I listened to the kids and just enjoyed being around their innocence and good spirits. Middle-schoolers sometimes bring their parents’ politics to class, but overall they are just interested in being kids, learning and having fun, and so we honored that and will continue to do so. We tried, and continue to try, to keep school safe and polite while also allowing students to discover their own voice and reason about what they believe. I will be flexing my own voice about policy and messaging in the coming months and years… while keeping my identity as an educator separate from my identity as an activist citizen. And this is the delicate balance we walk as educators. I would never deign to influence my students’ beliefs and yet I want them to know I believe in them and want the best for them.
The critical time in December is Computer Science Education Week, the week of Dec. 5. The awesome staff at Preston agreed, for the third year in a row, to conduct an Hour of Code with the students at some point before winter break. Math teachers and science teachers carved out a little time to make it happen. The kids in my classes told me all about it and how fun it was. For my part, I had a few different items cooked up. I created a Minecraft Hour of Code using the ComputerCraftEDU mod, in which students program a turtle to mine and build for them. They love this Hour of Code and the kids asked to continue programming turtles afterward. For my Computer Science students, I wanted to empower them as CS ambassadors and advocates. I arranged a tour of elementary schools, and for four class periods, volunteer parent drivers shuttled my 7th and 8th graders to several other schools where my students taught an Hour of Code to kids from kindergarten to 5th grade. The CS students had to develop a lesson plan, with a learning objective, an opening, activity, and a way for kids to know if they had been successful. My students said this was their favorite part of the semester, and I heard from parents that their child would not stop talking about their elementary school visits at home! This was a devilishly challenging puzzle to work through, with the logistics and timing and paperwork, but it was very rewarding.
On the Wednesday of that week, we hosted the 2nd annual Preston code-a-thon. 160 students signed up for it, and we accepted 50 of them for the big day. The code-a-thon’s theme was “Hack the Holidays”. Students had about three hours to design and code a solution to a holiday-related problem. We got educational programs that taught about world religion, a robotic light-hanger, an app to help you with meal planning, a 3-D virtual reality holiday maze, a budget planner for gifts, a gift-delivery game, a few stories about helping the homeless, and many more. The event was a wonderful success and the kids had a great time coding with their friends for a morning. We hope to hold another one in February to accommodate the students who couldn’t get in the first time.
Finally in December, the VR and emerging technology enrichment class I taught with Matt came to a close for the semester – as did my other classes. We decided to host a Passion Project night in coordination with one of the GT English teachers, in which students could share their projects with their families. We had students create a few VR projects, including a skydiving app, a fear-of-heights simulator, and a virtual zoo. One student did an involved Arduino project, one student did a web design project, and another did research on how to build his own computer. We featured a couple of students in TED-style talks in front of the large crowd. The young man who created an Arduino-based distance sensor and the young lady who created the VR fear-of-heights app demonstrated their projects in front of a crowd. It was a fun way to put a cap on a very good semester.
I’ll try to blog a little more consistently this semester instead of writing about EVERYTHING right at the very end. I’ve enjoyed communicating with those of you I meet on Twitter and social media, so please reach out if you’d like to share thoughts or plans on anything.
I wrote a blog for the Allen Distinguished Educators about my school’s experience starting a VR program in a middle school.
I have found quite a few articles lately about how VR can be helpful and life-changing for those that use it. VR can change your behavior and decision-making. VR can ease the pain of hospital patients, including children with sickle-cell disease as well as burn victims and other patients in pain. I think these ideas will really appeal to kids and empower them to think about what they could create in VR that involves the engineering process.
We’re excited for this program to gain traction this year!
I’m now a couple of weeks into the 2016-2017 school year, and I really think things are off to a good start. This year marks a bittersweet milestone for me. This will be my ninth year teaching. I was a software engineer for nine years. After this year, I’ll have been teaching longer than I was an engineer. I guess this is my real job now!
I have three regular-length classes I teach this year, and they’re pretty much the same as last semester: Web 2.0 (our required quarter-long 6th grade tech class), Computer Science Explorations, and Electronics (both of these are semester-long electives for 7th and 8th graders).
I’ll also teach a couple of enrichment classes, for a shorter time and for no grades. I’ll blog about those once they get started!
In Web 2.0, I start the semester right away by introducing Scratch. It provides much more than just coding at the beginning. Students learn about data privacy as we talk about creating a login and password, and facilitate the discussion with their parents so they can get their accounts confirmed. We go over the Scratch community guidelines and talk about what it means to be a good internet citizen.
We dive into coding by exploring the “motion” and “looks” blocks and having students write a story. Sixth graders have a funny and strange sense of humor and I always get quirky programs from them, including things like farting, flying hippos and a purple Morgan Freeman in front of a black hole.
As we get into more challenging aspects of coding, we’ll continue to spiral back to the community guidelines, and we’ll learn about proper commenting, remixing, reusing and giving credit.
For the Computer Science Exploration class, we’re starting with coding right away in Processing. After doing some basic lessons on the coordinate plane, we learn about shape and color commands, and the students have to plan and create a free-draw program. I’ve blogged about this assignment before and enjoyed it this time around as well. Here’s some of the work from the kids.
And in Electronics, my teaching partner, Tracey Winey, and I decided to start the semester with circuits and Arduino, and then in the second quarter we will explore the engineering design process with sustainable lights in Engineering Brightness. I love our Arduino program and the kids have so much fun with it. So far they’ve all been able to make multiple lights blink and they are just so happy when they make it all work. Coding is fun, but coding when you’re interacting with something in the real world is extremely rewarding – we are having literal light-bulb moments.
The Allen Distinguished Educator program and LearnBig worked with us to develop a DIY guide on the Arduino light-up music boxes, and we actually had our kids use the professional video to work on their first project. They enjoyed it and said the videos were very helpful.
We asked the students to write reflections on Google Classroom about the blinking-light activity and their comments were gushing with positivity.
“i really was confused at first but now i get it and it is very fun!”
“I learned how to code, because I didn’t know how to code before. I really liked just the learning aspect of it because I have always wanted to code and I finally learned how to.”
“I learned how to use Arduino. I liked that I actually can make this board light up. it just felt nice.”
“I learned that it really isn’t that hard to program and arduino, and I really liked this! I just know I am going to have a lot of fun with these! Thank you so much for the opportunity!”
“I learned that this is a awesome class and that there was a lot of cool and hard steps to get to where i am i would have to say that i dont just like but love this class”
Wow, so many feels! I love being able to come back to those later in the year and reminding the students how far they’ve come and what they have learned!
As a final note, the number of girls taking CS and Electronics has slowly crept upward, although the numbers aren’t what I hoped they would be, and they probably never will be as long as learning computer programming / computing is considered optional. I have 4 girls in Electronics, and 12 total in my two sections of CS. It’s better than my first year when I would have one girl and 30 boys in a programming class, but we continue to be part of the problem when it comes to inequitable access to learning programming. The ability to program a computer won’t get less important as these kids graduate, and I wish for all of them to be able to participate in the world as inventors and creators.
I had my CS students do a little activity about their perception of programmers, and I’ll blog about that next time!
In February, my teaching partner Tracey Winey and I received the Allen Distinguished Educator award. I want to tell you a little about the program as there are some possible ways for you to get involved! (Hint – there’s money available!)
The program was spearheaded by Paul Allen, and it seeks to highlight and further the spread of innovative education programs in computer science, engineering, and entrepreneurship. The program looks for teachers who are “breaking the mold” in these areas, re-imagining what education looks like in a variety of school settings. There are ADE awardees who teach all grade levels, from large and small schools, from charter, private, and public schools. What we have in common is that we believe in students’ ability to be creative problem solvers – we believe in individualized, project-based learning – we believe a 21st century education is not just about modern tools but allowing those tools to be used powerfully. We’ve created programs that look at learning in different and exciting ways. The ADE community helps us share our work and network with each other and with you.
Tracey is the media specialist at our middle school, and I’m the computer science and electronics teacher. She has taken the lead at turning our school’s media center into a social hub and makerspace, filling it with engaging technology, a creative spirit, a sense of adventure. I have worked hard to grow the computer science and engineering program at our school, to make programming just another creation tool we use to solve problems and to make engineering part of the everyday culture. We have our separate sandboxes but we work together on an Electronics class and program called Engineering Brightness. We share a lot more about this program and what we’ve learned from it on the ADE website.
On the ADE website, you’ll find Micro-documentaries, Roadmaps, and Do-It-Yourself guides. A team from the Allen Distinguished Educators program, including a video production team from LearnBig, an e-learning company, came to our school and spent three days with us creating these products. It was exciting for me – my first time working with a professional team of videographers and writers. They listened to our stories and inspected our lesson and unit plans, and turned them into video products I’m really proud of and excited to share. It’s interesting to see an outside perspective of myself as an educator. It’s not the whole story of me and Tracey, but I like the story they told.
I’m not a perfect educator or person. Going through the process of documenting and videoing my life as a teacher has laid bare the areas where I want to improve as well as my strengths. I’m really humbled to be in the company of the other ADE’s and suffer from imposter sydrome as much as the next person. I am, however, firmly committed to honoring my students as creative people with an interest in exploring the world around them, playing and solving problems, and I’m committed to learning alongside them – I stay grounded in that philosophy.
You can get involved in the Allen Distinguished Educator program! The grant application period just started for the DIY grants. These grants will award $1000 for you to implement one of the DIY guides on the web site. Tracey and I created the DIY guide about making Arduino-based music boxes with middle schoolers. $1000 would be enough to get a class set of Arduinos so you can get involved in physical computer science! I hope you apply for a project that is suited for you. All of them are rigorous and interesting and innovative for the students and teacher.
Let me know if I can do anything to help you with a grant proposal! And if you’re interested in joining the next class of ADE’s, watch the web site for application information this fall.
I have not blogged in a very long time! A lot has happened in this exciting semester, including being honored as an Allen Distinguished Educator and getting to work with a phenomenal team to create resources to share with the public. I will write about that experience as well, but am moving in reverse-chronological order, starting with the most recent project. I teach classes at our district STEM institute every summer (find the website here: http://www.steminstitutes.org/) . I love teaching at the institute. I wish school could feel like this all year long. This year, I had the pleasure of teaching a Minecraft Explorations class during the morning and afternoon. It hit me about a week before the institute that I was getting paid to play Minecraft all day long – living the dream!!
At the beginning of this school year, I purchased licenses for MinecraftEDU and I love it. Unfortunately, as you can tell if you follow the link above, the old MinecraftEDU is now in transition. Microsoft is re-writing and re-releasing the educational version as Minecraft: Education Edition. I would love to use it, but it’s only going to be available on Windows 10 and my district’s IT department has been very clear that we are not moving to Windows 10 this year. I had JUST convinced a whole bunch of colleagues to purchase MinecraftEDU, and a couple of them had JUST gotten the funding approved, when we found out we could no longer purchase MinecraftEDU – and the new Minecraft: Education Edition is not an option for us at all because of our operating systems. It is extremely frustrating – I believe in this tool and think our kids will really benefit from using it in classrooms, and our progress as a district has been completely shut down.
I am still able to use the old MinecraftEDU, and I did. The kids loved it and I had a wonderful week. I decided early that the kids could make a creative map and design anything they wanted, on a safe school server – and that I would provide mini-lessons every day to add a little more to their Minecraft toolkits so they could build even better things at home. I provided them with flash drives that had all of the mods, maps and documents they would need.
Day 1: Beginning build and Redstone lesson.
After some getting-to-know you activities, I told students they could sit next to one or two people they would like to build with. We first installed mods on the computers: I installed Mr. Crayfish’s furniture mod, BiblioCraft, Custom NPC’s, ComputerCraftEDU, Malisis Doors, Carpenter’s Blocks, and the Key and Code Lock mod. I opened a creative server and had everyone spread out with groups far away from each other. I told them they could build a home and to pick a theme – a castle, a dungeon, a zoo, a specific animal, a treehouse – anything they wanted. The kids loved the mods and were thrilled with the furniture mod, which allowed them to have Minecraft blenders, refrigerators and sinks among other things. The Carpenter’s Blocks are really cool – they allow you to create angled, curved and sloping blocks with any texture you want. And the Malisis Doors mod allows you to create interesting doors and even custom doors with special animations, textures and combination locks. Fun!
We then saved and temporarily shut down the creative world, and I opened a redstone world map that I made. It’s located here:
This map takes students on a tour of redstone contraptions. I spent some time over the weekend watching video tutorials on more advanced uses of redstone. Did you know you can make logic gates with redstone? You can create a NOT gate, OR gate and of course an AND gate. I wouldn’t be surprised if someone, somewhere, has made a fully-working computer or arithmetic-logic unit using redstone.
In the map, students explore different redstone devices and activators, and also learn about logic gates, repeaters and comparators. I finished the map with a Kahoot! quiz and then opened the creative world again. Students were instructed to add their own redstone contraption to their home. Some of them were very complicated – I would never figure out how they worked!
Day 2: Custom NPC’s
Non-playable characters let you turn a map into an adventure or a quest. These characters can be configured to follow you, fight for you, trade with you and have dialogs. I gave a mini-lesson on how to create an NPC using a special wand, and then how to set up a dialog with multiple-choice answers. We also learned how to add quests to the NPC’s dialog. The non-playable character can be part of a storyline, leading you from adventure to adventure. I suggested that the next time students have a science project, a book report, or a time in history to write about, they could do the project as a Minecraft adventure! Wouldn’t that be a more fun way to learn about the Revolutionary War if you could interact with the main players and let them tell you about the events?
The lessons are summarized in these videos.
NPC dialogs and command blocks:
This video shows how to use quests:
To finish out the day, I gave the students command blocks using the command: /give @a command_block
I gave kids a very basic tutorial on using command blocks. You can set up the blocks with a command, and activate it with a lever, button, or other redstone connection. Some simple commands include:
Summon an entity: other entity names can be found online
Give the nearest player an item
/give @p cookie
Teleport the nearest player to the following x,y,z coordinates.
/tp @p 100 75 -200
I would not recommend giving command blocks to a large class and you really need to be cautious with them. They give great power! There is a connection with computer science here… each command is like a function, and the parameters follow the function name. Just as with any computer language, punctuation, spelling and capitalization are important.
We played a Kahoot quiz on custom NPC’s to finish out the day.
Day 3: ComputerCraftEDU
On this day, we introduced turtles! These are adorable Minecraft robots that you can program to mine, dig, chop, attack and build for you. The ComputerCraftEDU turtles use a graphical programming language that is fairly intuitive to learn, and maybe more importantly, super cute. I introduce the turtle coding with a little “hour of code” activity I developed for them.
The language looks like this. This program tells a turtle to dig, move forward, dig – then place a block, move backward, place another block.
The language has variables, loops and conditionals as well. We talked about how important it is to specify WHICH steps you want to repeat over and over again. I often introduce loops by having students write instructions for a “human” robot to do something such as walk down a line of kids and tap every kid on the head. The instructions might say something like this:
Start at the first kid
Tap on head
Go to the next kid
Repeat until no more kids
If I follow instructions like that, I may tap only the first kid on the head and then just walk to every other kid until I get to the end of the line. Or, I might repeat all of the instructions – start at the first kid. Tap on head. Go to the next kid. Start at the first kid. Tap on head. Go to the next kid. Our language needs a way to specify a beginning and end of what exactly is repeated.
The Turtle coding language has this. For a repeat loop, for example, the instructions to be repeated are bookended by “Do” and “End”.
The “Place” and “Move Backward” instructions are inside the Do and End blocks, so the turtle will place a block and then move backwards, and repeat those 2 instructions 8 times.
After we do some whole-class activities experimenting with the Turtles, the whole class discusses how you would write a useful program that the turtle could run that would help you in Minecraft. We talk about some activities you do in Minecraft that might be helpful to have a robot do for you: exploring at night, fighting some of those nighttime mobs, mining, chopping down trees, building a house, farming. We choose one of those examples – say “mining” and discuss what exactly you’re doing, step by step, when you mine. The kids usually start by describing how they dig a staircase into the ground. But we have to talk about special conditionals that pop up. What if you dig into gravel? What if you dig and find lava, or a cave? If you find iron, should you keep digging forward or do you dig in all directions to see if you’ve hit an iron vein? Once you’ve dug down a certain depth, how do you return back to the surface? Writing all of this down as a program becomes a challenging and interesting task.
I gave the kids a couple of example programs that do some complicated mining and tree-felling, and let the kids explore the pros and cons of them and try to make the programs better.
Of course,there is a ComputerCraftEDU Kahoot Quiz to finish things out. 🙂
Day 4: Modding
Kids were very interested in modding, but this is the most difficult concept to teach. What is a mod? Think of Minecraft as a box of plain legos. The analogy to a Minecraft mod is a specialized set of Legos… the Harry Potter kit, the pirate kit, the farm kit. A mod uses Java code to connect to Minecraft’s events and data structures, letting you create customized blocks and items and even mobs. Most kids have an idea for a mod they’d like to create. Most kids will not get there on their first mod, but they’re excited to start down that road.
I have an O’Reilly book about modding that uses Forge and Eclipse, and I was fairly successful at home at writing a simple mod and getting it to build. I ran into troubles when I tried using this on the school computers – installing the software, keeping the folders straight, and working around blocked websites was very painful. Then one of my students introduced me to MCreator. This is a very nice tool found here:
MCreator uses forms and menus to generate the Java code for mods. First we used the “Tools” menu to access the texture drawing tools, and kids drew their own texture for a block or item. Next we went to the Workspace and created a new block. The menus let you choose the block’s texture, its properties such as hardness and luminescence, and the events it responds to – what happens when you place it, right-click it, destroy it. The tool creates the code, and then you can click “Export” to create a .jar file, drop it in your mods folder and voila! The only catch to running this on a school computer was that the kids have some websites blocked (including minecraft.net) that make it so they can’t actually build the mods from school. I had the students give me their MCreator folders on a flash drive, and I built the mods and gave the flash drives back with the .jar file on it. They had a lot of fun seeing their mods come to life in a singleplayer world.
Day 5: Putting it all together
On this day, we made our houses presentation-ready and put together a poster board for the parents. We played some charades and made sure the map, mods and MCreator files were all on the students’ flash drives. For files created in MinecraftEDU, they could use the maps and mods at home if they used the right version of Forge. The version I found that worked is 10.13.2.1291. I gave kids instructions for copying the mods and the map for use at home:
We played survival, just for fun, for the last hour of class. Great fun and excitement to hunt, gather, and dodge zombies together for a while.
I feel when you’re teaching just a weeklong class, you have a tradeoff to make. I chose to focus on new tools and skills in the Minecraft world rather than creating a big project – we worked on a creative house build but the class was really composed of four mini-lessons and not one large product. I also think there’s a lot of value in having the students plan, execute and troubleshoot through a whole-class build with a theme. With the custom NPC’s, I’d love sometime to create a multi-player adventure map with quests and an educational purpose. Maybe that will be my focus of my Minecraft enrichment class next year!