I am excited to launch a new project this year: https://pointbreezepubs.gumroad.com/. This venture exists to publish booklets to help people learn how to use Python in science and engineering. Why am I doing this? I think computing skills are as important as domain knowledge today. I have spent the last 25 years learning how to use computing in science and engineering, and I have been teaching other people how to do that for the past 15 years. In that time huge changes have occurred in both hardware and software, data science and machine learning have emerged and they are playing a role almost everywhere. It has never been more important for people to learn how to use computers than it is today.
Solving science and engineering problems with computers requires first, and foremost, domain knowledge. Without that, you won't know what problem to solve, or know if the solution makes sense after you get it. It also requires complementary computational skills. Similar to a math education, where you first learn algebra, then geometry, and then calculus, you should not simply jump into data science or machine learning without a foundation of computational skills. I think of these skills like this:
Level 1 is basic programming in Python. Although everything rests on this foundation, this level alone does not solve many interesting problems in science and engineering. You have to combine this with some mathematical domain knowledge in level 2 to get to those. Levels 1 and 2 are adequate for many common science and engineering problems. If you move in a direction of specialization, especially using computers, it is often found that even though levels 1 and 2 are adequate, they may become tedious in large problems, or when used frequently. The solution is almost always to create an abstraction, a framework, that removes the tedium, and is more convenient to use. This is level 3. The abstraction hides a lot of detail, and can make it more difficulty to customize behavior, but the payoff is convenience. Finally, and this is debatable, I think level 4 contains today's machine learning frameworks. I separate them from level 3 because they are often used to write tools used in level 3, and they typically require skills that are not learned in level 2.
So how does Point Breeze Publishing help here? We have published the first step in this booklet:
These booklets come in two forms: PDF and ipynb. The first is traditional, and easy to read. The second format is less traditional, but it allows you to execute the code yourself to see how it works.
Over the next few weeks, I will publish these additional booklets, with some supplementary materials.
- Intermediate Python computations in science and engineering
- Python computations for lab courses
- Ordinary differential equations
- Optimization in Python
These booklets cover most of what chemical engineering undergraduate students need (my opinion of course), and lay a solid foundation for levels 3 and 4 as described above. These are not reference books, or documentation from the packages. They are a guided tour through the topics to help you get started, learn how to think about these topics, and become a self-learner in them.
Where to from here? Over the summer, I will work on some more advanced booklets on data science and machine learning. I will also explore some other ways to deliver these booklets. I use PDF and ipynb now because I know how to do it, but other options exist.
This whole venture is possible because of scimax, and I hope this becomes a route to publish books about using scimax for scientists and engineers.
Want to keep up with what we are doing?
- Head over to https://pointbreezepubs.gumroad.com/ and follow it.
- Head over to https://www.youtube.com/channel/UCQp2VLAOlvq142YN3JO3y8w and follow the channel.
- Follow me at https://twitter.com/johnkitchin
- Follow me at https://www.linkedin.com/in/john-kitchin-6b959038/
If you are in those places, you won't miss what is happening! Thanks for coming along!
Copyright (C) 2022 by John Kitchin. See the License for information about copying.
Org-mode version = 9.5.1