From NetsBlox to Spark (and Back Again)
Clifford B. Anderson is Associate University Librarian for Research and Digital Strategy at the Vanderbilt University Library. He holds a secondary appointment as Professor of Religious Studies in the College of Arts & Science at Vanderbilt University and is affiliated faculty in the Comparative Media Analysis and Practice Joint-Ph.D. program. He was also an Adjunct Professor of Computer Science in the Department of Electrical Engineering and Computer Science in the Vanderbilt University School of Engineering.
Specializing in romantic literature and law-and-literature, Mark Schoenfield is interested in how text-mining can assist and improve cultural analysis.
I'm an assistant professor of the Learning Sciences at Vanderbilt, where I also co-direct the Computational Thinking and Learning Initiative. I work to create learning environments that allow me and the teachers I collaborate with to support and study students' scientific, mathematical, and computational thinking.
Brian Broll is a Research Scientist at the Institute for Software Integrated Systems at Vanderbilt University. He holds a Ph.D. from Vanderbilt University in Computer Science and a B.Sc. from Buena Vista University, majoring in mathematics education. His research interests include computer science education and model integrated computing.
No materials for the event yet, sorry!
This paper presents a case study of an ongoing experiment at Vanderbilt University to teach the fundamental concepts of text mining to undergraduates in an accessible and equitable way. During the Fall 2020 and Spring 2021 semesters, the authors instructed two cohorts of students from a variety of backgrounds, ranging from computer science to English, in a range of text mining techniques. After providing students with a whirlwind introduction to NetsBlox, we introduced concepts like applying transformation pipelines and natural language processing within a block-based environment. We then translated those procedures into ‘big data’ contexts using code notebooks with Apache Spark. As we introduced new concepts, we regularly and iteratively returned to NetsBlox to introduce the main ideas before applying them in a production setting.
A key strategy of this project has been to introduce text-mining concepts and techniques in NetsBlox, using a sample of the larger corpus that was much smaller but featured the same data structures. Once learners had worked through a focal technique, availing themselves of the visual feedback and direct manipulation characteristic of Snap!, we transitioned them to a text-based notebook environment where they could apply their knowledge in ways that engaged with the entire corpus of texts.
NetsBlox provided an ideal ‘test bed’ for these experiments for several reasons. NetsBlox leveled the playing field for students with different levels of prior programming experience. The block-based environment enabled students with little to no background in programming to learn effectively alongside peers with significant expertise in text-based languages. NetsBlox’s remote procedure calls also made it possible to integrate industrial tools like CoreNLP into our block-based pipelines, permitting us to mimic production environments more closely. And, finally, the functional programming operators in Snap! allowed us to model ‘big data’ operations like map/reduce in a straightforward manner.
As we look to develop best practices for teaching large-scale textual analysis with NetsBlox, we invite the broad Snap! community to provide feedback about our next steps. For instance, does it make sense to connect NetsBlox directly with Spark, creating a block-based interface to a big data platform? How might our methodology foster a CS+X (or X+CS) approach, especially for students of the digital humanities?
Finally, we will also showcase “hidden gems” of NetsBlox as we proceed through our presentation, including the use of cloud variables, integration with a BaseX database, and the implementation of an auto-grader.
Events Happening Next
Cynthia Solomon, Sarah Magner, firstname.lastname@example.org
WORKSHOP DESCRIPTION In this workshop, we will focus on building blocks that allow you to play with polygons and spirals with TurtleStitch. If you create a design you love and do not have access to a computerized embroidery machine, global TurtleStitch community friends will embroider & mail you your design!
TurtleStitch is an activity and a coding environment. TurtleStitching is a mi...more
Jens Mönig, Jadga Hügle
In this workshop we'll share a curriculum around AI that we're currently working on. We try to show how to use machine learning in the classroom by implementing a gesture recognizer (based on the $1 gesture recognizer) in Snap!
We start by creating a single-stroke gesture drawing program.
By building an "animate" control structure based on the pen trails, we are able to animate our drawn...
Codification means to create Python code directly out of SNAP Code via a mapping SNAP blocks to Python code. The created Python Code via codification in SNAP is downloaded and runs immediately in Python. This has been useful in supporting the steps from SNAP development in a blocks language to a typing language. I would like to show how we enhanced codification with GUI elements: There a...more