Scaling Reassessments, Yet Again (Part 3)

I've been quietly complaining recently to myself about how the reassessment sign-up and quiz distribution tool I created (for myself) isn't meeting my needs. Desmos, Peardeck, and the other online tools I use have a pretty impressive responsiveness when it comes to requests for features or queries about bugs, and that's at least partly because they have teams of expert programmers ready to go at any given moment. When you are an ed-tech company of one, there's nobody else to blame.

This is the last week when reassessment is permitted, so the size of the groups I've had for reassessments has been pretty large. Knowing this, I worked hard this past Sunday to update the site's inner workings to be organized for efficiency.

Now I know what my day looks like in terms of which reassessments students have signed up for, what their current grade is, and when they plan to see me during the day:

screen-shot-2016-12-06-at-12-53-11-pm

With one or two reassessments at a time, I got along just fine with a small HTML select box with names that were roughly sorted. Clicking those one at a time and then assigning a given question does not scale well at all. I can now see all of the students that have signed up for a reassessment, and then easily assign a given question to groups of them at a time:

screen-shot-2016-12-06-at-1-54-28-pm

The past two days have broken the reassessment records that I wrote about at the end of the first quarter - today, for example, there are over sixty five students taking quizzes. In the scrambling of getting everyone their quizzes in the past, I've made concessions by giving simpler questions that may not honestly assess students at either end of my 5 - 10 learning standard scale.

With the user experience more smooth now, I have been able to focus this week on making sure that the questions I assign truly assess what students know. I could not do this without the computer helping me out. It feels great to know things are working at this higher scale, and I'm looking forward to having this in place when we get going again in January.

Leave a Comment

Filed under standards based grading

Acting Upon One's Beliefs

Suppose you know in your heart that what you believe is right, and others disagree.

If you are in control, do you charge on ahead and act upon your beliefs?

Do you frame this as merely a communication problem, or is it something bigger?

What is your responsibility to...

  • ...those who agree with you?
  • ...those who disagree with you?
  • ...those who are impacted most by what happens next?

How do your answers to these questions change if you are not the one in control?

How do your answers to these questions change if you are in the minority?

These questions have bounced around in my head since last week, and not just in relation to the U.S. election. It bothers me a lot that I can't answer my own questions with any certainty right now.

Leave a Comment

Filed under teaching philosophy

