This release has a number of bug fixes and advances to the Skulpt compiler.
- Assignments can now be configured to be "reviewed", exposing a button to students to "mark as submitted". When they do so, the assignment is put into a queue accessible via the BlockPy Dashboard by instructors, who can review the submission and assign a grade. This interface will be improved substantially down the line.
- Connected to the above, there is a new assignment setting to save turtle output automatically. I recommend turning off feedback to get substantial speed-ups for students developing turtle art.
- Execution of student code now properly uses
exec
inside of Pedal, whereas previously it was an ad-hoc solution involving injecting the code into a try/catch block inside a function (super hacky). The new solution means we now get the same kinds of tracebacks that command line Pedal gives. I am looking to improve these in the next release, since their formatting is not very helpful. This is being tracked on the Pedal project issues. - Datasets now load correctly on startup
- Static typing support is improved in Pedal
- You can now check variables that are named the same as built-in JS functions (e.g.,
name
) - Clicking on the "Update Submission" button at the bottom of the page will now force a grade update to the LTI endpoint. This is useful if a submission somehow failed to be delivered to the LTI consumer, even though the grade was recorded in BlockPy (since BlockPy's policy is to only send grades on update).
- Other various bug fixes and improvements
One of the unfortunate side effects of more accurately executing code is that execution can now take several whole seconds (of course dependent on the code being run). I'm tracking the performance gap in this issue.