ONLINE COURSE – Introduction to Scientific, Numerical, and Data Analysis Programming in Python (PYSC02) This course will be delivered live
14 April 2021 - 15 April 2021£275.00
This course will now be delivered live by video link in light of travel restrictions due to the COVID-19 (Coronavirus) outbreak.
This is a ‘LIVE COURSE’ – the instructor will be delivering lectures and coaching attendees through the accompanying computer practical’s via video link, a good internet connection is essential.
TIME ZONE – UK local time (GMT+0) – however all sessions will be recorded and made available allowing attendees from different time zones to follow a day behind with an additional 1/2 days support after the official course finish date (please email firstname.lastname@example.org for full details or to discuss how we can accommodate you).
Python is one of the most widely used and highly valued programming languages in the world, and is especially widely used in data science, machine learning, and in other scientific computing applications. In order to use Python confidently and competently for these applications, it is necessary to have a solid foundation in the fundamentals of scientific, numerical, and data analysis programming Python. This two day course provides a general introduction to numerical programming in Python, particularly using numpy, data processing in Python using Pandas, data analysis in Python using statsmodels and rpy2. We will also cover the major data visualization and graphics tools in Python, particularly matplotlib, seaborn, and ggplot. Finally, we will cover some other major scientific Python tools, such as for symbolic mathematics and parallel programming and code acceleration. Note that in this course, we will not be teaching Python fundamentals and general purpose programming, but this knowledge will be assumed, and is also provided in a preceding two-day course.
THIS IS ONE COURSE IN OUR R SERIES – LOOK OUT FOR COURSES WITH THE SAME COURSE IMAGE TO FIND MORE IN THIS SERIES
This course is aimed at anyone who is interested in learning the fundamentals of Python generally and especially for ultimately using Python for data science and scientific applications. Although these applications are not covered directly here, but are covered in a subsequent course, the fundamentals taught here are vital for master data science and scientific applications of Python.
Venue – Delivered remotely
Time zone – GMT
Availability – TBC
Duration – 2 days
Contact hours – Approx. 15 hours
ECT’s – Equal to 1 ECT’s
Language – English
PLEASE READ – CANCELLATION POLICY: Cancellations are accepted up to 28 days before the course start date subject to a 25% cancellation fee. Cancellations later than this may be considered, contact email@example.com. Failure to attend will result in the full cost of the course being charged.
Dr. Mark Andrews
Works at – Senior Lecturer, Psychology Department, Nottingham Trent University, England
Teaches – Introduction to statistics using R and Rstudio; Introduction data visualization using GG plot 2; Introduction data wrangling using R and Rstudio; Introduction to generalised linear models using R and Rstudio; Introduction to mixed models using R an d Rstudio; Introduction to Bayesian data analysis for social and behavioural sciences using R and Stan; Structural Equation Models, Path Analysis, Causal Modelling and Latent Variable Models Using R; Generalised Linear, Nonlinear and General Additive Models; Python for data science, machine learning, and scientific computing
Mark Andrews is a Senior Lecturer in the Psychology Department at Nottingham Trent University in Nottingham, England. Mark is a graduate of the National University of Ireland and obtained an MA and PhD from Cornell University in New York. Mark’s research focuses on developing and testing Bayesian models of human cognition, with particular focus on human language processing and human memory. Mark’s research also focuses on general Bayesian data analysis, particularly as applied to data from the social and behavioural sciences. Since 2015, he and his colleague Professor Thom Baguley have been funded by the UK’s ESRC funding body to provide intensive workshops on Bayesian data analysis for researchers in the social sciences.
The course will take place online using Zoom. On each day, the live video broadcasts will occur during UK local time (GMT+0) at:
All sessions will be video recorded and made available to all attendees as soon as possible, hopefully soon after each 2hr session.
If some sessions are not at a convenient time due to different time zones, attendees are encouraged to join as many of the live broadcasts as possible. For example, attendees from North America may be able to join the live sessions from 3pm-5pm and 6pm-8pm, and then catch up with the 12pm-2pm recorded session once it is uploaded. By joining live sessions attendees will be able to benefit from asking questions and having discussions, rather than just watching prerecorded sessions.
At the start of the first day, we will ensure that everyone is comfortable with how Zoom works, and we’ll discuss the procedure for asking questions and raising comments.
Although not strictly required, using a large monitor or preferably even a second monitor will make the learning experience better
All the sessions will be video recorded, and made available immediately on a private video hosting website. Any materials, such as slides, data sets, etc., will be shared via GitHub.
Assumed quantitative knowledge
We will assume only a minimal amount of familiarity with some general statistical and mathematical concepts. These
concepts will arise when we discuss numerical computing, symbolic maths, and statistics and machine learning.
However, expertise and proficiency with these concepts are not necessary. Anyone who has taken any undergraduate
(Bachelor’s) level course on (applied) statistics or mathematics can be assumed to have sufficient familiarity with these concepts.
Assumed computer background
We assume familiarity with using Python and knowledge of general purpose programming in Python. This topics are
covered comprehensively in a preceding two-day course, which will provide all the prerequisites for this course.
Equipment and software requirements
Attendees of the course must use a computer with Python (version 3) installed. All the required software, including Python itself, the development and programming environment tools, and the Python packages, are free and open source and are available on Windows, MacOs, and Linux. Instructions on how to install and configure all the software
will be provided before the start of the course. We will also provide time during the workshops to ensure that all
software is installed and configured properly.
UNSURE ABOUT SUITABLILITY THEN PLEASE ASK firstname.lastname@example.org
Wednesday 14th – Classes from 12:00 to 20:00
Topic 1: Numerical programming with numpy. Although not part of Python’s official standard library, the numpy
package is the part of the de facto standard library for any scientific and numerical programming. Here we will
introduce numpy, especially numpy arrays and their built in functions (i.e. “methods”). Here, we will also consider how to speed up numpy code using the Numba just-in-time compiler.
Topic 2: Data processing with pandas. The pandas library provides means to represent and manipulate data frames.
Like numpy, pandas can be see as part of the de facto standard library for data oriented uses of Python. Here, we
will focus on data wrangling including selecting rows and columns by name and other criteria, applying functions
to the selected data, aggregating the data. For this, we will use Pandas directly, and also helper packages like siuba.
Thursday 15th – Classes from 12:00 to 20:00
Topic 3: Data Visualization. Python provides many options for data visualization. The matplotlib library is a low level plotting library that allows for considerable control of the plot, albeit at the price of a considerable amount ofm low level code. Based on matplotlib, and providing a much higher level interface to the plot, is the seaborn library. This allows us to produce complex data visualizations with a minimal amount of code. Similar to seaborn is ggplot, which is a direct port of the widely used R based visualization library.
Topic 4: Statistical data analysis. In this section, we will describe how to perform widely used statistical analysis in Python. Here we will start with the statsmodels, which provides linear and generalized linear models as well as many other widely used statistical models. We will also cover rpy2, which is and interface from Python to R. This allows us to access all of the the power of R from within Python.
Topic 5: Symbolic mathematics. Symbolic mathematics systems, also known as computer algebra systems, allow us
to algebraically manipulate and solve symbolic mathematical expression. In Python, the principal symbolic
mathematics library is sympy. This allows us simplify mathematical expressions, compute derivatives, integrals,
and limits, solve equations, algebraically manipulate matrices, and more.
Topic 6: Parallel processing. In this section, we will cover how to parallelize code to take advantage of multiple processors. While there are many ways to accomplish this in Python, here we will focus on the multiprocessing