POSTPONED—was 25–27 March 2020, The George Washington University, Washington DC
[Updated March 11] —The workshop has been postponed. Just today, GW issued new guidance encouraging social distancing, including cancellation of gatherings at the university and the sharing of food and drink. The WHO has declared COVID-19 a pandemic, and many other experts insist on social distancing as necessary measure. Therefore, we cannot hold our workshop as planned, and are looking into new dates.
This workshop is for STEM faculty who want to transform their teaching through integrating computing in the content, process, and design of their courses.
The presenters are instructors who have been using computing in their teaching for years, and are eager to share what we have learned. We also want to invite you to be part of a growing community of educators who discovered that modern tools, and new ways of collaborating, can supercharge teaching and learning.
This is a sponsored workshop, and we are able to offer full travel support (including lodging and food) for 20 or more participants. Our sponsor is Leidos, Inc., with additional support from the National Science Foundation through a grant to Prof. Lorena A. Barba.
This workshop is open to any STEM faculty, not just engineers. We use the label “Engineers Code” in a project that is developing open learning modules (see our repository on GitHub), and the #EngineersCode hashtag on Twitter for announcing newly released content, and inviting a community.
The workshop will be held over three days on 25–27 March, 2020, at the George Washington University, in Washington, DC. We expect arrivals on Wednesday 03/25, for a start with lunch and afternoon activities. We will finish early afternoon on Friday 03/27 for folks to travel back on that evening. If you are traveling from farther away, and need to stay an extra night, that is OK, too.
Hotel: We have made a block booking at ARC The Hotel DC, 824 New Hampshire Ave NW, Washington, D.C. 20037. The hotel will bill us directly for your stay.
Funding is available to cover all costs of 20 to 25 participants (depending on actual travel costs), including: airfare and ground travel, lodging in Washington, and all meals.
This workshop is for faculty at any stage of their career, who are teaching in science, engineering, or related technical fields. The only pre-requisite is that you are still curious and eager to learn, and that you want to empower your students to be successful in this technology driven world of today. You do not need to be an experienced programmer, but you should have familiarity with technical computing. We will use Python and Jupyter as the programming language and environment.
See the list of participants (updated 03/09/2020)
Lorena A. Barba is a professor of mechanical and aerospace engineering at the George Washington University. Her research interests include computational fluid dynamics, biophysics, and high-performance computing. Barba received a PhD in aeronautics from the California Institute of Technology. Contact her at email@example.com.
For years now, we’ve been hearing calls for “learning to code.” These calls may be well-intentioned and worthwhile, but they miss the point—what we need is coding to learn. Computing can be a medium to express ideas, inferences, arguments, or commentaries about the physical world (and, indeed, about social worlds). A lot has been said about “computational thinking” and how it might be taught. We’ll have conversations about what computational thinking really means, its historical background, and the implications for STEM education.
This portion of the workshop aims to inspire the rest of it by illustrating “The Why” of our approach, philosophy, and methods to teach with computing.
Jupyter is an open-source software project, including an ecosystem of tools for interactive computing. At the center of this ecosystem is the Jupyter Notebook, a file format that allows for the coexistence of regular text-based content, multi-media content, and computation with its live output. Since the prelude project, IPython Notebooks, STEM educators have found exciting opportunities to use computational notebooks to present technical materials for students to explore.
Jupyter notebooks are at the center of a broad initiative to integrate data science in the undergraduate curriculum at the University of California Berkeley. There, and elsewhere, instructional teams began developing various tools to support the teaching mission, such as auto-graders. Many educators and community trendsetters began sharing educational content written as Jupyter notebooks, and this trend spread through technical conferences and coding bootcamps.
In this workshop, we will coach participants in the use of the full Jupyter ecosystem for teaching and learning, including best practices learned and shared by the pioneers. This includes Jupyter itself, extensions for auto-grading assignments using Jupyter, infrastructure solutions for computing in the cloud, and platforms for sharing content with students and the public.
This portion of the workshop will include a starter’s tutorial on using Jupyter, and thus is adequate for the uninitiated. Some programming background is necessary, ideally in Python, but you don’t have to be an expert.
When speaking about open education, most people think about open course-ware (OCW) or open educational resources (OER). Historically, the open-education movement was inspired by free and open-source software. This inspiration led to the drafting of standard public licenses for content, the Creative Commons licenses, and agreements on the open definition:
Open data and content can be freely used, modified, and shared by anyone for any purpose.
The predominant narratives about OER emphasize content, created to favor access, in an open model. But, unlike in open-source software, very little reuse occurs. This trend has missed important features of free and open-source software: open development, networked collaboration, community, and a value-based framework.
“Openness is about the possibilities of communicating with other people. It’s not about stuff, what you do with stuff. It’s about what you do with each other,” said Stephen Downes in a short video from 2017.
This portion of the workshop will help you answer the question: “Why open education?” It will introduce you to the open-source development model, and how open teaching and learning practices actively promote rich networks, lively communities, and fertile connections. That is the pedagogy of openness!
When teaching a new course or learning module, it’s often hard to adopt materials developed by others. We end up re-inventing the wheel, and writing material from scratch, when perhaps some really good material has been shared by others. The presenters in this workshop have developed openly licensed material that is meant to be reused. We want to coach participants on how to teach using these (and other) publicly available materials, how to make a “fork” of the materials to adapt to your own use, and potentially contribute improvements or variations in an open model.
Developing original content using Jupyter is fun! We have learned many tricks that could be helpful to participants: how to use version control with Jupyter notebooks, how to collaborate with others, how to build lessons using good instructional design, and how to share the materials with students. We will give an introduction to using GitHub to organize your class materials, and to track the progress of your development using the project-management tools provided by GitHub. We’ll also discuss some of the tools we use to develop student assignments using Jupyter, particularly to get these assignments auto-graded.
Laura and Megan are part of GW Libraries and Academic Innovation, which has been experimenting several models to meet the demand for coding instruction at GW. They turned Prof. Barba’s open curriculum, designed for teaching computational thinking foundations to first-year engineering students, into a three-day “Python Camp” open to everybody. Key components of the mini-course are:
Bios: Megan Potterbusch is a data services librarian at GW. She works with faculty and student researchers to access, manage, preserve, and share research data including support for understanding best practices and compliance requirements. As a Carpentries instructor, she teaches workshops on Python, version control, data cleaning, and research data management.
Laura Wrubel is a software development librarian at GW. She supports software applications, is a Carpentries instructor, and teaches workshops on Python, git, social media data, and computational topics for students, faculty, and library staff.
Ryan will present on major considerations as you design your courses to leverage technology. Key elements of his talk will include:
Bio: Ryan Watkins is a Professor of Educational Technology (MA) and Human-Technology Collaboration (PhD) at GW. He teaches instructional design, needs assessment, and research methods. He is an author of 12 books, including Teaching and Learning with Jupyter, and more than 100 articles related to improving learner and organizational performance. He is co-host of Parsing Science, a podcast about the stories behind today’s most compelling science. He also curates We Share Science and contributes to SciencePods.
Olivier and Natalia are senior graduate students in Barba’s group at GW. They have contributed to the educational mission of the group by co-authoring content, acting as teaching assistants, writing assignments, and more. They will lead an interactive session on:
nbgrader, the Jupyter extension for auto-grading notebooks via hidden tests.
Bios: Olivier Mesnard is a doctoral student at GW, doing research in computational fluid dynamics. He was teaching assistant with Prof. Barba in two graduate courses, which he then taught as instructor of record in 2019. Olivier is co-author of the AeroPython lessons in aerodynamics with Python.
Natalia Clementi is a doctoral student at GW, doing research in computational biophysics. She was teaching assistant with Prof. Barba in two undergraduate courses in engineering computations, and is co-author some of the Engineers Code learning modules
David will give a 30-min presentation, targeting:
Bio: David Lippert is a software engineer at Leidos in Arlington, Virginia. He uses Jupyter notebooks for prototyping, exploratory data analysis, evaluating machine learning algorithms, and sharing knowledge. He is an advocate for inclusion, as leader of his office’s intern program and yearly participant at diversity recruitment events.
Other guest talks to be announced.
Photo by Ridwan Meah on Unsplash
This workshop is sponsored by Leidos, Inc. Additional support by the National Science Foundation, through award 1730170 to Prof. Lorena A. Barba at the George Washington University.