MeteorPad Tutorial: GoldMine

In a unit on Meteor applications for my web design class, I wrote a series of applications to help my students see the basic structure of a few Meteor applications so that they could eventually design their own. The students had seen applications that tallied votes from a survey, compiled links, and a simple blog. This one was about being competitive, and the students were understandably into it.

This tutorial was designed to use MeteorPad due to some challenges associated with installing Meteor on student computers. The first one involved permissions issues since students are not by default given access to the terminal. The second involved connectivity issues to the Meteor servers from China, which unfortunately, I never fully resolved. MeteorPad offered an awesome balance between ease of making an application and minimizing the need for Terminal. For anyone looking to get started with Meteor, I recommend trying out MeteorPad as it doesn’t require any knowledge of working in the terminal or software installation.

I was able to take data on the students clicking away as I created new pieces of gold and put it out into the field. I’ve written previously about my enthusiasm for collecting data through clicks, so this was another fun source of data.

Code can be downloaded here from Github.

On Grant Wiggins

Like many others in the world of education, I was saddened by the loss of Grant Wiggins on May 26th. Before I begin my summer period of writing on what I’ve learned this year, it seems appropriate to share just how much Grant and his ideas helped shape my classroom into the place of learning it has become.

I was lucky to have met Grant when he came to my school in the Bronx in my fourth year teaching. My assistant principal at the time worked to bring him and was understandably excited to share the news of his approaching visit. I had not read Understanding by Design from start to finish in my education courses, but the principles described were frequently referenced. I was embarrassed to learn that I knew of Grant’s ideas but not his name. My wife pulled out her copy of UbD when I told her who was coming to visit us and pointed to Grant’s name on the cover, and I realized this wasn’t going to be just another disconnected day of PD staring at a PowerPoint presentation.

The time he spent with us began a transformative period of refining my planning process, possibly the most significant I’ve had over my twelve year career.

His beliefs around assessing content skills independently pushed me to experiment with standards based grading. His famous analogy identifying the distinction between practicing soccer skills and playing in a game revealed clearly the mismatch between the different types of assessments I was using and the mixed levels of success my students had on them. I experimented more with open ended problems to give my students the experience of playing the game of mathematics. I came to shed my fear of exposing students to problems that they hadn’t seen before, and instead embraced them as opportunities to expand student intuition around the associated skills. This shift away from the ‘skills first, application later’ philosophy became central to my teaching. It would take a bit longer for me to successfully integrate essential questions into my unit planning routine. I changed my lesson planning routine to be end goal oriented rather than being decided by sections in a textbook or pacing guide. It took longer to feel comfortable using essential questions to plan lessons, but I knew when I first learned about their power that I wanted to develop my ability to do so. 

I also learned a great deal about the power of sharing ideas from reading Grant’s blog. It was clear that he saw his work helping teachers as a process leading them to discover these truths for themselves, and not as a keeper of secret knowledge to be doled out by buying the next book. He was always describing his experiences with teachers as they were developing their craft. He wrote openly about the struggles he faced along the way. When I started blogging myself, I felt obligated to service my own teaching through a similar level of honesty in writing. I was honored that he also discussed and shared my ideas on a couple occasions.

A colleague of mine once said that much of the professional development we receive as teachers is little more than stating the obvious. The ideas that Grant shared were not new, but they also were not what I was told from the beginning of my training as a teacher. They should have been. Start from the end, give students opportunities to think big, and assess authentically what you want your students to be able to do. Keeping these ideas at the front of my teaching has not always resulted in the outcomes I expected, but I love how they have shaped my priorities when sitting down to plan what comes next. 

It is often the small shifts in thinking that make the big differences in what we do daily. I am thankful to Grant starting this process for me. I know his work lives on in the many classrooms that have been touched by his ideas, and students are the ultimate benefactors of the changes he promoted in our classrooms.
Thank you, Grant, for sharing your life with us.

Coding The Feud with Meteor

Now that I’m cleaning up loose ends from the year, I’m finding time to share some of the projects that have kept me from posting here as of late. Sorry, folks.

We decided to shift from our usual Quiz Bowl activity at the end of the year to a new format of Family Feud. This process developed over the final quarter of the year, so I was able to get some student help putting a web application together for the visuals. A big shout out to Alex Canon in 9th grade who did prototyping of the HTML templates using Blaze in my Web Programming class.

Screen Shot 2015-06-17 at 9.20.49 PM

