Kitchin develops STEM-focused Python course

Ryan Noone

Mar 7, 2022

stock image of a person coding - hands on computer
Carnegie Mellon Chemical Engineering Professor, John Kitchin, is carving out a path for scientists and engineers to learn the computer programming language, Python.
"Python is used for everything from web programming to app development, and increasingly for science and engineering computations (pycse)," says Kitchin.
In his new nine-booklet series, he combines over 20 years of knowledge with an easy-to-follow, step-by-step approach for learning the language.
"This isn't a generic course where you're forced to learn everything or have to sift through to find what's relevant to you. This series is aimed at teaching Python in relation to computing in science and engineering, creating a focused way to gain the knowledge necessary to excel in these areas."
graphic showing Kitchin's roadmap for learning python

Source: John Kitchin

As illustrated in the image above, Kitchin breaks down the information into three levels. The first is what Kitchin refers to as the basic foundation of programming, containing the vast majority of what most scientists and engineers need for their daily work. However, Kitchin explains that most resources only focus on the bottom level, omitting the plotting and numerical methods portion of layer one.
"You can think of plotting and numerical methods as building blocks," said Kitchin. "Once you know all of the pieces, you can put them together in very sophisticated ways. However, more often than not, people don't want to do all of that work regularly."
Level 2 combines these building blocks into code that is easier to use, hiding some of the complexities and creating fewer opportunities to make errors.
"It's like going out and buying a new instrument. It's more complicated underneath the hood, but it makes your job much easier," says Kitchin. "No one wants to build an instrument if you can buy one, and that's what level 2 is."
But Kitchin warns that without fully understanding the building blocks of Python, it can become challenging to understand what isn't working when computations go awry.
"Learning about plotting and numerical methods will help you understand what the issue is when things go wrong, giving you the tools and knowledge needed to fix it."
Once you've mastered levels one and two, Kitchin says there is an opportunity to explore the highest level of computer programming, machine learning.
"Not everyone needs to understand machine learning, but it is important to know that it exists, that people are working at this level and that you can be one of them if you want to!"
The course also offers the unique opportunity to gain hands-on programming experience. Users can run and edit code using the Jupyter Notebook tool, allowing them to follow along with the text or venture off and develop their own.
"The only real way to learn how to code is by running, writing and using it yourself," says Kitchin.
To learn more about the course and get started programming, visit Kitchin's website, Point Breeze Publishing.