Learning Plan and Resources
Theme | Exercises | Resources |
---|---|---|
Python basics | ||
- Data types and variables | 1. Write a program that declares and initializes variables of different data types (e.g. integers, floating point numbers, strings, booleans). Print the values of the variables to the console. 2. Write a program that prompts the user to input a value, and then stores that value in a variable. Print the value of the variable to the console. |
Codecademy (https://www.codecademy.com/learn/learn-python) Python documentation (https://docs.python.org/3/tutorial/index.html) |
- Control flow | 1. Write a program that uses a for loop to print the numbers from 1 to 10 to the console. 2. Write a program that uses an if statement to print "even" if a number is even, and "odd" if it is odd. |
Codecademy (https://www.codecademy.com/learn/learn-python) Python documentation (https://docs.python.org/3/tutorial/index.html) |
- Functions | 1. Write a program that defines a function that takes two arguments and returns the sum of the two arguments. 2. Write a program that defines a function that takes a list as an argument and returns the average of the elements in the list. |
Codecademy (https://www.codecademy.com/learn/learn-python) Python documentation (https://docs.python.org/3/tutorial/index.html) |
- Objects and classes | 1. Write a program that defines a class representing a point in 2D space. The class should have x and y attributes, as well as a method for calculating the distance from the origin. 2. Write a program that creates an instance of the point class and calls the distance method. |
Codecademy (https://www.codecademy.com/learn/learn-python) Python documentation (https://docs.python.org/3/tutorial/index.html) |
Data manipulation and analysis | ||
- NumPy | 1. Write a program that generates a random array of 10 numbers using NumPy, and then prints the minimum, maximum, and mean of the array. 2. Write a program that uses NumPy to perform linear regression on a set of data. |
NumPy documentation (https://numpy.org/doc/stable/) DataCamp (https://www.datacamp.com/courses/intro-to-python-for-data-science) |
- Pandas | 1. Write a program that reads a CSV file into a Pandas DataFrame, and then prints the first and last 5 rows of the DataFrame. 2. Write a program that uses Pandas to plot a scatter plot of two columns in a DataFrame. |
Pandas documentation (https://pandas.pydata.org/pandas-docs/stable/) DataCamp (https://www.datacamp.com/courses/pandas-foundations) |
Matplotlib | ||
- Line plots | 1. Write a program that uses Matplotlib to create a line plot of a dataset. 2. Write a program that uses Matplotlib to create a multi-line plot of multiple datasets. |
Matplotlib documentation (https://matplotlib.org/stable/users/index.html) DataCamp (https://www.datacamp.com/courses/introduction-to-data-visualization-with-python) |
- Scatter plots | 1. Write a program that uses Matplotlib to create a scatter plot of a dataset. 2. Write a program that uses Matplotlib to create a 3D scatter plot of a dataset. |
Matplotlib documentation (https://matplotlib.org/stable/users/index.html) DataCamp (https://www.datacamp.com/courses/introduction-to-data-visualization-with-python) |
- Histograms | 1. Write a program that uses Matplotlib to create a histogram of a dataset. 2. Write a program that uses Matplotlib to create a cumulative histogram of a dataset. |
Matplotlib documentation (https://matplotlib.org/stable/users/index.html) DataCamp (https://www.datacamp.com/courses/introduction-to-data-visualization-with-python) |
Machine learning | ||
- Supervised learning | 1. Write a program that uses scikit-learn to train a linear regression model on a dataset. 2. Write a program that uses scikit-learn to train a decision tree model on a dataset. |
scikit-learn documentation (https://scikit-learn.org/stable/user_guide.html) DataCamp (https://www.datacamp.com/courses/supervised-learning-with-scikit-learn) |
- Unsupervised learning | 1. Write a program that uses scikit-learn to perform k-means clustering on a dataset. 2. Write a program that uses scikit-learn to perform dimensionality reduction (e.g. PCA) on a dataset. |
scikit-learn documentation (https://scikit-learn.org/stable/user_guide.html) DataCamp (https://www.datacamp.com/courses/unsupervised-learning-in-python) |
- Deep learning | 1. Write a program that uses TensorFlow to train a simple neural network on a dataset. 2. Write a program that uses Keras to build and train a convolutional neural network on an image classification dataset. |
TensorFlow documentation (https://www.tensorflow.org/guide) Keras documentation (https://keras.io/) DataCamp (https://www.datacamp.com/courses/deep-learning-in-python) |
Reinforcement learning | ||
- Q-learning | 1. Write a program that implements a simple Q-learning algorithm to solve a gridworld problem. 2. Write a program that uses OpenAI Gym to train a Q-learning agent on a classic control problem (e.g. CartPole). |
Sutton and Barto, "Reinforcement Learning: An Introduction" (http://incompleteideas.net/book/the-book-2nd.html) OpenAI Gym documentation (https://gym.openai.com/docs/) DataCamp (https://www.datacamp.com/courses/reinforcement-learning-in-python) |