The application is written all in Meteor and was a big hit. I’ve posted the code here at Github and a demo application at http://HISfeud.meteor.com. The looping music and authentic sound effects made for a good show while students tried to remember what they answered on their survey from a month ago. This was part of our end of year house competition, which complicated things a bit since Family Feud is played two teams at a time. Still, I like how it worked out.

Lots more to share, so stay tuned.

Reaction Time & Web Data Collection

If you put out an open call through email to complete a task for nothing in return, it might make sense not to expect much. I tried to make it as simple as possible to gather some reaction time data for my IB Mathematics SL class to analyze. My goal for each class has been to get an interesting data set each time and see what students can make out of it. After several hours of having this open, I had a really nice set of data to give the class.

I know my social networks are connections between some phenomenal people. That said, I didn’t know that the interest in trying this out would be so substantial, and in several cases, get people to try multiple times to get their own best time. In less than a week, I’ve collected more than 1,000 responses to my request to click a button:
Screen Shot 2015-05-22 at 3.41.12 PM

I coded this pretty quickly and left out the error correction I would have included given the number of people that did this. I’ve been told that between phones, tablets, desktops, laptops, and even SmartBoards, there have been many different use cases for times ranging from hundredths of a second to more than five minutes – clearly an indication that this badly needs to be tweaked and fixed. That said, I am eager to share the results with the community that helped me out, along with the rest of the world. A histogram:

There’s nothing surprising here to report on a first look. It is clear that my lazy use of jQuery to handle the click event made for a prominent second peak at around 0.75 seconds for those tapping on a screen rather than clicking. Some anecdotal reporting from Facebook confirmed this might have been the explanation. The rest of the random data outside of the reasonable range is nothing more than poorly coding the user experience on my part. Sorry, folks.

This isn’t the first time I’ve done a data collection task involving clicking a button – far from it. It’s amazing what can be collected with a simple task and little entry cost, even when it’s a mathematical one. One of the things I wonder about these days is which tools are needed to make it easy for anyone (including students) to build a collection system like this and investigate something of personal importance. This has become much easier with tools such as Google Docs, but it isn’t easy to get a clean interface that strips away the surrounding material to make the content the focus. For all I know, there may already be a solution out there. I’d love to hear about it if you know.

Maintaining Sanity, Reviewing Priorities

I’ve had a really busy year. I’ve always said at the start of the school year that I’m going to say ‘no’ more frequently in as politely a way as possible. I’ve said I’d be more honest about priorities. Instead of spending time writing code for something that might be really cool as part of a lesson next week, I need to get tests graded today. I’ve had more preps this year than ever before. I have big scale planning to do relative to my IB classes and their two year sequence of lessons, labs, and assessments. In a small school like ours, it’s difficult to avoid being on multiple committees that all want to meet on the same day.

Probably the hardest part has been figuring out what my true classroom priorities are. I’d love to look at every student’s homework, but I don’t have time. I’d love to make videos of all of my direct instruction, but I don’t have time. I’d love to curate a full collection of existing resources for every learning standard in my courses, but despite designing my own system to do this, I haven’t had time.

Over the course of the year, however, I’ve found that the set of goals I have for every class can be boiled down to three big ones:

Give short SBG assessments as frequently as possible.

These need to be looked at and given back in the course of a class period, or they lose their effectiveness for students and for my own course correction when needed.

Provide more time for students to work during class. Use the remaining time to give direct instruction only as needed, and only to those that really need it.

Time I spend talking is unnecessary for the students who get concepts, and doesn’t help the students that do not. If I’m going to spend time doing this, it needs to be worth it. This also means that I may not know what we need to review until during the class, so forget having full detailed lesson plans created a week at a time. I think I’ve accepted that I’m better at correcting errors along the way than I am at creating a solid, clear presentation of material from start to finish, at least given time constraints.

It has been more efficient for me to give students a set of problems and see how they approach them than tell them what to do from the start. There are all sorts of reasons why this is also educationally better for everyone involved.

Focus planning time on creating or finding interesting mathematical tasks, not on presentation.

I’ve always thought this, but a tweet from Michael Pershan made it really clear:

What I teach comes from the learning standards that I either create or am given. Maximizing opportunities for students to do the heavy cognitive lifting also maximizes the time these ideas spend simmering in their heads. This rarely occurs as a result of a solid presentation of material. It doesn’t necessarily (or even usually) happen by watching a perfect video crafted by an expert. When you have a variety of mental situations in which to place your students and see how they react, you understand their needs and can provide support only when necessary. Anything can be turned into a puzzle. Finding the way to do that pays significant dividends over spending an extra ten minutes perfecting a video.


