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;

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.

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.

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.

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.

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.

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.

Scaling Reassessments, Part 2

A quick comment before hitting the hay after another busy day: the reassessment system has hit it big in my new school.

Some facts to share:

  • In the month since my reassessment sign-up system went up, 87% of my students have done at least one self-initiated reassessment, 69% doing more than one. This is much more usage than my system has had, well, ever.
  • Last Friday was an all time high number of 53 reassessments over the course of a day. I will not be doing that again, ever.
  • Students are not hoarding their credits, they are actually using them. I've committed to expiring them if they go unused, and they will all be expired by the end of the quarter, which is essentially tomorrow.

I need to come up with some new systems to manage the volume. I'll likely limit the number of slots available in the morning, at lunch, and after school to encourage them to spread these out throughout the upcoming units instead of waiting, but more needs to be done. This is what I've been hoping for, and I need to capitalize on the enthusiasm students are showing for the system. Now I need to make it so I don't pull all my hair out in the process.

Scaling up SBG for the New Year

In my new school, the mean size of my classes has doubled. The maximum size is now 22 students, a fact about which I am not complaining. I've missed the ease of getting students to interact with simple proximity as the major factor.

I have also been given the freedom to continue with the standards based grading system that I've used over the past four years. The reality of needing to adapt my systems of assessment to these larger sizes has required me to reflect upon which aspects of my system need to be scaled, and what (if anything) needs to change.

The end result of that reflection has identified these three elements that need to remain in my system:

  • Students need to be assessed frequently through quizzes relating to one to two standards maximum.
  • These quizzes need to be graded and returned within the class period to ensure a short feedback cycle.
  • There must still be a tie between work done preparing for a reassessment and signing up for one.

Including the first element requires planning ahead. If quizzes are going to take up fifteen to twenty minutes of a class block, the rest of the block needs to be appropriately planned to ensure a balance between activities that respond to student learning needs, encourage reinforcement of old concepts, and allow interaction with new material. The second element dictates that those activities need to provide me time to grade the quizzes and enter them as standards grades before returning them to students. The third happens a bit later in the cycle as students act on their individualized needs to reassess on individual standards.

The major realization this year has been a refined need for standards that can be assessed within a twenty minute block. In the past, I've believed that a quiz that hits one or two aspects of the topic is good enough, and that an end of unit assessment will allow complete assessment on the whole topic. Now I see that a standard that has needs to have one component assessed on a quiz, and another component assessed on a test, really should be broken up into multiple standards. This has also meant that single standard quizzes are the way to go. I gave one quiz this week that tested a previously assessed standard, and then also assessed two new ones. Given how frantic I was in assessing mastery levels on three standards, I won't be doing that again.

The other part of this first element is the importance of writing efficiently targeted assessment questions. I need students to arrive at a right answer by applying their knowledge, not by accident or application of an algorithm. I need mistakes to be evidence of misunderstanding, not management of computational complexity. In short, I need assessment questions that assess what they are designed to assess. That takes time, but with my simplified schedule this year, I'm finding the time to do this important work.

My last post was about my excitement over using the Numbas web site to create and generate the quizzes. A major bottleneck in grading these quizzes quickly in the past has been not necessarily having answers to the questions I give. Numbas allows me to program and display calculated answers based on the randomized values used to generate the questions.

Numbas has a feature that allows students to take the exam entirely online and enter their answers to be graded automatically. In this situation, I have students pass in their work as well. While I like the speed this offers, that advantage primarily exists in cases where students answer questions correctly. If they make mistakes, I look at the written work and figure out what went wrong, and individual values require that I recalculate along the way. This isn't a huge problem, but it brings into question the need for individualized values which are (as far as I know right now) the only option for the fully online assessment. The option I like more is the printed worksheet theme that allows generation of printable quizzes. I make four versions and pass these out, and then there are only four sets of answers to have to compare student work against.

With the answers, I can grade the quizzes and give feedback where needed on wrong answers in no more than ten or fifteen minutes total. This time is divided into short intervals throughout the class block while students are working individually. The lesson and class activities need to be designed to provide this time so I can focus on grading.

The third element is still under development, but my credit system from previous years is going to make an appearance. Construction is still underway on that one. Please pardon the dust.


P.S:

If you're an ed-tech company that wants to impress me, make it easy for me to (a) generate different versions of good assessment questions with answers, (b) distribute those questions to students, (c) capture the student thinking and writing that goes with that question so that I can adjust my instruction accordingly, and (d) make it super easy to share that thinking in different ways.

That step of capturing student work is the roughest element of the UX experience of the four. At this time, nothing beats looking at a student's paper for evidence of their thinking, and then deciding what comes next based on experience. Snapping a picture with a phone is the best I've got right now. Please don't bring up using tablets and a stylus. We aren't there yet.

Right now there are solutions that hit two or three, but I'm greedy. Let me know if you know about a tool that might be what I'm looking for.

Numbas and Randomized Assessment

At the beginning of my summer vacation, I shared the results of a project I had created to fill a need of mine to generate randomized questions. I subsequently got a link from Andrew Knauft (@aknauft) about another project called Numbas that had similar goals. The project is out of Newcastle University and the team is quite interested in getting more use and feedback on the site.

You can find out more at http://www.numbas.org.uk/. The actual question editor site is at https://numbas.mathcentre.ac.uk/.

Screen Shot 2016-08-22 at 8.23.01 PM

I've used the site for a couple of weeks now for generating assessments for my students. I feel pretty comfortable saying that you should be using it too, and in place of my own QuestionBuilder solution. I've taken the site down and am putting time into developing my own questions on Numbas. Why am I so excited about it?

  • It has all of the randomization capabilities of my site, along with robust variable browsing and grouping, conditions for variable constraints, and error management in the interface that I put on the back burner for another day. Numbas has these features right now
  • LaTEX formatting is built in along with some great simplification functions for cleaning up polynomial expressions.
  • Paper and online versions (including SCORM modules that work with learning management sites like Moodle) are generated right out of the box.
  • It's easy to create, share, and copy questions that others have created and adapt them to your own uses.
  • Visualization libraries, including Geogebra and Viz.js, are built in and ready to go.
  • The code is open sourced and available to install locally if you want to do so.

I have never planned to be a one-person software company. I will gladly take the output of a team of creative folks that know what they are doing with code over my own pride, particularly when I am energized and focused on what my classroom activities will look like tomorrow. The site makes it easy to generate assessments that I can use with my students with a minimal amount of friction in the process.

I'll get more into the details of how I've been using Numbas shortly. Check out what they've put together - I'm sure you'll find a way to include it in part of your workflow this year.

1 4 5 6 7 8 31