Extracting Desire to learn (D2L) zip files into student foldersMon 15 April 2019 by Dr. Dirk Colbry
At MSU we use Desire to Learn for our classroom content management system. Students can go to D2L to get their assignments and turn in their assignments though the D2L dropbox.
When grading, I can download all of the student's submissions into a zip file such as the following:
Part 1 - Software Evaluation Download Mar 23, 2019 609 AM.zip
HW1 - Matrix Transpose Download Feb 2, 2019 1001 AM.zip
If this folder is unzipped files similar to the following will appear:
323771-372818 - Sam Smith - Jan 21, 2019 652 PM - submission.tgz 325034-372818 - Nan Carpenter - Jan 21, 2019 330 PM - 1d wave eqn.pages 325034-372818 - Nan Carpenter - Jan 21, 2019 330 PM - wave1d.py 331582-372818 - Joe Taylor - Jan 19, 2019 315 PM - HW1.ipynb 331582-372818 - Joe Taylor - Jan 19, 2019 315 PM - HW1_report.pdf 331582-372818 - Joe Taylor - Jan 19, 2019 315 PM - short.mp4 331582-372818 - Joe Taylor - Jan 19, 2019 320 PM - HW1.tgz
For many of the topics we cover (mostly programming) these filenames are not easy to use. In my classes student often submit files that need to work together with given file names (everything after the final dash). I wrote the following program to convert the directory of complex filenames into folders. A separate folder for each student with the files in the folder:
#!/bin/bash files=`ls` find . -iname "*" | while read file do echo $file folder=`echo $file | cut -d "-" -f 3 | xargs` echo "creating folder $folder" mkdir -p "$folder" newname=`echo $file | cut -d "-" -f5- | xargs` echo "Renaming to $newname" mv "$file" "./$folder/$newname" done
Sam Smith Nan Carpenter Joe Taylor
Each directory contains that student's files. For example the
Joe Taylor folder will have:
HW1.ipynb HW1_report.pdf short.mp4 HW1.tgz
I hope you find this script useful.
Accessibility of Jupyter for Impaired Individuals
This poster presents work by CMSETech Intern, Ahsa Shekar and her work on finding ways to make Jupyter More accessible.
Jupyter is an open-source programming environment that uses "literate programming" by combining documentation, coding and visualization into one file format. The Jupyter notebook format is also particularly well-suited for …read more
The challenges of developing research tools in active and responsive open source communities
This poster presents work by Professorial Assistance, Ty Buckly and Hattie Pimentel and their work on building an image annotation system inside of Jupyter.
Scientists often gather observations of the world using images and need efficient image annotating tools to extract data from these images. Project Insight seeks to …read more
HPCC SLURM Buy-in Notes
This year, the HPCC moved over to SLURM. Overall, I think the new scheduler is nice but it required me to relearn a bunch of things I have gotten to know by reflex.
One nice new feature is that I can manage our own Buy-in account. The CMSE department has …read more
Understanding Research Technology Support and Where it Fails
I was invited to give a talk to a newly formed IT Research Support group here on MSU campus. As the name suggests, the purpose of this group is to find the best ways to help researchers use technology to do their science.
This talk was a patchwork of many …read more
Managing Files on the MSU Engineering Jupyterhub server
The MSU Engineering Jupyterhub server provides 2GB of disk storage space for each student. It can be helpful to learn some disk management so you can use this space effectively.
For example, pip install uses a temporary folder when downloading packages. Periodically, deleting this folder can significantly free up space …read more
Virtual Reality Talk at the MSU Library
A few weeks ago I was asked by Terence O'Neill to give a talk to the VR/AR seminar group being held at the library. He wanted me to talk about our "Mobile beast" and show how we are using VR equipment in CMSE.
The VR equipment had a bug …read more
Quick Makefile Overview
Quick Graphviz Tutorial
This quick tutorial shows provides basic instructions for generating the above graph using Graphviz.
If you already have Anaconda installed on your system, you can quickly install graphviz using the following command:
conda install graphviz
Once graphviz is installed you need to create a text file with the connections. This …read more
Accessing a computer's camera inside of jupyter without installing OpenCV (Also works in Jupyterhub)
I am particularly proud of this code because of the following features:
- Does not require the installation of OpenCV (This can be tricky) read more