<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>computational-thinking</title>
	<atom:link href="/blog_archive/category/computational-thinking-2/feed/" rel="self" type="application/rss+xml" />
	<link>/blog_archive/</link>
	<description>iteration, making, building, and coding in education</description>
	<lastBuildDate>Wed, 03 May 2017 15:14:56 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.7.6</generator>
<site xmlns="com-wordpress:feed-additions:1">180381780</site>	<item>
		<title>Probability, Spreadsheets, and the Citizen Database</title>
		<link>/blog_archive/2017/05/03/probability-spreadsheets-and-the-citizen-database/</link>
					<comments>/blog_archive/2017/05/03/probability-spreadsheets-and-the-citizen-database/#respond</comments>
		
		<dc:creator><![CDATA[user]]></dc:creator>
		<pubDate>Wed, 03 May 2017 15:14:56 +0000</pubDate>
				<category><![CDATA[computational-thinking]]></category>
		<category><![CDATA[precalculus]]></category>
		<guid isPermaLink="false">http://evanweinberg.com/?p=2708</guid>

					<description><![CDATA[I&#8217;ve grown tired of the standard probability questions involving numbers of red, blue, and green marbles. Decks of cards are culturally biased and require a lot of background information to get in the game, as I wrote about a while ago. It seems that if there&#8217;s any place where computational]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve grown tired of the standard probability questions involving numbers of red, blue, and green marbles. Decks of cards are culturally biased and require a lot of background information to get in the game, <a href="http://evanweinberg.com/2012/06/15/the-perils-of-playing-cards-and-probability-what-do-you-assume-your-students-know/">as I wrote about a while ago</a>. It seems that if there&#8217;s any place where computational thinking should come into play, it&#8217;s with probability and statistics. There are lots of open data sets out there, but few of them are (1) easy to parse for what a student might be looking for and (2) are in a form that allows students to easily make queries.</p>
<p>If you know of some that you&#8217;ve used successfully with classes, by all means let me know.</p>
<p>A couple of years ago, I built a web programming exercise to use to teach students about database queries. Spreadsheets are a lot more accessible though, so I re-wrote it to generate a giant spreadsheet of data for my Precalculus students to dig into as part of a unit on counting principle, probability, and statistics. I call it the Citizen Database, and you can access it <a href="https://docs.google.com/spreadsheets/d/1DnQfXxTqbO5y3qF7E8yRq2_E1PWQ_rEfA1qtDTDgoPk/edit?usp=sharing">here</a>.</p>
<p>I wanted a set of data that could prompt all sorts of questions that could <u>only</u> be answered easily with a spreadsheet counting command. The citizens in the database can be described as follows:</p>
<ul>
<li style="font-weight: 400;"><span style="font-weight: 400;">Each citizen belongs to one of twelve districts, numbered 1 &#8211; 12.</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Citizens are male or female.</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Citizens have their ages recorded in the database. Citizens 18 and below are considered </span><b>minors</b><span style="font-weight: 400;">. Citizens older than 18 and younger than 70 are </span><b>adults. </b><span style="font-weight: 400;">All citizens aged 70 and above are called </span><b>seniors</b><span style="font-weight: 400;">.</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Citizens each prefer one of the two sports teams: the Crusaders or the Orbiters.</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">If a citizen is above the age of 18, they can vote for Mayor. There are two families that always run for mayor: the Crenshaw family and the Trymenaark family.</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Each citizen lives in either a home, apartment, villa, or mansion.</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">A citizen above the age of 18 also uses some type of vehicle for transportation. They may rent a car, own a car, have a limousine, or take a helicopter.</span></li>
</ul>
<p>I wrote another document showing how to do queries on a spreadsheet of data using some commands <a href="https://docs.google.com/document/d/18wV5KsiZ5-jYqGlF6Mbr1oDwaE6UO08qSj3FNgbfh64/edit?usp=sharing">here</a>. My students asked for some more help on creating queries using the COUNTIFS command on Google Sheets, so I also created the video below.</p>
<p><iframe loading="lazy" src="https://www.youtube.com/embed/12j5c2hC4vc" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>The fun thing has been seeing students acknowledge the fact that answering these questions would be a really poor use of the human brain, particularly given how quickly the computer comes up with an answer. One student went so far as to call this side-trip into spreadsheet usage &#8220;really actually useful&#8221;, a comment which I decided only to appreciate.</p>
<p>Programming in Javascript, Python, Swift, whatever is great, but it takes a while to get to the point where you can do something that is actually impressive. Spreadsheets are an easy way in to computational thinking, and they are already installed on most student (and teacher) computers. We should be using them more frequently than we probably are in our practice.</p>
<p>If you are interested in how I generated the database, you can check out the code here at CodePen:</p>
<p class="codepen" data-height="265" data-theme-id="0" data-slug-hash="wdaXxV" data-default-tab="result" data-user="emwdx" data-embed-version="2" data-pen-title="CitizenDatabaseCreator">See the Pen <a href="http://codepen.io/emwdx/pen/wdaXxV/">CitizenDatabaseCreator</a> by Evan Weinberg (<a href="http://codepen.io/emwdx">@emwdx</a>) on <a href="http://codepen.io/">CodePen</a>.</p>
<p><script async src="https://production-assets.codepen.io/assets/embed/ei.js"></script></p>
]]></content:encoded>
					
					<wfw:commentRss>/blog_archive/2017/05/03/probability-spreadsheets-and-the-citizen-database/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2708</post-id>	</item>
		<item>
		<title>Making Groups &#8211; A Genetic Algorithm Experiment</title>
		<link>/blog_archive/2017/04/21/making-groups-a-genetic-algorithm-experiment/</link>
					<comments>/blog_archive/2017/04/21/making-groups-a-genetic-algorithm-experiment/#comments</comments>
		
		<dc:creator><![CDATA[user]]></dc:creator>
		<pubDate>Fri, 21 Apr 2017 14:08:51 +0000</pubDate>
				<category><![CDATA[computational-thinking]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[genetic algorithm]]></category>
		<category><![CDATA[groups]]></category>
		<category><![CDATA[making groups]]></category>
		<guid isPermaLink="false">http://evanweinberg.com/?p=2703</guid>

					<description><![CDATA[I&#8217;ve wanted to experiment with genetic algorithms for a long time, but never quite found the time to make it happen. I guess part of it was that I never believed the algorithm would work and find what I wanted.  I decided recently to pick this project back up after a]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve wanted to experiment with genetic algorithms for a long time, but never quite found the time to make it happen. I guess part of it was that I never believed the algorithm would work and find what I wanted.  I decided recently to pick this project back up after a long time (with some prodding from good people) and actually make it work. I think the major push came when I realized that I wanted the ability to make mixed groups, or homogeneous groups, and balance gender, and prevent certain students from being together. Was I over-constraining? Was the possibility that I was over-constraining keeping me from even trying to do this in the first place?</p>
<p>Thus, I decided to actually make this happen. I also decided I wanted to make it look much nicer than the Python version I&#8217;ve been using now for over four years.</p>
<p><a href="http://ec2-13-229-58-164.ap-southeast-1.compute.amazonaws.com/wp-content/uploads/2017/04/Screen-Shot-2017-04-21-at-8.48.23-PM.png"><img loading="lazy" src="http://blog.evanweinberg.org/wp-content/uploads/2017/04/Screen-Shot-2017-04-21-at-8.48.23-PM-1024x827.png" alt="" width="604" height="488" class="alignnone size-large wp-image-2704" srcset="/blog_archive/wp-content/uploads/2017/04/Screen-Shot-2017-04-21-at-8.48.23-PM-1024x827.png 1024w, /blog_archive/wp-content/uploads/2017/04/Screen-Shot-2017-04-21-at-8.48.23-PM-300x242.png 300w, /blog_archive/wp-content/uploads/2017/04/Screen-Shot-2017-04-21-at-8.48.23-PM-768x620.png 768w, /blog_archive/wp-content/uploads/2017/04/Screen-Shot-2017-04-21-at-8.48.23-PM-1536x1240.png 1536w, /blog_archive/wp-content/uploads/2017/04/Screen-Shot-2017-04-21-at-8.48.23-PM-1200x969.png 1200w, /blog_archive/wp-content/uploads/2017/04/Screen-Shot-2017-04-21-at-8.48.23-PM.png 1672w" sizes="(max-width: 604px) 100vw, 604px" /></a></p>
<p><a href="http://codepen.io/emwdx/pen/rmebEQ">You can see the code directly here at CodePen, or play with it below.</a></p>
<p>[codepen_embed height=&#8221;265&#8243; theme_id=&#8221;0&#8243; slug_hash=&#8221;rmebEQ&#8221; default_tab=&#8221;js,result&#8221; user=&#8221;emwdx&#8221;]See the Pen <a href='http://codepen.io/emwdx/pen/rmebEQ/'>GroupMaker</a> by Evan Weinberg (<a href='http://codepen.io/emwdx'>@emwdx</a>) on <a href='http://codepen.io/'>CodePen</a>.[/codepen_embed]</p>
<p>The basic algorithm is this:</p>
<ul>
<li>Fill in a list of students with names, genders, skill levels, and an optional list of names with whom a given student should <u>not</u> be grouped. <b>Line 2</b></li>
<li>Generate a bunch of random groups of students with these properties. For each group, calculate a series of metrics that the fitness of a given group. <b>Lines 45-156</b></li>
<li>Calculate the score of a grouping, which consists of a full set of groups that contain all of the students of the class. <b>Line 200</b> </li>
<li>Generate a bunch of groupings, sort them according to score.  Take the top 10 groups, and make swaps of students between groups to make a long list of groups. (<b>This is lines 214-224.</b>) This is the mutation step of the genetic algorithm. Sort them again according to score.</li>
<li>Repeat for a few generations, then take the top group.</li>
</ul>
<p>It&#8217;s pretty fascinating to watch it work. I made the scoring step uniform for gender by tweaking the coefficients in Line 200. You could also make this score value gender balance, a range of abilities, or anything else.</p>
<p>This is screaming for a nicer UI, which I have in the works. For now, it&#8217;s out there in its fairly un-commented state. If you want to hack this to use with your own students, you&#8217;ll want to tweak the student list in Line 2, the numbers of groups of each size (groups of 1, groups of 2, groups of 3, and so on) in Line 242, and possibly the values I use in the score generation line in line 200.</p>
]]></content:encoded>
					
					<wfw:commentRss>/blog_archive/2017/04/21/making-groups-a-genetic-algorithm-experiment/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2703</post-id>	</item>
		<item>
		<title>Generating the Mandelbrot Set with PearDeck</title>
		<link>/blog_archive/2017/03/31/generating-the-mandelbrot-set-with-peardeck/</link>
					<comments>/blog_archive/2017/03/31/generating-the-mandelbrot-set-with-peardeck/#respond</comments>
		
		<dc:creator><![CDATA[user]]></dc:creator>
		<pubDate>Fri, 31 Mar 2017 02:48:36 +0000</pubDate>
				<category><![CDATA[computational-thinking]]></category>
		<category><![CDATA[fractal]]></category>
		<category><![CDATA[precalculus]]></category>
		<guid isPermaLink="false">http://evanweinberg.com/?p=2683</guid>

					<description><![CDATA[One of the benefits of being a digital packrat having a digital file cabinet is that every old file can be a starting point for something new. In PreCalculus, I decided to do a short conic sections unit to fill the awkward two weeks between the end of the third]]></description>
										<content:encoded><![CDATA[<p>One of the benefits of <del datetime="2017-03-31T02:30:52+00:00">being a digital packrat</del> having a digital file cabinet is that every old file can be a starting point for something new.</p>
<p>In PreCalculus, I decided to do a short conic sections unit to fill the awkward two weeks between the end of the third quarter and the start of spring break. We&#8217;ve centered all of our conversations around the idea of a locus of points. I realized yesterday afternoon that <a href="http://evanweinberg.com/2012/04/27/computational-thinking-why-do-we-need-to-do-this/">the Algebra 2 activity I described here</a> would be a great way to have some inquiry and experimentation on the day before break.</p>
<p>The online collaborative tools have improved considerably since 2012 when I first did this. I put much of the lesson into Google Docs and <a href="http://www.peardeck.com/">PearDeck </a>which made sharing answers for the final reveal much easier. Here&#8217;s what the students had for values that either &#8220;escaped&#8221; or were &#8220;trapped&#8221; in the Complex Plane:</p>
<p><a href="http://blog.evanweinberg.org/wp-content/uploads/2017/03/Screen-Shot-2017-03-31-at-9.42.13-AM.png"><img loading="lazy" class="alignnone size-large wp-image-2684" src="http://blog.evanweinberg.org/wp-content/uploads/2017/03/Screen-Shot-2017-03-31-at-9.42.13-AM-1024x582.png" alt="" width="604" height="343" srcset="/blog_archive/wp-content/uploads/2017/03/Screen-Shot-2017-03-31-at-9.42.13-AM-1024x582.png 1024w, /blog_archive/wp-content/uploads/2017/03/Screen-Shot-2017-03-31-at-9.42.13-AM-300x170.png 300w, /blog_archive/wp-content/uploads/2017/03/Screen-Shot-2017-03-31-at-9.42.13-AM-768x436.png 768w, /blog_archive/wp-content/uploads/2017/03/Screen-Shot-2017-03-31-at-9.42.13-AM-1200x682.png 1200w, /blog_archive/wp-content/uploads/2017/03/Screen-Shot-2017-03-31-at-9.42.13-AM.png 1526w" sizes="(max-width: 604px) 100vw, 604px" /></a></p>
<p>I compared this to the<a href="https://www.openprocessing.org/sketch/60004"> pixelated Mandelbrot set</a> I hacked together in Processing from Daniel Shiffman&#8217;s code five years ago. Still works!</p>
<p><a href="http://ec2-13-229-58-164.ap-southeast-1.compute.amazonaws.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-31-at-9.45.48-AM.png"><img loading="lazy" class="alignnone size-full wp-image-2685" src="http://ec2-13-229-58-164.ap-southeast-1.compute.amazonaws.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-31-at-9.45.48-AM.png" alt="" width="291" height="236" /></a></p>
<p><a href="https://docs.google.com/document/d/1pGvWLOWOb70JNaLoJ2CBrdM9eot8AjgvMF8-fIVcvSU/edit?usp=sharing">You can access the entire digital lesson with links as a Google Doc here.</a></p>
]]></content:encoded>
					
					<wfw:commentRss>/blog_archive/2017/03/31/generating-the-mandelbrot-set-with-peardeck/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2683</post-id>	</item>
		<item>
		<title>My Reassessment Queue</title>
		<link>/blog_archive/2017/03/16/my-reassessment-queue/</link>
					<comments>/blog_archive/2017/03/16/my-reassessment-queue/#comments</comments>
		
		<dc:creator><![CDATA[user]]></dc:creator>
		<pubDate>Thu, 16 Mar 2017 15:06:42 +0000</pubDate>
				<category><![CDATA[computational-thinking]]></category>
		<category><![CDATA[standards based grading]]></category>
		<guid isPermaLink="false">http://evanweinberg.com/?p=2678</guid>

					<description><![CDATA[We&#8217;re almost at the end of the third quarter over here. Here&#8217;s the current plot of number of reassessments over time for this semester: I&#8217;m energized though that the students have bought into the system, and that my improved workflow from last semester is making the process manageable. My pile]]></description>
										<content:encoded><![CDATA[<p>We&#8217;re almost at the end of the third quarter over here. Here&#8217;s the current plot of number of reassessments over time for this semester:</p>
<p><img src = "https://s3.amazonaws.com/grapher/exports/deeqlyfkp0.png" height = "600px"></p>
<p>I&#8217;m energized though that the students have bought into the system, and that <a href="http://evanweinberg.com/2016/12/06/scaling-reassessments-yet-again-part-3/">my improved workflow from last semester</a> is making the process manageable. My pile of reassessment papers grows faster than I&#8217;d like, but I&#8217;ve also improved the physical process of managing the paperwork. </p>
<p><a href="http://ec2-13-229-58-164.ap-southeast-1.compute.amazonaws.com/wp-content/uploads/2017/03/FullSizeRender-3.jpg"><img loading="lazy" src="http://blog.evanweinberg.org/wp-content/uploads/2017/03/FullSizeRender-3-1024x1024.jpg" alt="" width="604" height="604" class="alignnone size-large wp-image-2679" srcset="/blog_archive/wp-content/uploads/2017/03/FullSizeRender-3-1024x1024.jpg 1024w, /blog_archive/wp-content/uploads/2017/03/FullSizeRender-3-300x300.jpg 300w, /blog_archive/wp-content/uploads/2017/03/FullSizeRender-3-150x150.jpg 150w, /blog_archive/wp-content/uploads/2017/03/FullSizeRender-3-768x768.jpg 768w, /blog_archive/wp-content/uploads/2017/03/FullSizeRender-3-1536x1536.jpg 1536w, /blog_archive/wp-content/uploads/2017/03/FullSizeRender-3-2048x2048.jpg 2048w, /blog_archive/wp-content/uploads/2017/03/FullSizeRender-3-1200x1200.jpg 1200w, /blog_archive/wp-content/uploads/2017/03/FullSizeRender-3-1980x1979.jpg 1980w" sizes="(max-width: 604px) 100vw, 604px" /></a></p>
<p>While I&#8217;m battling performance issues on the site now that there&#8217;s a lot of data moving around on there, the thing I&#8217;m more interested is improving participating. Who are the students that aren&#8217;t reassessing? How do I get them involved? Why aren&#8217;t they doing so?</p>
<p>There are lots of issues at play here. I&#8217;m loving how I&#8217;ve been experimenting a lot lately with new ways of assessing, structuring classes, rethinking the grade book, and just plain trying new activities out on students. I&#8217;ll do a better job of sharing out in the weeks to come.</p>
]]></content:encoded>
					
					<wfw:commentRss>/blog_archive/2017/03/16/my-reassessment-queue/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2678</post-id>	</item>
		<item>
		<title>SBG and Leveling Up, Part 3: The Machine Thinks!</title>
		<link>/blog_archive/2017/02/21/sbg-and-leveling-up-part-3-the-machine-thinks/</link>
					<comments>/blog_archive/2017/02/21/sbg-and-leveling-up-part-3-the-machine-thinks/#respond</comments>
		
		<dc:creator><![CDATA[user]]></dc:creator>
		<pubDate>Tue, 21 Feb 2017 14:13:50 +0000</pubDate>
				<category><![CDATA[computational-thinking]]></category>
		<category><![CDATA[standards based grading]]></category>
		<category><![CDATA[machine learning]]></category>
		<guid isPermaLink="false">http://evanweinberg.com/?p=2671</guid>

					<description><![CDATA[Read the first two posts in this series here: SBG and Leveling Up, Part 1 SBG and Leveling Up, Part 2: Machine Learning &#8230;or you can read this quick review of where I&#8217;ve been going with this: When a student asks to be reassessed on a learning standard, the most]]></description>
										<content:encoded><![CDATA[<p>Read the first two posts in this series here:</p>
<p><a href="http://evanweinberg.com/2017/01/23/standards-based-grading-and-leveling-up/">SBG and Leveling Up, Part 1</a><br />
<a href="http://evanweinberg.com/2017/02/03/sbg-and-leveling-up-part-2-machine-learning/">SBG and Leveling Up, Part 2: Machine Learning</a></p>
<p>&#8230;or you can read this quick review of where I&#8217;ve been going with this:</p>
<ul>
<li>When a student asks to be reassessed on a learning standard, the most important inputs that contribute to the student&#8217;s new achievement level are the student&#8217;s previously assessed level, the difficulty of a given reassessment question, and the nature of any errors made during the reassessment.</li>
<li>Machine learning offers a convenient way to find patterns that I might not otherwise notice in these grading patterns.</li>
</ul>
<p>Rather than design a flow chart that arbitrarily figures out the new grade given these inputs, my idea was to simply take different combinations of these inputs, and use my experience to determine what new grade I would assign. Any patterns that exist there (if there are any) would be determined by the machine learning algorithm. </p>
<p>I trained the neural network methodically. These were the general parameters:</p>
<ul>
<li>I only did ten or twenty grades at any given time to avoid the effects of fatigue. </li>
<li>I graded in the morning, in the afternoon, before lunch, and after lunch, and also some at night.</li>
<li>I spread this out over a few days to minimize the effects of any one particular day on the training. </li>
<li>When I noticed there weren&#8217;t many grades at the upper end of the scale, I changed the program to generate instances of just those grades.</li>
<li>The permutation-fanatics among you might be interested in the fact that there are 5*3*2*2*2 = 120 possibilities for numerical combinations. I ended up grading just over 200. Why not just grade every single possibility? Simple &#8211; I don&#8217;t pretend to think I&#8217;m really consistent when I&#8217;m doing this. That&#8217;s part of the problem. I want the algorithm to figure out what, on average, I tend to do in a number of different situations.</li>
</ul>
<p><a href="http://blog.evanweinberg.org/wp-content/uploads/2017/02/Screen-Shot-2017-02-21-at-8.48.12-PM.png"><img loading="lazy" src="http://blog.evanweinberg.org/wp-content/uploads/2017/02/Screen-Shot-2017-02-21-at-8.48.12-PM-1024x414.png" alt="" width="604" height="244" class="alignnone size-large wp-image-2672" srcset="/blog_archive/wp-content/uploads/2017/02/Screen-Shot-2017-02-21-at-8.48.12-PM-1024x414.png 1024w, /blog_archive/wp-content/uploads/2017/02/Screen-Shot-2017-02-21-at-8.48.12-PM-300x121.png 300w, /blog_archive/wp-content/uploads/2017/02/Screen-Shot-2017-02-21-at-8.48.12-PM-768x310.png 768w, /blog_archive/wp-content/uploads/2017/02/Screen-Shot-2017-02-21-at-8.48.12-PM-1536x621.png 1536w, /blog_archive/wp-content/uploads/2017/02/Screen-Shot-2017-02-21-at-8.48.12-PM-2048x827.png 2048w, /blog_archive/wp-content/uploads/2017/02/Screen-Shot-2017-02-21-at-8.48.12-PM-1200x485.png 1200w, /blog_archive/wp-content/uploads/2017/02/Screen-Shot-2017-02-21-at-8.48.12-PM-1980x800.png 1980w" sizes="(max-width: 604px) 100vw, 604px" /></a></p>
<p>After training for a while, I was ready to have the network make some predictions. I made a little visualizer to help me see the results:<br />
<a href="http://ec2-13-229-58-164.ap-southeast-1.compute.amazonaws.com/wp-content/uploads/2017/02/brain.gif"><img loading="lazy" src="http://blog.evanweinberg.org/wp-content/uploads/2017/02/brain-1024x586.gif" alt="" width="604" height="346" class="alignnone size-large wp-image-2673" srcset="/blog_archive/wp-content/uploads/2017/02/brain-1024x586.gif 1024w, /blog_archive/wp-content/uploads/2017/02/brain-300x172.gif 300w, /blog_archive/wp-content/uploads/2017/02/brain-768x440.gif 768w, /blog_archive/wp-content/uploads/2017/02/brain-1200x687.gif 1200w" sizes="(max-width: 604px) 100vw, 604px" /></a></p>
<p>You can also see this in action <a href="http://codepen.io/emwdx/pen/LbaRzy">by going to the CodePen</a>, clicking on the &#8216;Load Trained Data&#8217; button, and playing around with it yourself. There&#8217;s no limit to the values in the form, so some crazy results can occur.</p>
<p>The thing that makes me happiest about the result is that there&#8217;s nothing surprising about the results.</p>
<ul>
<li>Conceptual errors are the most important ones that limit students from making progress from one level to the next. This makes sense. Once a student has made a conceptual error, I generally don&#8217;t let students increase their proficiency level</li>
<li>Students with low scores that ask for the highest difficulty problems probably shouldn&#8217;t.</li>
<li>Students that have an 8 can get to a 9 by doing a middle difficulty level problem, but can&#8217;t get to a 10 in one reassessment without doing the highest difficulty level problem. On the other hand, a student that is a 9 that makes a conceptual error on a middle difficulty problem are brought back to a 7.</li>
</ul>
<p>When I shared this with students, the thing they seemed most interested to use this to do is decide what sort of problem they want for a given reassessment. Some students with a 6 have come in asking for the simplest level question so they can be guaranteed a rise to a 7 if they answer correctly. A lot of level 8 students want to become a 10 in one go, but often make a conceptual error along the way and are limited to a 9. I clearly have the freedom to classify these different types of errors as I see fit when a student comes to meet with me. When I ask students what they think about having this tool available to them, the response is usually that it&#8217;s a good way to be fair. I&#8217;m pretty happy about that.</p>
<p>I&#8217;ll continue playing with this. It was an interesting way to analyze my thinking around something that I consider to still be pretty fuzzy, even this long after getting involved with SBG in my classes.</p>
]]></content:encoded>
					
					<wfw:commentRss>/blog_archive/2017/02/21/sbg-and-leveling-up-part-3-the-machine-thinks/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2671</post-id>	</item>
		<item>
		<title>Notes to the Future with Google Scripts &#038; PearDeck</title>
		<link>/blog_archive/2017/01/16/notes-to-the-future-with-google-scripts-peardeck/</link>
					<comments>/blog_archive/2017/01/16/notes-to-the-future-with-google-scripts-peardeck/#respond</comments>
		
		<dc:creator><![CDATA[user]]></dc:creator>
		<pubDate>Mon, 16 Jan 2017 13:01:27 +0000</pubDate>
				<category><![CDATA[computational-thinking]]></category>
		<category><![CDATA[reflection]]></category>
		<category><![CDATA[google scripts]]></category>
		<category><![CDATA[teachers coding]]></category>
		<guid isPermaLink="false">http://evanweinberg.com/?p=2615</guid>

					<description><![CDATA[I wrote previously about my use of PearDeck in an end of semester activity. One of the slides in this deck was one in which I asked students to write themselves a note containing the things they would want to remember three weeks later at the beginning of semester two.]]></description>
										<content:encoded><![CDATA[<p>I wrote previously about my use of PearDeck in an end of semester activity. One of the slides in this deck was one in which I asked students to write themselves a note containing the things they would want to remember three weeks later at the beginning of semester two. With vacation now over, that day is now. I wrote a Google script that automatically sends the notes they wrote to each student. This allowed me to generally send these out without inadvertently reading the notes in detail. I saw some of them, but made an effort not to see who was writing what.</p>
<p>The PearDeck output spreadsheet for this deck looks like this:</p>
<p><a href="http://blog.evanweinberg.org/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-7.49.49-PM.png"><img loading="lazy" src="http://blog.evanweinberg.org/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-7.49.49-PM.png" alt="" width="1280" height="1564" class="alignnone size-full wp-image-2616" srcset="/blog_archive/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-7.49.49-PM.png 1280w, /blog_archive/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-7.49.49-PM-246x300.png 246w, /blog_archive/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-7.49.49-PM-838x1024.png 838w, /blog_archive/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-7.49.49-PM-768x938.png 768w, /blog_archive/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-7.49.49-PM-1257x1536.png 1257w, /blog_archive/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-7.49.49-PM-1200x1466.png 1200w" sizes="(max-width: 1280px) 100vw, 1280px" /></a></p>
<p>Column 3 of the spreadsheet contains columns with the student&#8217;s email addresses, so that made it easy to get the address corresponding with a given note to the future, which is column 4. By selecting &#8216;Script Editor&#8217; from the tools menu, you can create a script that has the ability to process this data.</p>
<p>You can delete the code that is there, and then paste in the code below to create the email script.</p>
<p><a href="http://ec2-13-229-58-164.ap-southeast-1.compute.amazonaws.com/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-8.01.42-PM.png"><img loading="lazy" src="http://ec2-13-229-58-164.ap-southeast-1.compute.amazonaws.com/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-8.01.42-PM.png" alt="" width="2720" height="1214" class="alignnone size-full wp-image-2618" srcset="/blog_archive/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-8.01.42-PM.png 2720w, /blog_archive/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-8.01.42-PM-300x134.png 300w, /blog_archive/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-8.01.42-PM-1024x457.png 1024w, /blog_archive/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-8.01.42-PM-768x343.png 768w, /blog_archive/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-8.01.42-PM-1536x686.png 1536w, /blog_archive/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-8.01.42-PM-2048x914.png 2048w, /blog_archive/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-8.01.42-PM-1200x536.png 1200w, /blog_archive/wp-content/uploads/2017/01/Screen-Shot-2017-01-09-at-8.01.42-PM-1980x884.png 1980w" sizes="(max-width: 2720px) 100vw, 2720px" /></a></p>
<p>You&#8217;ll need to save the script, and from the run menu, select &#8216;sendEmails&#8217;. You&#8217;ll need to give permission for this script to read the spreadsheet for this to proceed. The emails will all be sent from your Google email.</p>
<p>Code:<br />
<code><br />
function sendEmails() {</p>
<p>   var sheet = SpreadsheetApp.getActiveSheet();<br />
  var startRow = 2;  // First row of data to process<br />
  var numRows = 12;   // Number of rows to process</p>
<p>  var dataRange = sheet.getRange(startRow, 1, numRows, 5) //get all the data in the spreadsheet from the range between (startRow,1) and (numRows,5).<br />
  //This gets the first 12 students that are in this class, and the five columns of data I want to use for the email.</p>
<p>  var data = dataRange.getValues(); //Store the spreadsheet data in an array<br />
  for (i in data) { //for each row in the spreadsheet<br />
    var row = data[i]; </p>
<p>    var studentEmail = row[2]; //the student  email is in element 2, which is the third column</p>
<p>    var subject = "Note To The Future (AKA Now): " + studentEmail; //email subject</p>
<p>    //This next line is text  formatted using HTML tags that appears before each students' note.</p>
<p>    var greeting = "Happy New Year! </p>
<p> Before break, I asked you to write an email to yourself with things you would want to remember at the beginning of the semester. Whatever you wrote in that text box in Pear Deck is below for you to enjoy. </p>
<p> I'm looking forward to seeing you Tuesday or Wednesday in class. </p>
<p> Be well,<br /> EMW </p>
<hr/>
<p>";<br />
    var message = greeting + row[3] //Combines the greeting and the student's individual note</p>
<p>    MailApp.sendEmail({to:studentEmail, subject:subject, htmlBody:message});<br />
    //Sends the email to the student, with the subject defined in line 14, and the message from lines 20 and 21.<br />
    //htmlBody means the email will be formatted as HTML, not just text.<br />
    }</p>
<p>}<br />
</code></p>
]]></content:encoded>
					
					<wfw:commentRss>/blog_archive/2017/01/16/notes-to-the-future-with-google-scripts-peardeck/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2615</post-id>	</item>
		<item>
		<title>Holiday Travel and Exporting PearDeck Data to Desmos</title>
		<link>/blog_archive/2017/01/09/holiday-travel-and-exporting-peardeck-data-to-desmos/</link>
					<comments>/blog_archive/2017/01/09/holiday-travel-and-exporting-peardeck-data-to-desmos/#comments</comments>
		
		<dc:creator><![CDATA[user]]></dc:creator>
		<pubDate>Mon, 09 Jan 2017 13:15:54 +0000</pubDate>
				<category><![CDATA[computational-thinking]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[PearDeck]]></category>
		<category><![CDATA[reflection]]></category>
		<guid isPermaLink="false">http://evanweinberg.com/?p=2610</guid>

					<description><![CDATA[One of the unique phenomena of international schools is the reality that, during a vacation, the school population disperses to locations across the world. I had students do an end of semester reflection through PearDeck, and one of the slides asked students to drag a dot to where they were]]></description>
										<content:encoded><![CDATA[<p>One of the unique phenomena of international schools is the reality that, during a vacation, the school population disperses to locations across the world. I had students do an end of semester reflection through <a href="https://www.peardeck.com/">PearDeck</a>, and one of the slides asked students to drag a dot to where they were going to spend the vacation.</p>
<p>PearDeck allowed me to see the individual classes and share these with the students one at a time. I wanted to create a composite of all of the classes together in <a href="http://www.desmos.com/calculator">Desmos</a> to share upon our return to classes, which happens tomorrow. You can find the result of this effort below. This is the combined data for draggable slides from five different sessions of the same deck.</p>
<p><a href="http://blog.evanweinberg.org/wp-content/uploads/2017/01/cbokuafkdn.png"><img loading="lazy" src="http://blog.evanweinberg.org/wp-content/uploads/2017/01/cbokuafkdn.png" alt="" width="1436" height="985" class="alignnone size-full wp-image-2611" srcset="/blog_archive/wp-content/uploads/2017/01/cbokuafkdn.png 1436w, /blog_archive/wp-content/uploads/2017/01/cbokuafkdn-300x206.png 300w, /blog_archive/wp-content/uploads/2017/01/cbokuafkdn-1024x702.png 1024w, /blog_archive/wp-content/uploads/2017/01/cbokuafkdn-768x527.png 768w, /blog_archive/wp-content/uploads/2017/01/cbokuafkdn-1200x823.png 1200w" sizes="(max-width: 1436px) 100vw, 1436px" /></a></p>
<p>The process of creating this image was a bit of work to figure out, but in the end wasn&#8217;t too hard to pull off. Here&#8217;s how I did it.</p>
<p>The export function of a completed PearDeck session, among other things, gives the coordinates of each student&#8217;s dragged dot in a Draggable slide. I could not use these coordinates as is, as graphing them on top of the map image in Desmos did not actually yield the correct locations. I guessed that these coordinates represented a percentage of the width of the image used for the Draggable background since the images people upload are likely all of different sizes. I did a brief search in the documentation, and couldn&#8217;t find official confirmation, but I&#8217;m fairly sure this is the case. An additional complication for using these is that the origin is at the upper left hand corner, which is typical for programming pixel art, but not correct for use with a Cartesian system as in Desmos.</p>
<p>This means that an exported data point located at 40, 70 is at 40% of the width of the image, and 70% of the height of the image, measured from the top left corner.</p>
<p>Luckily, Desmos makes it pretty easy to apply a transformation to the data to make it graph correctly. I took all of the data from the PearDeck export, pasted it into a spreadsheet class by class, and then pasted the aggregate data into a Desmos table. Desmos appears to have a 50 point limitation for pasting data this way, which is why the Desmos link below has two separate tables.</p>
<p><a href="https://www.desmos.com/calculator/cbokuafkdn" target="_blank" rel="noopener noreferrer">Click here to see the graph and data on Desmos</a></p>
<p>If there&#8217;s an easier way to do this, I&#8217;d love to hear your suggestions in the comments.</p>
]]></content:encoded>
					
					<wfw:commentRss>/blog_archive/2017/01/09/holiday-travel-and-exporting-peardeck-data-to-desmos/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2610</post-id>	</item>
		<item>
		<title>Releasing Today: States-n-Plates</title>
		<link>/blog_archive/2017/01/05/releasing-today-states-n-plates/</link>
					<comments>/blog_archive/2017/01/05/releasing-today-states-n-plates/#respond</comments>
		
		<dc:creator><![CDATA[user]]></dc:creator>
		<pubDate>Wed, 04 Jan 2017 17:04:34 +0000</pubDate>
				<category><![CDATA[computational-thinking]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://evanweinberg.com/?p=2601</guid>

					<description><![CDATA[I&#8217;m excited to share States-n-Plates , a project I built with Dan Meyer. Dan proposed the idea for this activity a while ago with his typically high level of excitement about activities that provoke interesting and productive classroom conversation. This time, however, it wasn&#8217;t about mathematics. I was looking for]]></description>
										<content:encoded><![CDATA[<p>I&#8217;m excited to share <a href="http://mrmeyer.com/statesplates/">States-n-Plates </a>, a project I built with <a href="http://blog.mrmeyer.com/">Dan Meyer</a>. </p>
<p><a href="http://mrmeyer.com/statesplates/"><img loading="lazy" src="http://blog.evanweinberg.org/wp-content/uploads/2017/01/snp.gif" alt="" width="1280" height="656" class="alignnone size-full wp-image-2603" /></a></p>
<p>Dan proposed the idea for this activity a while ago with his typically high level of excitement about activities that provoke interesting and productive classroom conversation. This time, however, it wasn&#8217;t about mathematics. I was looking for a bigger scale project to help me develop my <a href="https://facebook.github.io/react/">ReactJS</a> skills, so I took it on. Dan was patient enough to let me hack away at the project in this context. Though I could have certainly done it more quickly using jQuery or another framework, I wanted to try building this project in a particular way. </p>
<p>Specifically:</p>
<ul>
<li>I wanted to be able to play the game myself when I was done. Hard coding everything into a series of HTML pages would have likely resulted in my seeing each plate and the answer over the <u>many</u> times I reloaded during development. By abstracting the behavior of the game to be automated for each group of license plates, I saw most of the plates for the first time during testing.</li>
<li>I wanted to experiment with a <a href="http://gaearon.github.io/react-dnd/docs-overview.html">drag and drop library</a> for React as an exercise for use in future experiments.</li>
<li>I also wanted to have a slightly different UI behavior for the desktop and mobile versions. This functionality came from <a href="http://getbootstrap.com/">Bootstrap</a>. This led to a bit of wonkiness on small phone displays, but larger tablets work great using touch, and the desktop version works well using drag and drop. </li>
<li>I also wanted to experiment with modularity of both files and React component JSX files. I used Webpack. I don&#8217;t understand Webpack. </li>
</ul>
<p>As in my past collaborations with Dan, I learned to do a number of things I didn&#8217;t think I could do. For example, I told Dan &#8216;no&#8217; on the fading effect at one point, and then subsequently figured out how to make it happen through lots of searches, StackOverflow, and careful reading of the React documentation.</li>
<p>If you want to play with the code, the Github repository is at <a href="https://github.com/emwdx/states-n-plates/">https://github.com/emwdx/states-n-plates/</a>. You don&#8217;t need the big node_modules directory for this to work locally, but it is required if you want to change the bundle.js file. </p>
<p>I have more thoughts on the learning process I went through, but that will be shared soon. Have fun and share with your friends.</p>
]]></content:encoded>
					
					<wfw:commentRss>/blog_archive/2017/01/05/releasing-today-states-n-plates/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2601</post-id>	</item>
		<item>
		<title>Getting Grade Data from PowerSchool Pro (#TeachersCoding)</title>
		<link>/blog_archive/2016/11/09/getting-grade-data-from-powerschool-pro-teacherscoding/</link>
					<comments>/blog_archive/2016/11/09/getting-grade-data-from-powerschool-pro-teacherscoding/#comments</comments>
		
		<dc:creator><![CDATA[user]]></dc:creator>
		<pubDate>Wed, 09 Nov 2016 01:32:23 +0000</pubDate>
				<category><![CDATA[computational-thinking]]></category>
		<category><![CDATA[standards based grading]]></category>
		<category><![CDATA[grade export]]></category>
		<category><![CDATA[Powerschool]]></category>
		<category><![CDATA[teacherscoding]]></category>
		<guid isPermaLink="false">http://evanweinberg.com/?p=2579</guid>

					<description><![CDATA[Given that I use standards based grading with most of my classes, the grades I assign to students change quickly. I&#8217;m modifying those scores multiple times a day in some cases in my school&#8217;s instance of PowerSchool Pro. What the system currently lacks is an easy way to get that]]></description>
										<content:encoded><![CDATA[<p>Given that I use standards based grading with most of my classes, the grades I assign to students change quickly. I&#8217;m modifying those scores multiple times a day in some cases in my school&#8217;s instance of PowerSchool Pro.</p>
<p>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.</p>
<p>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 <code>exportData</code>. This code is included below, and <a href="https://gist.github.com/emwdx/0b18f9b97de83aa3d3874437115532aa">is also here in a gist</a>. Paste the entire code into the console and run it. Then type in <code>exportData</code> and the scraped data will appear.</p>
<p><a href="http://ec2-13-229-58-164.ap-southeast-1.compute.amazonaws.com/wp-content/uploads/2016/11/Screen-Shot-2016-11-09-at-8.26.58-AM.png"><img loading="lazy" src="http://ec2-13-229-58-164.ap-southeast-1.compute.amazonaws.com/wp-content/uploads/2016/11/Screen-Shot-2016-11-09-at-8.26.58-AM.png" alt="screen-shot-2016-11-09-at-8-26-58-am" width="1600" height="838" class="alignnone size-full wp-image-2580" srcset="/blog_archive/wp-content/uploads/2016/11/Screen-Shot-2016-11-09-at-8.26.58-AM.png 1600w, /blog_archive/wp-content/uploads/2016/11/Screen-Shot-2016-11-09-at-8.26.58-AM-300x157.png 300w, /blog_archive/wp-content/uploads/2016/11/Screen-Shot-2016-11-09-at-8.26.58-AM-1024x536.png 1024w, /blog_archive/wp-content/uploads/2016/11/Screen-Shot-2016-11-09-at-8.26.58-AM-768x402.png 768w, /blog_archive/wp-content/uploads/2016/11/Screen-Shot-2016-11-09-at-8.26.58-AM-1536x804.png 1536w, /blog_archive/wp-content/uploads/2016/11/Screen-Shot-2016-11-09-at-8.26.58-AM-1200x629.png 1200w" sizes="(max-width: 1600px) 100vw, 1600px" /></a></p>
<p>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.</p>
<p>The only place where this doesn&#8217;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&#8217;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.</p>
<p>Here is the full code:<br />
<code><br />
var nameElements = $('.student-name').toArray();<br />
var assignmentElements = $('var').toArray();<br />
var names = [];<br />
var assignments = [];<br />
var assignmentNumber;</p>
<p>assignmentElements.forEach(function(name,index){</p>
<p>assignments.push(name.innerHTML)</p>
<p>})</p>
<p>names = names.slice(0,0.5*(names.length))</p>
<p>var rows = $( "tr[id*='std']" ).toArray()<br />
rows.forEach(function(row){<br />
var currentName = $(row).find('.student-name')[0].innerHTML;<br />
var gradeElements = $(row).find('var');<br />
gradeElements = gradeElements.slice(1,gradeElements.length).toArray();<br />
grades = [];</p>
<p>gradeElements.forEach(function(grade){<br />
  var currGrade = (parseFloat(grade.innerHTML)!=NaN)?parseFloat(grade.innerHTML):'';</p>
<p>  grades.push(currGrade)<br />
})<br />
if(grades.length>0){<br />
names.push([currentName,grades])</p>
<p>}</p>
<p>})</p>
<p>assignmentNumber = names[0][1].length;</p>
<p>assignmentString = 'Name \t';</p>
<p>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;
</code></p>
]]></content:encoded>
					
					<wfw:commentRss>/blog_archive/2016/11/09/getting-grade-data-from-powerschool-pro-teacherscoding/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2579</post-id>	</item>
		<item>
		<title>Generating Function Library Quizzes (#TeachersCoding)</title>
		<link>/blog_archive/2016/11/04/generating-function-library-quizzes-teacherscoding/</link>
					<comments>/blog_archive/2016/11/04/generating-function-library-quizzes-teacherscoding/#respond</comments>
		
		<dc:creator><![CDATA[user]]></dc:creator>
		<pubDate>Fri, 04 Nov 2016 11:58:53 +0000</pubDate>
				<category><![CDATA[computational-thinking]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[react]]></category>
		<category><![CDATA[teacherscoding]]></category>
		<guid isPermaLink="false">http://evanweinberg.com/?p=2569</guid>

					<description><![CDATA[I&#8217;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&#8217;ve manually had to build these using Word or LibreOffice. I greatly dislike formatting]]></description>
										<content:encoded><![CDATA[<p>I&#8217;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&#8217;ve manually had to build these using Word or LibreOffice. I greatly dislike formatting things using either software package.</p>
<p>I decided this week that creating these quizzes using HTML seemed like a perfect application of my developing React skills. Here&#8217;s the result: </p>
<p><a href="http://ec2-13-229-58-164.ap-southeast-1.compute.amazonaws.com/wp-content/uploads/2016/11/Screen-Shot-2016-11-04-at-6.54.23-PM.png"><img loading="lazy" src="http://blog.evanweinberg.org/wp-content/uploads/2016/11/Screen-Shot-2016-11-04-at-6.54.23-PM-1024x548.png" alt="screen-shot-2016-11-04-at-6-54-23-pm" width="500" height="268" class="alignnone size-large wp-image-2570" srcset="/blog_archive/wp-content/uploads/2016/11/Screen-Shot-2016-11-04-at-6.54.23-PM-1024x548.png 1024w, /blog_archive/wp-content/uploads/2016/11/Screen-Shot-2016-11-04-at-6.54.23-PM-300x161.png 300w, /blog_archive/wp-content/uploads/2016/11/Screen-Shot-2016-11-04-at-6.54.23-PM-768x411.png 768w, /blog_archive/wp-content/uploads/2016/11/Screen-Shot-2016-11-04-at-6.54.23-PM-1536x822.png 1536w, /blog_archive/wp-content/uploads/2016/11/Screen-Shot-2016-11-04-at-6.54.23-PM-2048x1097.png 2048w, /blog_archive/wp-content/uploads/2016/11/Screen-Shot-2016-11-04-at-6.54.23-PM-1200x643.png 1200w, /blog_archive/wp-content/uploads/2016/11/Screen-Shot-2016-11-04-at-6.54.23-PM-1980x1060.png 1980w" sizes="(max-width: 500px) 100vw, 500px" /></a></p>
<p>The order of the functions randomly generates on each page load, which makes it easy to generate new versions. I&#8217;ve been able to export these as PDF files and then send them right to the printer.</p>
<p>You can access the code here on CodePen:<br />
[codepen_embed height=&#8221;265&#8243; theme_id=&#8221;0&#8243; slug_hash=&#8221;gLOoxe&#8221; default_tab=&#8221;result&#8221; user=&#8221;emwdx&#8221; preview=&#8221;true&#8221; data-preview=&#8221;true&#8221;]See the Pen <a href='http://codepen.io/emwdx/pen/gLOoxe/'>FunctionLibraryQuiz</a> by Evan Weinberg (<a href='http://codepen.io/emwdx'>@emwdx</a>) on <a href='http://codepen.io/'>CodePen</a>.[/codepen_embed]</p>
<p>Feel free to use this or modify to fit your needs.</p>
]]></content:encoded>
					
					<wfw:commentRss>/blog_archive/2016/11/04/generating-function-library-quizzes-teacherscoding/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2569</post-id>	</item>
	</channel>
</rss>
