April edition of Berkeley Datahub Newsletter
Get regular updates about the cutting edge work happening with Berkeley Datahub and across Berkeley Data Science Teaching Stack
Datahub Product Updates:
Desktop environment on the Julia Hub
Julia Hub helps instructors who use Julia language to run their Data Science instructional workflow. As part of our team’s continued efforts to make Datahub support the Linux desktop environment effectively, we have enabled this functionality to run simulations in Julia Hub. They are interactive and can allow for engaged exploration amongst the faculty and students. David Anthoff as part of his modeling effort for social costs of carbon emissions built a simulation that is currently accessible via Julia Hub.
Serialhub is a widget that allows Jupyter notebooks to connect to, read from, and write to the serial device connected to the end user’s device. Students who are part of the EECS labs often face the task of reading from and writing to the devices connected to their serial port during their in-person labs. During the pandemic, most of the EECS labs shifted to virtual means by using Datahub. However, reading and writing data into the Jupyter notebooks hosted in Datahub from a device connected to the serial port was still a challenging engineering problem. The developer team at EECS took up on this challenge to develop the serial hub widget which facilitates the handshake between Jupyter notebooks and the devices connected to the serial port. Serialhub widget is still in the early stages of development and will undergo multiple iterations before a fully functional version is released. Interested to explore the widget, Check out the PyPi link to download the python package.
Datahub Testing Infrastructure
As part of our continued efforts to improve the resilience of the Datahub infrastructure, a new proof of concept is developed to test sample Jupyter notebooks when code gets merged. Jupyter notebooks have test cases written to check the sanity of the basic services whenever a code merge happens to the repository. The problem we are trying to solve through this proof of concept is that it will help reduce system outages by allowing developers to get quick feedback whenever the notebook fails during a code merge. Pytest notebook is the package that is used to run Jupyter notebook as a test suite. Currently, the proof of concept is not yet enabled in any of the Berkeley-managed hubs but we plan to test it across a few hubs and then make it a workflow across many hubs.
Instructor: Peter Sudmant
Courses Taught: CMPBIO 210, INTEGBI 201, and INTEGBI 120 (Introduction to Quantitative Methods in Biology)
How did you leverage Berkeley Datahub and other tools within Data Science Teaching Stack as part of your course?
We use the DataHub for a number of our classes to provide an environment for students to use the command line, RStudio, and python. This has allowed us to bring real-world computational biology and bioinformatics applications into the class. For instance, students can perform genome assembly and analysis as part of their class which is super cool.
Did the tools help improve student engagement and/or learning outcomes? If yes, how?
Definitely. Students loved being able to actually TRY things and mess around. Project-based learning is really a great way to get students to be excited about the material you are teaching.
What are your biggest learnings using the stack?
I think the biggest thing I've learned is that teaching programming is pretty darned hard... because what "programming" IS is so varied, and students' experiences are so varied. It's tough to find a balance between teaching students the 'concepts' and the 'practice'.
What will your advice be for the varied faculty who intend to adopt these tools?
Try not to get stuck on teaching students "one tool" you are used to (e.g. a computer program that does X). Often the best learning experiences just come from students looking at the data and running simple programs.
Previous Workshop Collaterals:
Review the list of resources compiled from Jupyter Accessibility Workshops conducted during January and March 2022!