Going back to these three questions has helped me move forward when I am overwhelmed. How might I assess students working independently? What do I really need to show them how to do? What can I have my students think about today that will build a need for content, allow them to engage in mathematical practice, or be genuinely interesting for them to ponder?

What are your priorities?

Students Coding Tilman’s Art with HTML5

I’m a big fan of the Geometry Daily Tumblr. Tilman’s minimalist geometry images are beautiful in their simplicity. I’ve always wondered about reproducing art in code as a vehicle for learning to code, and have had it on my list to do this myself using Tilman’s work.

In my web programming class, where we are currently playing around with the HTML5 canvas and its drawing capabilities, this concept was a perfect opportunity to let students play around with the art form. They quickly observed the beauty of what can be created using these tools, and the power of doing so by studying someone that is great at it.

Here are some of the results of their sketches. Some did precise imitations, others did their own interpretations. Click on the image to see their code posted on JSFiddle.

Dominick:

Screen Shot 2015-05-15 at 2.43.27 PM

Eason

Screen Shot 2015-05-15 at 2.57.05 PM

Steve

Screen Shot 2015-05-15 at 2.54.03 PM

Tanay>

Screen Shot 2015-05-15 at 2.49.16 PM

Jung-Woo

Screen Shot 2015-05-15 at 2.59.27 PM

Steven

Screen Shot 2015-05-15 at 2.56.02 PM

Circuits & Building Mental Models

I moved up my electric circuit unit this year for the senior physics class. Usually I put it after a full unit on waves, but after completing the waves unit with the IB students, I wasn’t so pumped to go through it again from the beginning.

I began by having students try to generate the largest voltage they could from a set of batteries, motors, solar panels, lemons, and some other fun gadgets. That was a great way to spend a full 90 minute block. The next class, we played around with the PhET circuit simulator as I described in a previous post. The goal was to get them to have some intuition about circuits before we actually got down to analyzing it. Our conversation focused on batteries generally contributing energy to the circuit, and other circuit elements using that energy, leaving nothing behind at the negative terminal of the starting battery. Our working definitions for voltage, current, and resistance came out of the need for describing what was happening in the circuit.

Screen Shot 2015-05-13 at 9.38.58 AM

This started a pretty textbook version of the modeling process. I gave students some circuits, asked them to make a prediction for voltage/current, they made the predictions, and then tested them in the simulator. As needed, they made adjustments to their mental model to make it consistent across all examples.
Screen Shot 2015-05-13 at 9.36.28 AM

What interested me most about the results here was that the students put together a pretty solid mental model that centered on the voltage divider concept. This came out of their other assertion that current is the same for resistors in series.

Screen Shot 2015-05-13 at 9.42.01 AM

This led to the students tackling this problem on the second day of looking at circuits this way:
Screen Shot 2015-05-13 at 9.44.27 AM

In my AP Physics sequence, this is something I don’t get to until Kirchoff’s rules, so I was impressed with how nonchalantly they reported their answers after only a minute or so of thinking about the circuit.

On day 3, we went through an approximation of this lesson that I described in a previous post titled Starting at the end. We didn’t get to the more complex circuits, but did get to the concept of parallel circuits.

On day 4, we spent a day getting our hands dirty building actual circuits, not with the simulator. The students had a good time piecing things together and seeing bulbs light up and make measurements with actual voltmeters and ammeters.

Today, on day 5, I was finally thinking I was going to teach them about equivalent resistance…but I hesitated. I was too scared that providing a formula would risk undermining all of the intuition they had developed.

The students worked through some Physics Bowl questions from a while back. Here’s one:
Screen Shot 2015-05-13 at 9.54.29 AM

I noted down a student’s explanation of why the answer was 36 volts, and another student’s addition to explain why it had to be 42 volts:
Screen Shot 2015-05-13 at 9.55.42 AM

It then I threw this one at students:
Screen Shot 2015-05-13 at 9.57.47 AM I set the battery voltage to be 10 volts.

If my students had followed the sequence of physics lessons from the 2005 me, this would have been a piece of cake because they would have had the formula. Instead, they went through a nice sequence of stating what they knew and didn’t know and making guesses. I suggested a spreadsheet as a way to keep track of those guesses and their reasoning in one place:

Screen Shot 2015-05-13 at 10.00.41 AM

We went through the spreadsheet cell by cell and decided on formulas to put in. In the end, they figured out that the final two currents had to be the same.

I did some guessing and checking following their monitoring of the values, and eventually ended up with the 100 ohm resistor having a voltage drop of 9.923 volts.

