This course provides a comprehensive introduction to Python programming, specifically designed for students in Mathematics and Statistics at the University of Seville. The materials are structured as interactive Jupyter notebooks that can be executed directly in Google Colab with a single click, eliminating the need for local setup.
Course Structure
The course is organized into progressive modules that build from foundational programming concepts to practical data science applications:
Python Fundamentals
The introductory section covers essential programming concepts:
- Python basics and syntax
- Numeric types and operations
- Strings and text manipulation
- Boolean logic
- Lists and data structures (dictionaries, tuples, sets)
- Control flow (conditionals and loops)
- Functions and modular programming
- Object-oriented programming with classes
Scientific Computing with NumPy
Students learn to work with numerical arrays efficiently:
- Array creation and manipulation
- Indexing and slicing operations
- Vectorized operations and broadcasting
Data Visualization with Matplotlib
Introduction to creating charts and visualizations for data analysis.
Data Analysis with Pandas
Working with tabular data using the Pandas library:
- DataFrames and Series
- Data aggregation and grouping
- Merging and joining datasets
Practical Case Studies
The course includes real-world applications that demonstrate Python’s power in mathematical and statistical contexts:
- Gradient Descent: Implementing linear regression from scratch
- Linear Programming: Solving optimization problems
- Portfolio Optimization: Financial mathematics applications
- Regression Models: Building predictive models
- Exploratory Data Analysis (EDA): Statistical data exploration
- Binary Classification: Machine learning fundamentals
Project Management
The final section covers professional Python development practices, including project structure and building interactive dashboards with Dash.
Interactive Learning
Each notebook contains executable code cells alongside markdown explanations. Exercises are embedded throughout the materials with collapsible solutions, allowing students to practice independently before checking their work.
Course Materials
All content is open source and available on GitHub. The course website is built with Jupyter Book, providing a clean reading experience with direct links to run notebooks in Google Colab.
References
The course draws from established Python and data science literature including:
- Python Distilled by David Beazley
- Python for Data Analysis by Wes McKinney
- Effective Pandas by Matt Harrison
- Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow by Aurelien Geron