Course Descriptions
Python Foundations | Data Analysis | Software Engineering | Machine Learning | Deep Learning |
Course OverviewBased on the Enthought Academy course of the same name, Python Foundations for Scientists and Engineers provides people with prior coding experience with the foundational knowledge needed to use Python and key scientific Python libraries for data processing, analysis, and Visualization. This course uses a combination of lecture, live coding, and hands-on exercises to teach you basic skills and give you a chance to cement them with practice. If you program in another language, this class will help you transition to using Python. If you already know some Python, but are mostly self-taught, this course will help fill in the gaps in your knowledge. PrerequisitesExperience with Python is helpful (but not required). However, prior programming experience in some other language (e.g., C/C++, FORTRAN, Java, MATLAB, R, etc.) is expected. In particular, participants need to be comfortable with general programming concepts like variables, loops, and functions. Lectures
Packagesmatplotlib, numpy, pandas |
||
Course OverviewBased on the Enthought Academy course of the same name, Data Analysis with Pandas for Scientists and Engineers is designed in two parts. The first part presents a typical data analysis workflow with the foundational ideas behind each step. Here students will be presented with major concepts and given short exercises to practice those ideas with NumPy, Pandas, and XArray. The second part of the course is a practicum in which the workflow is used in conjunction with Pandas to work through a small data analysis project from beginning to end. Here, each session will remind students of the main workflow, teach how Pandas approaches that specific step, and then allow the students to put what they have learned into practice. In the end, the students will have built an end-to-end data analysis workbook that can be used as a basic template for other data analysis projects. Many students pair this course with Machine Learning for Scientists & Engineers and/or Deep Learning for Scientists and Engineers to master the workflow of preparing machine learning-ready data sets. PrerequisitesThis course requires basic proficiency with Python and the scientific Python stack. Some practical experience with Jupyter Notebooks, NumPy (ndarrays), Pandas (DataFrames), and scientific visualization in Python using Matplotlib are essential to working with the code and concepts presented in this course. If you have taken Enthought’s Python Foundations for Scientists and Engineers, you have the requisite background knowledge for this course. Lectures
Packagesnumpy, pandas, xarray |
||
Course OverviewBased on the Enthought Academy course of the same name, Software Engineering for Scientists and Engineers is a short course on the art of writing maintainable software, taught in Python, with a focus on science and engineering workflows. Software that is not written with maintenance in mind can be a source of pain for years or decades. This course will teach you best practices, recommend good habits, and get you thinking about how to make quality software that can be used, referenced, and kept in working order long after the original author(s) have moved on. PrerequisitesThis course requires basic proficiency with Python and the scientific Python stack. Some practical experience with standard Python, NumPy (ndarrays), and Pandas (DataFrames) are essential to working with the code and concepts presented in this course. All the examples and exercises use Python code and Python tools, even though many of the principles are useful for all languages. If you have taken Python Foundations for Scientists & Engineers, you have the requisite background knowledge for this course. Lectures
Packagesblack, click, flake8, logging, pdb, profile, sphinx, unittest |
||
Course OverviewBased on the Enthought Academy course of the same name, Machine Learning for Scientists & Engineers provides scientists and engineers with a practical introduction to classical machine learning using Scikit-learn. The course focuses primarily on supervised learning, starting with Regression and then moving into Classification. A major focus of the class is effective Feature Engineering, with hands-on practice and live demos of Univariate, Bivariate, and Multivariate analysis and feature engineering. Using concrete examples (including, literally, a multi-part guided demo using data from a study of variation in concrete strength with composition) we lay a solid foundation for building machine learning models and workflows. There are many exercises and demos, and students are encouraged to follow along with their own copies of the Jupyter Notebooks and ask questions to make sure they are comfortable with the material. Students will complete the class, not only with knowledge of the fundamentals of Machine Learning, but also with a rich collection of annotated examples and evaluation tools to use in their own future projects. Toward the end of the course, some unsupervised machine learning strategies will also be covered as time and interest allow. PrerequisiteThis course requires basic proficiency with Python and the scientific Python stack. Some practical experience with Jupyter Notebooks, NumPy (ndarrays), Pandas (DataFrames), and scientific visualization in Python using Matplotlib are essential to working with the code and concepts presented in this course. If you have taken Python Foundations for Scientists & Engineers, you have the requisite background knowledge for this course. This course pairs well with Data Analysis with Pandas for Scientists & Engineers, which focuses on the workflow to prepare machine learning-ready data sets. Lectures
Packagesscikit-learn, seaborn |
||
Course OverviewBased on the Enthought Academy course of the same name, Deep Learning for Scientists & Engineers provides students with a practical introduction to deep learning using Keras and TensorFlow. Deep Learning is a specific sub-discipline of Machine Learning that makes use of neural networks, a class of model architectures with similarities to the human brain and nervous system. This course focuses on modeling with neural networks. We will begin by building a solid foundation of the basics of deep learning and will gradually progress into more advanced topics like model training and evaluation. While the course emphasizes a practical approach to deep learning, there are times where just enough theory is covered to understand the "why" behind certain modeling procedures. PrerequisiteThis course requires basic proficiency with Python and the scientific Python stack. Some practical experience with Jupyter Notebooks, NumPy (ndarrays), Pandas (DataFrames), and scientific visualization in Python using Matplotlib are essential to working with the code and concepts presented in this course. If you have taken Python Foundations for Scientists and Engineers, you have the requisite background knowledge for this course. While not a strict requirement, it is strongly recommended to have taken Machine Learning for Scientists and Engineers (or have a working knowledge of basic machine learning principles) prior to taking this course. This course pairs well with Data Analysis with Pandas for Scientists & Engineers, which focuses on the workflow to prepare machine learning-ready data sets. Lectures
Packagestensorflow |