Only at this point (which was five minutes before the end of class) did I apply an equivalent resistance formula:
Screen Shot 2015-05-13 at 10.04.34 AM

It was a great moment to end on. My presentation of the equivalent resistance formula came out of a need, and for that reason, I was glad to provide it. I’m so happy I waited.

Online School Resumes with Meteor

As you may know, I’ve been teaching a web programming course this year. I wrote previously about the work we did at the beginning of the year making interactive websites using the Meteor framework. Since then, we’ve spent time exploring the use of templates, event handlers, databases, and routing to build single page applications.

The latest assignment I gave students was to create an online school resume site with a working guestbook. I frequently discuss the importance of having a positive digital footprint online, and one of the most beneficial ways of establishing this is through a site created to share their work. Students worked last week to complete this and submitted their projects. We’ve had connectivity issues to the Meteor servers from China from school. As a result, some students used Meteorpad, which unfortunately means their sites aren’t permanent.

Those that were successful at deploying, however, have persistent guestbooks that anyone can visit and comment upon. Some students added secret pages or like buttons to show that they have learned how to use the reactive features of Meteor. The students were excited when I said I would post links on my blog and have given me permission to share. Here is the set of deployed sites:

Maria’s Site
Dominick’s Site
Tanay’s Site
Luke’s Site
Steven’s Site
Tiffany’s Site

I’m really proud of how far these students have come since the beginning of the year. They have accrued some bad habits of copying code and avoiding commenting their Javascript, but I take some responsibility for not holding them accountable for this. My goal was to have the focus of this course be on building and creating as the first priority, and the second on developing skills as programmers. As with many of the subjects I teach, helping students see the need for the basics is often most easily done with the end product in mind.

If anyone wants recommendations for a summer hire, let me know.

Code for Teachers: What do you want to learn to build?

A conversation with Dan Anderson(@dandersod) this morning has pushed me to revisit a coding for teachers concept that I’ve nudged forward before, but haven’t made happen to my liking yet. There’s an amazing variety of coding materials and tutorials out there, but few that I’ve seen take the approach of helping teachers build immediately useful tools to improve their workflow.

 To be done right, this must acknowledge the fact that this valid sentiment is out there:

@cheesemonkeysf: @dandersod @emwdx @dcox21 But are you prepared for… the “coding-impaired”?

As any person that has dabbled in programming knows, there’s always a non-trivial period of frustration and bug hunting that comes with writing code. This discomfort is a part of learning any new skill, of course. It’s also easy to say that you aren’t a code person, just as someone can say that he or she isn’t a math person. What pushes us (and our students) through this label to learn anyway?

  • Minimal hand-waving about how it ‘just works’
  • Experiences that demonstrate the power of a growth mindset
  • Concrete ideas first, abstraction later
  • Building the need for better tools
  • Maybe the most important: having the right people at your side

I want to work to make this happen. Consider this a pile of rocks marking the beginning of that trail.
How do we start? I see this as an opportunity to use computational thinking as a way to improve what we do in the classroom. This project should be built on improving workflow, with the design constraint that it needs to be accessible and as useful as possible. I also want to use a range of languages and structures – block programming, spreadsheet, Automator, everything is fair game.

I want to first crowdsource a list of tools that would be useful to learn to build. Let’s not limit ourselves to things that are easy at this point – let’s see what the community wants first. I’ve posted a document here:

What Do You Want To Learn To Build?

Go there and share your ideas. I don’t want to wait any longer to start talking about what this could be.

    IB Mathematics HL: Vectors & Planes

    There’s nothing big to report here, but I did want to share a really successful approach I put together relating vectors and planes. This is a required topic for the IB HL Mathematics curriculum. All of the textbooks I looked in did a fairly theoretical analysis of Cartesian and vector forms for planes from the start. I wanted to present a lesson that gave students a bit more intuition about the concepts involved, and then get to the mathematical vocabulary when needed.

    Vectors and Planes

    These notes were created live during class using OneNote. I don’t intend these notes to replace the textbook, but I do want them to serve as the ‘residue of logic’ that we used during the lesson so that students can go back and review them to remember the key ideas. I have a small group, so we can sit around a big table and work together. There’s lots of conversation between us and between students when I set them loose to do an exercise.

    All of the students demonstrated good understanding throughout the lesson in the problems I gave. The students that did the homework immediately after the lesson did well on a subsequent quiz. The student that didn’t, well, didn’t. No surprise there.

    1 10 11 12 13 14 32