Making Science Interactive: Enhancing Synthesis and Collaboration
Keywords: Programming Environments, Scientific Programming, Authoring Interactivity
Human-Computer Interaction Lab Brown Bag Lunch Speaker Series, University of Maryland, 2025
Slides
Scientists are end-user programmers. Unlike software engineers, scientists use code as a tool. In this talk, I argue that scientific data analysis and communication is hindered by scientists' exclusion from certain computational thinking tools. Specifically, scientists lack access to tools that require advanced programming knowledge, in our case tools for creating interactive documents, interactive visualizations, and interactive elements. As a result, the scientists fail to experience the cognitive extension afforded by interactivity. To better understand this problem, my colleagues and I interviewed and observed scientists, documenting their programming experiences. In collaboration with researchers from MIT, we then met with a group of marine biologists and uncovered challenges in creating visualizations and opportunities for interactive visualizations. Throughout this talk, I will share excerpts from my work on designing computational tools to enhance scientific work.
Reflecting on my Thesis
Keywords: Autoethnography, Academic Research, Higher Education
University of Maryland, 2023
Slides
Autoethnography through analysis of photos, documents, and emails to capture the experience of performing research, and writing a thesis. Developing teaching, reading, and writing skills necessary for an academic career are my motivation for pursuing a thesis option over industry capstone. I share resources and practices that contributed to the completion of the thesis such as latex templates, book recommendations, library workshops, project management techniques, and wellness habits. Time management, imposter syndrome, and aligning committee expectations are challenges with the thesis process. Despite the required work and associated challenges, I 'enjoyed the ride' by participating in campus life.
"I Feel Like I'm Teaching in a Gladiator Ring": Barriers and Benefits of Live Coding
Keywords: Human-Computer Interaction, Computer Science Education, Programming Environments
University of Maryland, April 2023
Human-Computer Interaction Lab Symposium, May 2023
Aarhus University Center for Computational Thinking and Design, September 2023
Slides
Live coding for teaching—synchronously writing software in front of students—can be an effective method for engaging students and instilling practical programming skills. However, not all settings are conducive to live coding and not all instructors are successful in this challenging task. We present results from an interview study involving university instructors, teaching assistants, and students identifying both barriers and benefits of live coding. An equipped physical room, a positive classroom community with psychological safety, and opportunities for teacher development are practical considerations for live coding. We use our findings to derive guidelines for how to design tools to support effective live coding: (1) supporting multiple mechanisms for student engagement, (2) directing attention, (3) implementing real-time collaborative spaces, (4) highlighting errors, and (5) peeking into student editors.
Novice Helper: Eclipse Integrated Development Environment Plugin to Support Novice Programmers
Keywords: Novice Programmers, Error Message Comprehension, Eclipse IDE Plugin
McGill University, November 2017
Slides
Novice Helper, an Eclipse Integrated Development Environment (IDE) Plugin aims to teach young students about computer science and programming by translating Java's compiler error messages into age appropriate debugging advice embedded with computer science concepts. Unlike other programming comprehension tools targeted towards children that abstract a programming language into drag and drop blocks, Novice Helper does not intend to alter the Java programming language. Instead, Novice Helper works inside the Eclipse IDE and interacts with the Eclipse Problems View. Novice Helper is intended to be used in conjunction with a set of educational exercises that introduce a beginner to variables, types, loops, scope and control flow.
Caroline Berger Department of Computer Science Åbogade 34 8200 Aarhus N Denmark caroline.berger@cs.au.dk