Introduction to Scientific Programming with Python
In this hands-on workshop, we cover the basics of the Python programming language and some of its scientific library in order to enable students to conduct data analysis using the core principles of good scientific practice, focusing on techniques for performing essential data analysis steps using real-life problems that the practicing scientist regularly encounters in his/her work. Libraries covered will be NumPy, matplotlib, Pandas, Seaborn, Scipy-Stats, and Scikit-Learn. Students will learn to write their own functions, scripts, and Jupyter Notebooks in order to perform reproducible data analyses on a wide variety of data types, with a focus on tabular and image data. No prior programming, math, or statistics knowledge is required. Participants will receive a certificate of completion at the end of the course, and will leave with increased confidence in their ability to use computational tools in their research.
Major Focuses of the Course:
• Fundamentals of Programming (Scripts, Functions, Loops, Conditionals, and Modules)
• Python Data Structures (Lists, Tuples, Dictionaries, Arrays, and DataFrames)
• Reading and Writing to Various File Formats (CSV, HDF5, SQL, and Image Formats)
• Writing Code to Building Publication-Ready Figures
• Fitting Statistical Models to Data with Statsmodels, Scikit-Learn, and PyMC3
• Good Coding Practices (Version Control, Code Organization, Styling Practices, Pair Programming, and Literate Programming)
• Data Analysis Workflows (NbConvert and SnakeMake)
• Reproducibility Practices in Open Science (Dependency Management, Executable Analysis, DOIs)
• Understanding the Terminal and the Core Scientific Software Stack (Bash, Compilers, and Interpreters)
Requirements: Laptop Computer, brought to each class day, with the (free) Anaconda software installed.
Lecturer: Nicholas Del Grosso
When? 5 x Tuesdays
March 31 - April 28, 2020; 9:30 - 17:30
Please note that attending the 5 sessions is mandatory to be eligible for the 2,5 ECTS !
Sign up per email: email@example.com