Asee peer logo

Python for chemical engineers: an efficient approach to teach non-programmers to program

Download Paper |

Conference

2022 Spring ASEE Middle Atlantic Section Conference

Location

Newark, New Jersey

Publication Date

April 22, 2022

Start Date

April 22, 2022

End Date

April 23, 2022

Page Count

12

DOI

10.18260/1-2--40065

Permanent URL

https://peer.asee.org/40065

Download Count

2630

Request a correction

Paper Authors

biography

Gennady Gor New Jersey Institute of Technology

visit author page

Dr. Gennady Gor received Ph.D. in theoretical physics from St. Petersburg State University, Russia in 2009. He continued his postdoctoral research in the United States, at Rutgers University, Princeton University and Naval Research Laboratory. In 2016 he joined the Chemical and Materials Engineering department at NJIT as an assistant professor. He authored more than 60 peer-reviewed publications, and is the recipient of the National Research Council Associateship (2014) and the NSF CAREER Award (2020). Dr. Gor's Computational Laboratory for Porous Materials employs a set of modeling techniques, such as Monte Carlo and molecular dynamics simulations, density functional theory and finite element methods, to study materials ranging from nanoporous adsorbents to macroporous polymers and geological porous media.

visit author page

Download Paper |

Abstract

Modern engineering calculations are hard to imagine without a flexible and efficient programming language. Python is such a language. Python is open source, free, easy to learn, and simple to use. These factors make Python one of the most popular programming languages in the world, highly demanded by employers. However, most undergraduate programming courses for engineers focus on languages other than Python.

In this presentation I will share the outcome of the successful experiment on developing and teaching a new course “Python for Chemical Engineering calculations”, which was offered in spring 2021 as a 3-credit undergraduate elective. The goal of this course is to introduce undergraduate chemical engineering students to Python and demonstrate how it can be used for solving a spectrum of chemical engineering problems. The example problems were taken from the undergraduate chemical engineering curriculum, e.g., from such courses as Chemical Engineering Thermodynamics, Fluid Flow, Kinetics and Reactor Design, etc. Lectures and practical sessions were complemented by six guest lectures delivered by engineers working in industry who illustrated the use of Python in their jobs.

Not only the course content differed from a conventional programming course, but the course delivery method was also unconventional. The course was offered in spring 2021, when all the classes were taught in the synchronous online mode, so was this course. I used the “flipped classroom” approach, so that the students watched the short tutorial videos before each class. Classes typically started from short quizzes based on the videos, after which the class time was utilized for hands-on activities. An online setting with the “break-out rooms” provided a perfect environment to give feedback to students on their code. In addition to quizzes on syntax and in-class coding activities, the assessment included a midterm and a final exam. Each of the exams had two parts: a “take-home” coding assignment, and an oral defense of the resulting code.

As seen from the official course evaluations, the course was very well received by the students. They spoke highly of the strong connection between programming and chemical engineering curriculum, which was impossible to see from taking a generic programming course. Guest lectures was another aspect enjoyed by many. Finally, the flipped classroom which provided a lot of time for in-class activities appealed to the students a lot. Based on this success, I will utilize the course materials and the overall approach to revamp the core undergraduate course “Chemical Engineering Computing”.

Gor, G. (2022, April), Python for chemical engineers: an efficient approach to teach non-programmers to program Paper presented at 2022 Spring ASEE Middle Atlantic Section Conference, Newark, New Jersey. 10.18260/1-2--40065

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2022 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015