Have you heard coworkers talking about using Python for scientific computing and wondered how you could master this powerful tool? Are you self-taught in Python and want to fill in the gaps in your knowledge to improve your ability in scientific, engineering, or financial analysis? Do you know C, C++, or Fortran and wonder what all the fuss is about Python? Are you a master at implementing data analysis with spreadsheets and macro-programming, yet you suspect there's a better way to do your job that doesn't involve copies of copies of copies of files? If any of these is true, then Python Foundations for Scientists & Engineers is for you!
In Diller Digital's Python Foundations for Scientists and Engineers, we introduce the Python language from the foundation up, not only showing you how to accomplish many tasks around reading, writing and manipulating data to implement analysis workflows, but also explaining the why of the language, teaching you the principles and the thinking that went into Python's design so you understand how to make the best use of its features.
One of the neat things about the Python language is the way that so much of it is expressed in the built-in data types it offers. With that in mind, we will spend the first couple of days laying the foundation with a thorough understanding of how data is represented and used in Python. We firmly believe that solid analysis begins with solid understanding of the data and how to represent it (the "data model"). We'll talk about the built-in Python types, when to use them and why; that sets us up by the end of the course to understand the beauty and power of the NumPy array.
We'll learn the language syntax and get a lot of practice using it in different ways. For each new skill, you'll see it, hear it explained, and then follow along with your instructor before trying it on your own. At each stage, you'll gain a resolution or answer to any problems or questions you encounter.
You'll get an engineer-friendly introduction to Object Oriented Programming (OOP). Your main instructor, Tim, was once frustrated and confused by the concepts of OOP but over time learned to love Python's object model and the way it expresses OOP. You'll see how OOP enables scientific computation. Bring your OOP skepticism to the class and see if you don't fall in love with Python's way of handling type, identity, and value!
No Question Left Unanswered
At Diller Digital, we love questions! If you have the question, chances are good someone else in the class has it, too, and they'll thank you for speaking up. Your instructor will recognize the teaching opportunity and happily provide an answer, or probably show you how to find the answer, or maybe give a fellow student an opportunity to practice answering. Interactivity and responsiveness are our watchwords. This is the big difference between taking our classes versus relying on pre-recorded sessions, books, or blog-posts. At Diller Digital, we recognize you are an individual with particular problems you're trying to solve, you have your own history and context, and you have particular goals for the class. We are here to help you meet them.
By the end of the class, you'll have confidence to write scripts that can implement many useful workflows, both for text and numerical manipulations; you'll understand the principles of fast, efficient scientific computing with NumPy; you'll understand the basics of plotting in Matplotlib and know how to teach yourself whatever other kind of plotting you need. Most of all, you will have written code you can refer back to later, answers to your questions, and skills to improve your own self-learning as you move forward.
Useful on its own, Python Foundations will also set you up for the Data Analysis with Pandas, Software Engineering, and Machine Learning classes offered by Diller Digital. Check the Course Catalog to see when these classes are offered next!
"Tim was a fantastic teacher. I really was unsure about what I was going to be learning in the course and initially was worried there would be a lot of coding without much guidance. Tim instead lectured and provided a lot of insight and direction, making it easy to take notes and have a seamless learning experience each day. "
- Engineer in IT Operations
"The instructor was excellent. He was able to teach in a way that was very understandable for beginners as well as answer more detailed questions from those who had more experience."
- Engineer at a US national Lab
"This was a great intro to Python I started this class with zero knowledge and have formed a great base. "
- Justin, analyst at a US-based financial institution