Engineers Code: re-usable, open educational modules for engineering undergraduates
Talk at the 2018 SciPy Conference, July 2018
Many SciPy community members are also educators, and some have been teaching with Python for years. Yet, it is still somewhat rare to find good Python instruction, embedded in the undergraduate experience, at traditional engineering schools. We can transform engineering education by integrating computing across the curriculum, but how to do it? One idea is making open instructional materials that are designed to be reusable, together with community efforts to share good practices for teaching with them. “Engineers Code” (aka The Code Maker) is a new initiative to develop re-usable modules meant to integrate computing in the undergraduate engineering curriculum. Some key concepts and design principles are:
(1) the idea of “computable content”—educational content made powerfully interactive via compute engines in the learning platform—using Jupyter;
(2) the idea of open pedagogy: reflecting in the teaching practice the ethos and practices of open source software;
(3) modularization: creating stackable learning modules that break-up the standard “course” format;
(4) harnessing the “worked-example effect,” empirically shown to be superior to problem-solving for novice learners;
(5) using live-coding to structure active-learning class experiences;
(6) guiding learners to document their own work, also on Jupyter.
Last Fall, we developed three modules, adding up to about a semester-length course, for second-year engineering students. The materials are openly available at: https://github.com/engineersCode/EngComp. We’re also creating open online courses in our Open edX platform with the learning modules (anyone can join). The first module is coming together here: https://openedx.seas.gwu.edu/courses/course-v1:GW+EngComp1+2018/about
In the talk, I want to share not only the concepts and design principles just described, but also practical suggestions for adopting the modules, and for creating your own. My recipe is:
* Break it down into small steps
* Chunk small steps into bigger steps
* Add narrative and connect
* Link out to documentation
* Interleave easy exercises
* Spice with challenge questions/tasks
* Publish openly online!
In the end, I aim to start a community of educators sharing and remixing learning modules like these, to teach engineering subjects at all levels. The goal of this talk is to set in motion the conversations that can create this community.