<?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/"
> <channel><title>Project 2061 Techlog &#187; assessment</title> <atom:link href="http://techlog.p2061.org/tag/assessment/feed/" rel="self" type="application/rss+xml" /><link>http://techlog.p2061.org</link> <description>Blogging from Project 2061 technology group</description> <lastBuildDate>Tue, 06 Sep 2011 14:49:39 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Items Utility: School Reports Update</title><link>http://techlog.p2061.org/2008/05/13/items-utility-school-reports-update/</link> <comments>http://techlog.p2061.org/2008/05/13/items-utility-school-reports-update/#comments</comments> <pubDate>Tue, 13 May 2008 21:09:51 +0000</pubDate> <dc:creator>bsweeney</dc:creator> <category><![CDATA[PHP]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[assessment]]></category> <category><![CDATA[items utility]]></category> <guid
isPermaLink="false">http://techlog.p2061.org/2008/05/13/items-utility-school-reports-update/</guid> <description><![CDATA[I made a few updates to the school reports at the request of the researchers. Added a save feature so that packet/item selections for a report can be retrieved at a later date. Added the ability to set thresholds that must be met before the script will include statistics in the report. Updated tables to [...]]]></description> <content:encoded><![CDATA[<p>I made a few updates to the school reports at the request of the researchers.</p><ul><li>Added a save feature so that packet/item selections for a report can be retrieved at a later date.</li><li>Added the ability to set thresholds that must be met before the script will include statistics in the report.</li><li>Updated tables to reflect changes in displayed information and formatting.</li></ul><p>In regards to the above changes, the save feature is of particular note for it inscrutibility. While the technique used to save/retrieve the report setting is adequate, the code to enable this functionality is not  well-implemented. Unfortunately, time constraints required a fast, rather than best, implementation.</p><p>As modifications are requested this script is getting to be a little harder to work with. The code was created over the course of a week or two back in January. I was able to make quick work of it by using some concepts I initially worked out for summary table generation (and based on discussions with Brian W). While the data is stored in a psuedo object-oriented format, the script itself is fairly linear in design. If more modifications are requested the script may need some rewrites to enable a bit more flexibility.</p> ]]></content:encoded> <wfw:commentRss>http://techlog.p2061.org/2008/05/13/items-utility-school-reports-update/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Items: Summary Tables Update</title><link>http://techlog.p2061.org/2008/03/18/items-summary-tables-update/</link> <comments>http://techlog.p2061.org/2008/03/18/items-summary-tables-update/#comments</comments> <pubDate>Tue, 18 Mar 2008 19:22:19 +0000</pubDate> <dc:creator>bsweeney</dc:creator> <category><![CDATA[PHP]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[assessment]]></category> <category><![CDATA[items utility]]></category> <guid
isPermaLink="false">http://techlog.p2061.org/2008/03/18/items-summary-tables-update/</guid> <description><![CDATA[The number produced by summary table 8 in the items utility were not quite correct. The researchers noted that the means by which calculation of answer selection was performed was not quite as they wanted it. Luckily table 8 uses a new summary table generation technique I borrowed from the school reports. The data, display, [...]]]></description> <content:encoded><![CDATA[<p>The number produced by summary table 8 in the items utility were not quite correct. The researchers noted that the means by which calculation of answer selection was performed was not quite as they wanted it.</p><p>Luckily table 8 uses a new summary table generation technique I borrowed from the school reports. The data, display, and summarization code is segregated to a certain degree (though not as much as would be preferred). This allows me to update one aspect of the script without having to monkey around too much with other aspects.</p><p>The data is currently stored in a data array that is organized to allow for relatively easy access. The summary information is currently compiled inline in the code. While this isn&#8217;t ideal, the method used (summary arrays) should allow for better segregation in the future. The calculation of concern is stored in its own function, <code>answer_selected()</code>. That function includes some basic versioning capability and so I was able to add a new version of the calculation that matches the researchers expectation without changing anything else in the code.</p><p>I think a modification of this technique would work well for all tables in the utility and should not require significant investment in development time. As additional tables need work I may investigate adding them as components of the new summary table script (summary_table.php).</p> ]]></content:encoded> <wfw:commentRss>http://techlog.p2061.org/2008/03/18/items-summary-tables-update/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Assessment Items Utility Updates</title><link>http://techlog.p2061.org/2008/03/13/assessment-items-utility-updates/</link> <comments>http://techlog.p2061.org/2008/03/13/assessment-items-utility-updates/#comments</comments> <pubDate>Thu, 13 Mar 2008 16:37:23 +0000</pubDate> <dc:creator>bsweeney</dc:creator> <category><![CDATA[Web Development]]></category> <category><![CDATA[assessment]]></category> <category><![CDATA[utility]]></category> <guid
isPermaLink="false">http://techlog.p2061.org/2008/03/13/assessment-items-utility-updates/</guid> <description><![CDATA[A note on various updates to the Items Utility related to packets and school reports. Field and Pilot Test Packets For this year&#8217;s field and pilot testing the researchers are going to be using OMR software for both production and data collection. On the one hand this should mean less work for the tech group [...]]]></description> <content:encoded><![CDATA[<p>A note on various updates to the Items Utility related to packets and school reports.</p><p><span
id="more-49"></span><strong>Field and Pilot Test Packets</strong></p><p>For this year&#8217;s field and pilot testing the researchers are going to be using OMR software for both production and data collection. On the one hand this should mean less work for the tech group in helping prepare packets. On the other hand &#8230; so much for all that work on the PDF generation tool. Hopefully we&#8217;ll get some use out of it elsewhere.</p><p>At any rate, in order to import the actual items into the utility they need to be in an image format. EPS would be the preferred since it would provide the best resolution on print-out. Linux has a built-in tool to do this and so I was easily able to update the item_print.php script to add EPS export capability. This is done by first creating a PDF in the usual manner (HTML to PDF using DOMPDF) then using the <code><a
href="http://linux.die.net/man/1/pdftops">pdftops</a></code> linux tool to create the EPS.</p><p>Unfortunately, the OMR design software doesn&#8217;t like the exported EPS. I&#8217;m not sure where the problem lies, and because EPS is a rather complex format I decided to go in another direction. So now the script also provides an option to export to TIFF, which seems to work fine. The process is similar to the above, only instead of <code>pdftops</code> the script now uses <a
href="http://www.ghostscript.com/">GhostScript</a> (<code><a
href="http://linux.die.net/man/1/gs">gs</a></code>).</p><p>I didn&#8217;t want to spend too much time on this, so there isn&#8217;t much in the way of error handling for the benefit of the front end. If an error is encountered during the conversion process the script will just display the command output.</p><p><strong>School Reports Class and Student Counts</strong></p><p>The school report format has been edited by staff. Most of the modifications were simple text updates or formatting changes. However, the staff wanted to add some numbers to the report which were not being calculated: number of students and number of classes involved in the testing of each topic.</p><p>This is a somewhat complex calculation since the data is spread out among various tables in the database and arrays in the script. To perform the calculation I decided to add one more value to the packet data array under <code>$student_data[packet_id]['packet_metadata']</code>. This new value is an array of topics covered by the packet. The means of determining this required quite a bit of looping through the arrays. Surprisingly, however, the speed of the script does not appear to be significantly affected.</p><p>Further down in the script the actual calculation is performed. A couple of factors need to be taken into account when calculating these numbers: a packet can cover more than one topic; and a single class can be split among multiple packets. With these things in mind I use an array to store information about each grade/class combination and use that array to determine the actual numbers.</p><p><strong>School Report Misconception Reference Duplication</strong></p><p>As I was working on the report I noticed that one of the features I had developed wasn&#8217;t working as expected. The researchers wanted to have a list of references for the misconceptions at the bottom of the report. I added this feature in the previous revision of the report, but noticed that some of the references were showing up more than once in the reference list. The reason for this had to do with the way references were stored in the data array. Previously each misconception had it&#8217;s own list of references, so references that produced more than one misconception would be listed more than once. To rectify the situation I created a references data array that contains the actual references and then then just pointed each entry in a misconception&#8217;s reference list to the references data array key. When a misconception is present in the report it is noted and the list of references are later compiled based on this information.</p><p>I also had to work on the reference sorting. One of the problems sorting these entries are that the references may contain HTML and high-bit UTF8 characters. I created a custom sort function called <code>ref_sort()</code> that will massage the strings so that they are more amenable to sorting. First HTML tags are stripped from the string, then leading spaces/line breaks are trimmed, and finally any HTML entity encoding is decoded (for high-bit characters). Finally the strings are compared using the <code><a
href="http://us3.php.net/manual/en/function.strcmp.php">strcmp()</a></code> PHP function. The only problem with this function is that it isn&#8217;t UTF8 safe and so doesn&#8217;t do a good job when the first character is high-bit. The sorting, however, is good enough.</p> ]]></content:encoded> <wfw:commentRss>http://techlog.p2061.org/2008/03/13/assessment-items-utility-updates/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