Computational Thinking and Spreadsheets, Teacher Edition (#TeachersCoding)

I ran a workshop last week giving some teachers ideas on how to use computational thinking to improve their workflow. I've written in the past about how spreadsheets can serve as a way to get students thinking like programmers, without the intimidation of a text-based development environment. I don't find teachers any different in this regard.

I spent the beginning of this workshop sharing a bit about my views on why teachers should develop their computational thinking skills. I then set them off to work through answering the following questions about each task in the video below:

  • What is the spreadsheet being programmed to do?
  • What commands are being used?
  • How would I use this in my own practice?

I'm reasonably sure that a majority of teachers have a spreadsheet somewhere that contains student data like the one in the video. My hope is that teachers that watch the video and see what I've done with this spreadsheet will have one of a few possible responses:

  • Wow, I do that by hand right now. Now I know there's an easier way that will save me time.
  • That isn't useful to me, but it does give me an idea of how to do some other task that involves iteration, sorting, or another task best suited for a computer.
  • I do that already. Is that computational thinking?

If I elicit any of these responses, and then get someone to then build a tool that is useful to him or her, I think I've done my job. Learning to code for its own sake isn't necessarily worth a teacher's valuable time. Outsourcing tasks that computers do best to a computer can free a teacher to have more time for those tasks that require the expertise, experience, and a personal touch that only a person can provide. If learning a bit of computational thinking can do that, doing so might be worth the time.

Please comment on the video or below to let me know what you think.

1 Comment

Filed under Uncategorized

Getting Grade Data from PowerSchool Pro (#TeachersCoding)

Given that I use standards based grading with most of my classes, the grades I assign to students change quickly. I'm modifying those scores multiple times a day in some cases in my school's instance of PowerSchool Pro.

What the system currently lacks is an easy way to get that data out. For whatever reason, the only export format is PDF. This makes it difficult to get things into a spreadsheet.

After some hacking around in the console, I was able to put together a script that scrapes a class scoresheet page for the student names and assignment names and stores the result in a variable called exportData. This code is included below, and is also here in a gist. Paste the entire code into the console and run it. Then type in exportData and the scraped data will appear.

screen-shot-2016-11-09-at-8-26-58-am

You can then copy and paste the resulting string (leaving out the quotes) into Excel, OpenOffice, or Google Sheets and the data will appear there, ready to be spreadsheet-ified.

The only place where this doesn't work perfectly is when there are more students than will fit on the page. As far as I could tell after poking around, the grade data is re-rendered to fit the page as scrolling occurs. I didn't work that hard to see if the data is stored somewhere else on the page, so someone with a bit more insight might be able to improve upon my work.

Here is the full code:

var nameElements = $('.student-name').toArray();
var assignmentElements = $('var').toArray();
var names = [];
var assignments = [];
var assignmentNumber;

assignmentElements.forEach(function(name,index){

assignments.push(name.innerHTML)

})

names = names.slice(0,0.5*(names.length))

var rows = $( "tr[id*='std']" ).toArray()
rows.forEach(function(row){
var currentName = $(row).find('.student-name')[0].innerHTML;
var gradeElements = $(row).find('var');
gradeElements = gradeElements.slice(1,gradeElements.length).toArray();
grades = [];

gradeElements.forEach(function(grade){
var currGrade = (parseFloat(grade.innerHTML)!=NaN)?parseFloat(grade.innerHTML):'';

grades.push(currGrade)
})
if(grades.length>0){
names.push([currentName,grades])

}

})

assignmentNumber = names[0][1].length;

assignmentString = 'Name \t';

for(var i = 0;i<2*assignmentNumber-1;i+=2){ assignmentString += assignments[i] + '\t ' } var gradeString = ''; names.forEach(function(name){ var currentString = ''; currentString += name[0]+ "\t " name[1].forEach(function(grade){ currentString += grade + "\t " }) gradeString += currentString + "\n " }) var exportData = assignmentString+"\n"+gradeString;

Leave a Comment

Filed under computational-thinking, standards based grading

Collaborative Review with Google Docs

This is another post celebrating my presence in a part of the world that has unfettered access to Google and its online tools. I hope this continues.

For two out of my previous three units, I've started the final day of class before an exam with a document in Google Docs that is organised into two parts.

At the top is a list the standards and their descriptions for the unit. I might include an empty table for vocabulary, but no words.

At the bottom is a list of problems or online resources.

Before students get started with answering questions and getting help, I get the entire class working on sorting these questions into the related standards in this document. A flurry of cutting and pasting ensues:

screen-shot-2016-11-07-at-1-30-51-pm

The number of edits and simultaneous users is a pretty cool indication that this document, in less than a couple of minutes, ceases to be mine, and begins to be ours. Some students then upload solutions to problems as they complete them, or can pose questions below a problem that another student might answer.

It isn't a perfect system at all, but feels a lot better than printing out a set of problems that show what I value in assessing the standards. That represents a line segment that starts at my computer and ends at the student's notebook. This system at least approaches a more complex interaction of ideas and synthesis at the end of a unit of study that helps both the strong and the weak students make progress before an exam.

3 Comments

Filed under teaching stories

Generating Function Library Quizzes (#TeachersCoding)

I've required my IB classes in the past two years to be able to draw some standard functions from memory as part of our function families unit. Creating quizzes for this has been a hassle since I've manually had to build these using Word or LibreOffice. I greatly dislike formatting things using either software package.

I decided this week that creating these quizzes using HTML seemed like a perfect application of my developing React skills. Here's the result:

screen-shot-2016-11-04-at-6-54-23-pm

The order of the functions randomly generates on each page load, which makes it easy to generate new versions. I've been able to export these as PDF files and then send them right to the printer.

You can access the code here on CodePen:

See the Pen FunctionLibraryQuiz by Evan Weinberg (@emwdx) on CodePen.0

Feel free to use this or modify to fit your needs.

Leave a Comment

Filed under computational-thinking

Two Lane Road and Collaborative Data Collection

I love doing three act problems. This fact should surprise nobody that regularly reads my blog.

In tasks that involve prediction or measurement from a range of sources, I see lots of tables of values made by students that stay in the notebook. I have always wanted to get that data in the hands of the rest of the students to use, or not use, as they see fit. In one of my previous iterations, I pasted the data into a shared Google spreadsheet that students could then paste into a Desmos graph, again, if they felt doing so would be helpful. This was incredibly rich source of material for conversations between students. Still, that extra step of having to paste from one collaborative document (Google) to a non-collaborative one (Desmos Calculator) was one more step than I felt was needed.

Of course, you're now screaming at the screen. "Calling out Desmos for being non-collaborative is entirely off base, Evan" , you say. I agree to an extent. Their own activities share data collected by individual students, and on the teacher side, the Activity Builder does the same thing for letting teachers see student data all in one place. They do this incredibly well. Students also get to see each others answers when teachers let them. What doesn't happen right now is students seeing each other's graphs, tables, and lists of expressions.

This, along with a desire to play with the Desmos API, is why I created DataTogether (Github repository here), a hacky way to make Desmos data collaborative. The page is written in React, and uses Firebase to do the realtime data connection.

Dan Meyer tweeted shortly after that these changes might be somewhere in the pipeline already:

This is probably why I may not be adding a lot of code comments to my code in the near future.

I did my Two Lane Road 3-act with a small group of students this morning on account of tenth graders being out for the PSAT. After the standard Act 1 conversation, and a really great conversation about agreements between groups on collecting data from the video, the students began collecting data on the red and blue cars.

The students were efficiently able to collect data together on separate computers after profuse apologies for the limitations of my code:

screen-shot-2016-11-02-at-9-45-38-am

screen-shot-2016-11-02-at-9-44-37-am

I then had each student use the tools within Desmos to construct a linear model from the data. The fact that two computers were looking at the same data, but in different Desmos windows, paid significant dividends when two students on the same team created their models in different ways. One student made a regression. Another created a line that went through one set of points perfectly, but missed another. Math class conversation gold right there.

I exported both of their data through the console (code shown below) and pasted it into Desmos. I then put together a simulation of the red and blue car so that the teams could see what their car looked like in simulation.

screen-shot-2016-11-02-at-9-56-22-am

You can check out the Desmos graph here.

This allowed us to make a prediction directly off of their models that looked like the original video.

We ran out of time in the end to do much more than sharing predictions and watching the third act, but I'm pretty pleased with how things went overall. My paper handouts with three printed color frames of the video went unused. I think


A big shout-out of thanks to everyone for helping test the data collection tool I shared earlier.

Here's a screenshot of our age vs. teaching years data:
screen-shot-2016-11-02-at-10-00-41-am

The data can be downloaded from the DataTogether page, loading data set 3DR9, and then by going to the console and entering the code below:

ptString = "";
myComponent.state.groupData.forEach(function(pt){ptString=ptString+pt.x+" \t "+pt.y+" \n "});

This string can then be pasted right into the Desmos expression list if you want to play with it.

Leave a Comment

Filed under algebra 2, computational-thinking

Let's Collect Some Data Together!

I've hacked together a data collection tool with the Desmos API for an activity tomorrow - I'd love if you could help me test it out.

Please visit https://emwdx.github.io/groupData/index.html and enter 3DR9 as the name of the data set. Then enter an ordered pair in the form (age, # of years teaching).

screen-shot-2016-11-01-at-8-48-03-pm

If everything works correctly, we'll be able to put together a data set across the world and see it graphed in real time.

I'll talk more about this soon - thanks in advance for helping out, folks.

1 Comment

Filed under Uncategorized

Class Notes and Workflow (On The Other Side of the Wall)

I've struggled in the past with the role of class notes. I wrote more than a year ago about my solution using Microsoft OneNote. Since moving out of China, I've realized just how far behind I am in just awareness of what Google Docs are capable of doing. My new school uses them extensively for all sorts of organizational and administrative purposes, not to mention applications in the classroom. I decided to upgrade my class notebook system this year to make better use of these tools. Now that we're approaching three months in, I'm feeling pretty happy about my system thus far.

I now make all my handouts on Google Docs. The bandwidth and lack of a Great Firewall make it a reliable way to have access to files both at school and at home, which means that I'm not dragging my computer back and forth anymore. There's something to be said for carrying a minimalist backpack, especially given the temperatures here. I relied on iCloud Drive last year which worked well enough, but the fact that I'm not worrying about files syncing between home and school is a clear change for the better. These files are titled U3D02 - CW - Title of Day's Lesson to signify 'Unit 3, Day 2' for ease of identifying files and their order. These are starting points for class activities, resources to use during class such as Desmos activities, videos, or other parts of what might be useful to students learning a given topic.

screen-shot-2016-10-31-at-8-16-35-pm

Each handout is shared with the class through Hapara teacher dashboard and Google Drive, and I give students read access on each file. Two students are randomly picked to be responsible for class notes. These two students make a copy of this handout during class, name it with the same title and unit/day designation, and then change CW (class work) to NB (notebook) file to indicate the purpose of this file.

I take notes during class using Notability and my Wacom tablet. It's easy to copy and paste images from the digital handout into the notes, and then annotate them as needed. I take photos of student work with my phone and use Airdrop to get them to my classroom laptop. At the end of the class, I paste images of the notes I take during class into the relevant part of the notes. The two students are responsible for solving problems from the class handout and from homework, taking pictures, and putting them into the notes file on Google Docs. Links to these files are then shared on the course website with the rest of the class.

My class handouts are still printed on A5 paper as an analog backup, and quizzes are usually still on paper as well. I still insist on students doing problems by hand since that's ultimately how they will be assessed. The computer is there for access to Desmos, Geogebra, and the digital handout.

The most satisfying part of all of this is that students are being remarkably proactive about asking for materials to be shared, letting me know when they think something should be added to a handout, or adding it themselves when they have editing access to the file. There is also a flow of suggestions and comments to the students that are responsible for each day's lesson.

It's pretty amazing what is possible when a major world power isn't disrupting the technology you want to use in the classroom (or for whatever) on a regular basis.

Leave a Comment

Filed under studentwork, teaching philosophy

The How and Why of Standards Based Grading @ Learning2.0

For those of you that are readers of my blog, you already know that I've become a believer in the power of standards based grading, or SBG. It's amazing looking back at my first post on my decision to commit to it four years ago. Seeing how this system has changed the way I plan my lessons, think about class activities, and interact with students about learning makes me wonder where I would be at this point without it.

I'm now trying to help others see how they might make standards based grading have a similar change to their classrooms. I'm running a one hour workshop this Friday at 1:30 in room C315 to introduce Learning2 attendees to how a teacher might go about this. More important for those considering a change to such a system is the fact that I run my system in a non-standards based PowerSchool environment. Here's the workshop description:

Suppose a student has earned a 75 in your class. How do you describe that student's progress? What has that student learned in your class? Obviously a student with an 85 has done better than the student with a 75, but what exactly has the 85 student achieved that the other student has not? Is it ten percent more understanding? Two more homework assignments during the quarter? Perhaps most importantly, what can the 75 student do to become an 85 student?

Grades are part of our school culture and likely aren't going anywhere soon. We can work to tweak how we generate and communicate the meaning of those grades in a way that better represents what students have actually learned. One approach for doing this is called Standards Based Grading, or SBG.

In this one hour workshop, you will learn about SBG and how it can clarify the meaning of grades, as well as how it can be implemented effectively within a traditional reporting system. You will also learn how a SBG mindset encourages productive changes to the process of planning units, activities, and assessments. We will also discuss the ways such a system can be run in the context of various subject areas.

It's a lot to cover in an hour, but I'm hoping I can nudge a few folks to try this out moving forward.

The link to my workshop is here.

I'm really excited about the Learning 2.0 conference this year. I first attended back in 2011 in Shanghai and the experience was what prompted me to become active on Twitter and begin blogging back then. I know the next few days will be filled with inspiring conversations and ideas that challenge my thinking and push me to grow as a teacher.

Stay tuned to the blog and to Twitter to see what I'm up to over the weekend.

Leave a Comment

Filed under standards based grading