(232e) Instructional Videos and Interactive Notebooks for Learning Coding Concepts in Chemical Engineering Analysis | AIChE

(232e) Instructional Videos and Interactive Notebooks for Learning Coding Concepts in Chemical Engineering Analysis


Wilhelm, M. - Presenter, University of Connecticut
Wang, C., University of Connecticut
Stuber, M., University of Connecticut
In many departments, a numerical methods course is used to introduce students to the key mathematical concepts and computational methods underlying modern process simulation and optimization software. The variety of course materials and covered topics present two significant challenges. First, pedagogical practices in mathematics, such as using a simple example to illustrate a concept, are often at odds with our student’s notion of an authentic engineering experience. Next, the coding proficiency of students entering this course may widely vary from having functionally no programming experience to a high level of competence regardless of established prerequisites. As a result, it may be quite easy for students to get lost in the details of resolving a simple bug and lack the confidence required to see, correct, and learn from a methodological mistake.

In this talk, we’ll detail our efforts at the University of Connecticut to improve a numerical methods course using a two-fold approach which consists of deploying a series of notebook-based coding assignments and developing complementary instructional videos. Notebook-based assignments make use of literate programming environments in Matlab and Julia. These consist of a template containing a series of code fragments with expository text and images, along with explicitly defined educational outcomes focused around coding skills. These template assignments are scaffolded in a manner that allows the instructor to distribute the burden of re-acquainting students with basic programming concepts over a series of assignments without the need to reteach programming skills explicitly at the start of the semester. We have found that template assignments naturally make the instructor consider transparent educational outcomes with respect to programming skills. Rather than taking the more traditional immersion-based approach, we have aligned our scaffolded approach with modern pedagogical theories of programming instruction.

In addition to literate programming environments, the students are provided with a series of video modules which provide an in-depth tutorial. This allows the instructor to model how a complicated problem is abstracted to a simpler one and the appropriate subject-area knowledge can be applied to address it. Over the course of the semester, the scaffold is removed as students become more confident in their abilities and better able to address more open-ended assignments. This helps to alleviate the degree to which an instructor is constrained by substantially revisiting prior programming concepts. Preliminary results, based upon survey data and assessment, suggest that students opt in to this more structured approach, and when they do, they increase their competency and self-efficacy.