- Description: Generate or load weather data (temperature, humidity) for a month or year.
- NumPy tasks: Compute daily averages, moving averages, anomalies, correlations.
- Matplotlib tasks: Line plots for trends, bar charts for daily highs/lows, heatmaps for temperature variations.
- Bonus: Animate temperature changes over a week or month.
- Description: Simulate a stock’s price over time using random walks.
- NumPy tasks: Generate random returns, calculate cumulative returns, compute moving averages, volatility.
- Matplotlib tasks: Plot stock price over time, overlay moving averages, create subplots for volatility, or candlestick-style charts.
- Bonus: Compare multiple stocks on the same chart.
- Description: Load an image as a NumPy array and manipulate it.
- NumPy tasks: Convert to grayscale, apply filters, rotate/flip, compute histograms.
- Matplotlib tasks: Display original vs. modified images side by side, show color histograms.
- Bonus: Implement edge detection or simple thresholding.
- Description: Simulate particles moving randomly on a plane.
- NumPy tasks: Generate x, y positions over time, compute distances traveled.
- Matplotlib tasks: Plot trajectories, scatter plots showing particle positions, animate the motion.
- Bonus: Add obstacles or boundaries and study effects.
- Description: Visualize how Fourier series approximate periodic functions.
- NumPy tasks: Compute Fourier coefficients, sum series terms.
- Matplotlib tasks: Animate the approximation of a square or triangle wave as more terms are added.
- Bonus: Show frequency spectrum as a bar plot.
- Description: Simulate population growth using exponential and logistic models.
- NumPy tasks: Compute population over time with different growth rates, carrying capacities.
- Matplotlib tasks: Plot growth curves, compare exponential vs. logistic growth, add multiple curves in one plot.
- Bonus: Animate population change over time.
- Description: Generate fractals using complex numbers.
- NumPy tasks: Iterate complex equations, detect divergence, generate array for plotting.
- Matplotlib tasks: Use
imshow
to visualize the set with a colormap. - Bonus: Allow interactive zooming or color changes.
- Description: Visualize functions like
sin(x)*cos(y)
orexp(-x^2 - y^2)
over a grid. - NumPy tasks: Create a meshgrid and evaluate the function.
- Matplotlib tasks: Use
imshow
orcontourf
to create heatmaps. - Bonus: Animate how the function changes with a parameter.
- Description: Simulate rolling multiple dice and analyzing outcomes.
- NumPy tasks: Generate random dice rolls, compute probabilities, averages, histograms.
- Matplotlib tasks: Bar charts for outcomes, line plots for running averages, pie charts for probabilities.
- Bonus: Simulate biased dice or multiple players.
- Description: Explore 3D functions like
z = sin(sqrt(x^2 + y^2))
. - NumPy tasks: Generate meshgrid and compute z-values.
- Matplotlib tasks: Use
plot_surface
orcontour3D
to visualize. - Bonus: Animate rotation of the 3D plot or vary parameters.
- Goal: Simulate rolling dice and visualize probabilities.
- NumPy skills: Random number generation, array manipulation, probability calculations.
- Matplotlib skills: Bar plots, histograms, pie charts.
- Extra challenge: Simulate multiple players and compare outcomes.
- Goal: Simulate multiple particles moving randomly in 2D.
- NumPy skills: Array broadcasting, cumulative sum, distance calculations.
- Matplotlib skills: Line plots for trajectories, scatter plots, optional animation.
- Extra challenge: Add obstacles or boundaries.
- Goal: Simulate stock prices using random walks and visualize trends.
- NumPy skills: Random sampling, cumulative products, moving averages, volatility calculation.
- Matplotlib skills: Line plots, subplots, multiple series comparison.
- Extra challenge: Simulate multiple stocks or a portfolio and visualize correlations.
- Goal: Visualize 2D functions like
sin(sqrt(x^2 + y^2))
. - NumPy skills: Meshgrid creation, function evaluation over grids.
- Matplotlib skills:
imshow
,contourf
, colorbars. - Extra challenge: Animate function changes over time or with parameters.
- Goal: Manipulate images using NumPy arrays.
- NumPy skills: Array slicing, manipulation, filtering, histogram calculation.
- Matplotlib skills: Display images, histograms, side-by-side comparisons.
- Extra challenge: Implement edge detection, convolution filters, or color transformations.
- Goal: Generate fractals using complex numbers and visualize them.
- NumPy skills: Complex array computations, divergence checking, vectorization for speed.
- Matplotlib skills:
imshow
with colormaps, zooming. - Extra challenge: Interactive zooming, coloring by iteration counts, or animate parameter changes.