emacs/var/elfeed/db/data/c2/c254fdfadc22e64a98458e6d41f5b57dd5d9ad84
2022-01-03 12:49:32 -06:00

8 lines
3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>Mike Zamansky has come up for air and after a long hiatus, hes back with another video in his <a href="https://cestlaz.github.io/stories/emacs/">Using Emacs Series</a>. This video is about his <a href="https://www.youtube.com/watch?v=7HLVcQi8GGk">project grading workflow</a>. That may not seem to interesting to some folks but, as usual, he leverages Emacs and some new packages that he hasnt discussed previously.</p>
<p>If you havent been a teacher, you probably have no idea what a chore grading is. If you want to evaluate your students fairly, you have to bear down and cant just phone it in. Therefore, anything that eliminates routine chores and makes the process run more smoothly is a real win.</p>
<p>To a first approximation, Zamansky use GitHub and <a href="https://classroom.github.com/">GitHub Classroom</a> to handle his homework and project assignments and their grading. GitHub provides a very nice infrastructure for teaching and coordinating with students. That was true before COVID-19 and is probably more true now. The problem with it is that its Web based and involves a lot of clicking when youre dealing with several students and their repositories.</p>
<p>Zamansky deals with this by cloning all the student repositories to his local machine. Thats a win because he can then deal with everything from inside Emacs. For example, if he wants to compile and run some student code, thats easy from within Emacs.</p>
<p>A typical workflow is grading a project. Zamansky first runs <code>consult-find</code> to find all student programs implementing the project. He can direct all the paths to a separate buffer from which he can visit each in turn. Theres no navigating to each student, then to the proper project, and finally to the code. Everything is right there so he can simply step through the list. This is handled through the <a href="https://github.com/minad/consult">consult</a> package.</p>
<p>Likewise, he can communicate with a student by leveraging the <a href="https://emacsair.me/2018/12/19/forge-0.1/">forge</a> package to raise an issue in the students repository. Similarly, a student can raise an issue that can be downloaded with forge. Finally, Zamansky can use the <a href="https://github.com/oantolin/embark/">Embark</a> package to render PDFs or link in a separate utility, although he usually prefers to render it directly in Emacs.</p>
<p>If youre interested in this sort of thing, you can also take a look at this 2014 blog post and video from John Kitchin on how he handled things then: <a href="https://kitchingroup.cheme.cmu.edu/blog/2014/12/18/org-mode-+-Python-+-git-in-a-graduate-engineering-course/">blog post</a>, <a href="https://www.youtube.com/watch?v=cRUCiF2MwP4">video</a>. Im sure hes evolved his system subsequently but it was already pretty powerful and completely Emacs based.</p>
<p>Zamanskys video is 18 minutes, 39 seconds long so plan accordingly. Its interesting even if you arent a teacher. In any event, its nice to have Zamansky back.</p>