python for scientists & engineers · 2020. 2. 27. · python for scientists & engineers a...

20
PYTHON FOR SCIENTISTS & ENGINEERS COURSE GUIDE (V2): JANUARY – JULY 2020 © 2020 PYTHON CHARMERS

Upload: others

Post on 23-Aug-2020

36 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

PYTHON FOR SCIENTISTS & ENGINEERS

COURSE GUIDE (V2): JANUARY – JULY 2020© 2020 PYTHON CHARMERS

Page 2: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Python for Scientists & EngineersA specialist course

Audience: This is a course for scientists and engineers interested in us-ing Python for solving computational problems and processing, analyz-ing, visualizing, and modelling different kinds of scientific data.

Context: In the last 15 years Python has become the go-to language for scientific and engineering computing, with a powerful ecosystem of high-level libraries for easily solving a wide range of problems.

Overview: You will gain a broad understanding of methods and tools in modern scientific computing, including simulation and machine learning. You will also come to appreciate the elegance and power of the Python language and its powerful ecosystem of packages.

Format: Each topic is a mixture of hands-on exercises, expert instruc-tion, and demos.

Duration: 5 days

Expert instructors: See bios below.

Modules: Days 1–5: “Python for Scientists & Engineers” Days 1–4: “Python for Predictive Data Analytics” Days 1–2: “Introduction to Python” Day 5 only: for graduates of “Predictive Data Analytics” Days 3–5: for graduates of “Introduction to Python”

Price: Regular course (5 days): $3,500 (excl GST) Modular / partial courses: $800 (excl GST) per day

Venues: modern computer-based training facilities (CBD locations)

Dates and locations in 2020: Melbourne: 23–27 March, 1–5 June 2020 Sydney: 20–24 April, 6-10 July 2020 Canberra: 22–26 June 2020

Page 3: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Skills & Activities

Days 1–2: You will gain a solid understanding of the Python language and experience using Python for a wide range of scripting and da-ta-manipulation tasks with data in a variety of useful formats; and cre-ating beautiful statistical graphics.

Day 3: You will learn about time-series analysis; manipulating vector/matrix data; performing Monte Carlo simulations; constructing statisti-cal models; linear regression; clustering; outlier / anomaly detection.

Day 4: You will learn how to use machine learning to construct pow-erful predictive models using classification and nonlinear regression; feature selection and feature engineering; and how to evaluate and deploy machine learning models in production.

Day 5: You will learn about how to achieve huge speedups for slow numerical code and how to parallelise computationally intensive tasks with large datasets across several cores/processors or distribute them across a cluster of machines.

Exercises: There will be practical exercises throughout the training course. These will be challenging and fun, and the solutions will be discussed after each exercise and provided as source code. During the exercises, the trainer will offer help and suggestions.

Worked examples: To prepare you for the exercises, the trainer will present worked examples and demos and help you to follow along on your own computer.

Personal help: We are happy to offer on-the-spot problem-solving after each day of the training. If you have particular goals or requests and would like us to prepare in advance, please send us these before the training course.

Skills Activities

Page 4: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Topic outlineDay 1: Python basics

Day 1 covers how to use Python for basic scripting and automation tasks, including tips and tricks for making this easy: • Why Python? What’s possible? • The Jupyter notebook for rapid prototyping; automated reporting • Modules and packages • Python concepts: an introduction through examples • Essential data types: strings, tuples, lists, dicts • Worked example: fetching real-time data from a REST web API • Raising and handling exceptions

Page 5: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Topic outlineDay 2: Handling, analyzing, and presenting data in Python

Python offers amazingly productive tools like Pandas for working with differ-ent kinds of data. Day 2 gives a thorough introduction to analyzing and visual-izing data easily:

• Reading and writing common tabular data formats: CSV, Excel, SQL, time-series (others on request) • Indexing and selecting data in Pandas • Data fusion: joining & merging datasets • Pivot tables; aggregation with “group by” operations • Visualization and statistical graphics with Seaborn

• Creating interactive dashboards with ipywidgets and voila

Page 6: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Topic outlineDay 3: Time-series, simulation, inference and modelling

Day 3 shows you how to manipulate time-series and matrix/vector data easily. It then describes simulation methods and walks you through using powerful methods of inference and modelling:

• Time-series analysis: parsing dates; resampling; interpolation; joining

• Introduction to NumPy for manipulating vector and matrix data: data types, powerful indexing, reshaping, ufuncs

• Monte Carlo simulation and applications

• Statistical modelling and density estimation with scipy and scikit-learn

• Linear regression with statsmodels

• Clustering, with applications

• Outlier and anomaly detection

Page 7: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Topic outlineDay 4: Machine learning

Day 4 gives you a practical and comprehensive introduction to machine learning for powerfully inferring complex models from data. Examples focus on applications of classification and regression to various datasets, including time-series and spatial datasets:

• Overview and intuition behind ML

• Overview of the ML package ecosystem in Python

• Classification with scikit-learn: Naive Bayes, logistic regression, SVMs, random forests Application to diagnosis, AI systems, and time-series prediction

• Nonlinear regression, with application to forecasting

• Validation and model selection; diagnostic tools: yellowbrick

• Feature engineering and selection; eli5

• Deploying machine learning models in production

Page 8: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Topic outlineDay 5: Scientific computing with Python

Day 5 teaches you specialized tools in Python for scientific and engineering computing. It gives you a comprehensive introduction to SciPy and the broad-er package ecosystem and teaches you how to scale up from small datasets to large ones that are too big for memory or too slow for one computer to pro-cess:

Morning: scientific computing

• Tour of SciPy and related packages, with fancy demos: • interpolation (e.g. for gridded data) • dense & sparse linear algebra • signal & image processing • optimization and curve fitting • handling scientific units and uncertainties

Afternoon: scaling up

• Speeding up code by 4x to 10,000x: • profiling, vectorization, JIT compilation with numba • parallel and distributed computing with dask

Page 9: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Supplemental materials

We will provide you with printed course notes, cheat sheets, and a USB stick containing kitchen-sink Python installers for multiple platforms, solutions to the programming exercises, several written tutorials, and reference documentation on Python and the third-party packages covered in the course.

Page 10: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Ed has consulted to or trained over 2500 people from dozens of organisations in data analytics using Python, including Atlassian, Barclays, Cisco, CSIRO, Dolby, Harvard University, IMC, Singtel Optus, Oracle, Shell, Telstra, Toyota, Verizon, and Westpac. He is well-known in the Python community as a former release manager of SciPy and the author of the widely used future package. He regularly presents at conferences in data science and Python in Australia and internationally.

Ed holds a PhD in machine learning from Imperial College London. He also holds BA and MA (Hons) degrees in mathematics and computer science from Trinity College, University of Cambridge. He has 20+ years of experience in programming, teaching, and public speaking.

Dr Edward Schofield

Instructor bio

Page 11: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Instructor bio

Henry has almost 15 years of experience in Python application development and has trained hundreds of people in how to use Python from organisations including AGL, the Bureau of Meteorology, ESRI, the NSW Department of Finance, National Australia Bank, and Telstra.

Henry’s core technical expertise relates to the development and analysis of large scale spatial datasets (primarily using Python), and communicating this understanding to both subject matter experts and the general public.

Before joining Python Charmers, Henry worked in both government and industry — at Geoscience Australia, the Victorian Department of Sustainability and Environment, and the Environmental Protection Agency (EPA); as a consultant with Sinclair Knight Merz (SKM), a manager at we-do-IT, and as CTO of a startup. He holds a Bachelors in Computational Science.

Henry Walshaw

Page 12: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Robert is the author of the book “Data Mining in Python”, published by O’Reilly. He provides analysis, consultancy, research and development work to businesses, primarily using Python. Robert has worked with government, financial and security sectors, in both a consultancy and academic role. He is also a Research Fellow at the Internet Commerce Security Laboratory, investigating cybercrime analytics and data-mining algorithms for attribution and profiling.

Robert is a contributor to the Python-based scikit-learn open source project for machine learning and writes regularly on data mining for a number of outlets. He is also the author of the website “LearningTensorflow.com”. He has presented regularly at a number of international conferences in Python, data analysis, and its applications.

Dr Robert Layton

Instructor bio

Page 13: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Juan Nunez-Iglesias is co-author of the book Elegant SciPy, published by O’Reilly Media. Juan is a core developer of the scikit-image Python library, and has contributed to many others in the scientific Python ecosystem, including SciPy, NetworkX, and Matplotlib. He has taught and presented at the SciPy conference in Austin, EuroSciPy, PyCon Australia, the Advanced Scientific Programming in Python summer school, and Software Carpentry workshops.

Juan is a research fellow at Monash University, with interests in neuroscience and biological image analysis. He also has a particular interest in renewable energy and the environment.

Juan has Bachelor’s degree in Biomedical Science from the University of Melbourne and both an MSc in Statistics and PhD in Computational Biology and Bioinformatics from the University of Southern California.

Dr Juan Nunez-Iglesias

Instructor bio

Page 14: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Instructor bio

Errol is a computational neuroscientist currently completing doctoral studies at the University of Melbourne on visual processing in the brain. He has been using Python for modelling neurological systems, digital signal processing, data analysis, and empirical research for 7 years.

Prior to joining Python Charmers in 2020, Errol trained fellow researchers from both the sciences and the humanities in a variety of software solutions to research problems, including data and natural language analysis in Python, data visualisation, interactive dashboards with front-end JavaScript, and version control and collaboration with Git.

Errol is an advocate for open source software and reproducible research in science, and is passionate about empowering others to use code in enhancing their productivity.

Errol Lloyd

Page 15: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Janis is a software developer who has been using Python since 2005. He has worked on several high-end Python projects across a variety of software industry sub-sectors, including: mathematical optimization engines for logistics, a game theory solver, a variety of backend web apps with Django and Flask, and as a scalability consultant improving Python performance.

Janis loves open source and is the author of several open source Python projects on GitHub. He is involved in education in several ways: in an in-house capacity as a Python consultant, as a regular blogger, as a volunteer for events like Django Girls and Python community workshops, and as a frequent presenter about Python at local meetup events.

Janis is a co-founder of the Custom Programming Solutions consulting group and joined Python Charmers as a trainer in 2018.

Janis Lesinskis

Instructor bio

Page 16: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Instructor bio

Clare conducts research into algorithms and in the application of machine learning to genomics, primarily using Python. She co-organised the Python in Science and Data Miniconf for PyCon AU from 2015–2017 and regularly gives talks at conferences and community events in genomics and data analytics with Python and other open source tools.

Clare holds a BSc and PhD in computational physics from the University of NSW, Australia. Her thesis was on the properties of quantum dots and quantum point contacts using analytical and computational techniques.

Dr Clare Sloggett

Page 17: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Computer: A computer and internet connection will be provided for you during the course.

Timing: The course will run from 9:00 to roughly 17:00 each day, with breaks of 50 minutes for lunch and 20 minutes each for morning and afternoon tea.

Venue: our modern partner training facilities (CBD locations)

Food and drink: We will provide lunch, morning and afternoon tea, and drinks.

Certificate of completion: We will provide you a certificate if you complete the course and successfully answer the majority of the exercise questions.

Other information

Page 18: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

About Python Charmers

Python Charmers is the leading provider of Python training in the Asia-Pacific region, based in Australia and Singapore. Since 2010, Python Charmers has given over 400 training courses and bootcamps to over 4000 delighted people from organizations such as AGL, Atlassian, Barclays, CSIRO, Cisco, Deloitte, Dolby, IMC, pwc, Singtel Optus, Shell, Sportsbet, Telstra, Toyota, Verizon, Westpac, and Woolworths. Python Charmers specializes in teaching programming and data science to scientists, engineers, data analysts, quants, and computer scientists in the Python language.

Python Charmers’ trainers boast years of Python experience and deep roots in the open source community, as both speakers at events and contributors to well-known open source projects, including NumPy, SciPy, Scikit-Learn, Pandas, and Python-Future.

Page 19: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-

Testimonials: Testimonials from past participants of similar bootcamps and training courses are available at

https://pythoncharmers.com/testimonials/

Questions: We are happy to customise this program further on request. Please let us know if you would like to discuss this or have any other questions.

Contact:Phone: +61 1300 963 160Email: [email protected]: pythoncharmers.com

Page 20: PYTHON FOR SCIENTISTS & ENGINEERS · 2020. 2. 27. · Python for Scientists & Engineers A specialist course Audience: This is a course for scientists and engineers interested in us-