Python for Data Science: 60-Day Course Outline for
Tim
Designed for Tim (17) Self-Study Program
Created on June 17, 2025
1 Course Overview
This 60-day course is designed for Tim to learn Python for Data Science through a free, self-
paced online course from freeCodeCamp, culminating in a portfolio project. The course as-
sumes 2–3 hours of daily study (15 hours per week) and covers Python fundamentals, data
manipulation, visualization, and basic machine learning. The portfolio project, a Customer
Sales Analysis Dashboard, showcases practical skills.
Course Source: Learn Python for Data Science Full Course for Beginners (freeCodeCamp,
17-hour YouTube course, published May 29, 2025).
Portfolio Project: Analyze a retail sales dataset to create a dashboard with visualizations and
insights.
Tools Needed: Laptop, Python (via Anaconda or Google Colab), Kaggle account, optional
GitHub account.
2 60-Day Schedule
The course spans 8 weeks: Weeks 1–6 focus on learning, and Weeks 7–8 are for the portfolio
project.
2.1 Week 1: Python Basics and Setup
Objective: Set up the environment and learn Python fundamentals.
Course Content (2 hours): Python installation, Jupyter Notebook, variables, data types, loops,
functions, lists, dictionaries.
Tasks:
• Install Anaconda or set up Google Colab.
• Watch and code along with the first 2 hours of the course.
• Practice: Write a script to calculate the average of a list of numbers.
• Mini-task: Create a dictionary of 5 products with prices and print items with prices >
$50.
1
2.2 Week 2: Introduction to Pandas and Data Manipulation
Objective: Learn Pandas for data handling.
Course Content (3 hours): Pandas DataFrames, loading datasets, filtering, sorting, cleaning.
Tasks:
• Watch and code along with Pandas sections.
• Practice: Load a CSV and filter rows (e.g., sales > $100).
• Mini-task: Clean a dataset by removing missing values and summarizing columns.
2.3 Week 3: Data Cleaning and Web Scraping
Objective: Master data cleaning and basic web scraping.
Course Content (3 hours): Handling missing data, duplicates, web scraping with Pandas, pivot
tables.
Tasks:
• Watch and code along with data cleaning and web scraping sections.
• Practice: Scrape a table from a website (e.g., Wikipedia).
• Mini-task: Create a pivot table summarizing sales by category.
2.4 Week 4: Data Visualization with Matplotlib
Objective: Learn to visualize data.
Course Content (3 hours): Matplotlib, bar charts, scatter plots, line plots, customization.
Tasks:
• Watch and code along with visualization sections.
• Practice: Create a bar chart of sales by region and a scatter plot of price vs. quantity.
• Mini-task: Customize a plot with labels, titles, and colors.
2.5 Week 5: Advanced Data Analysis Techniques
Objective: Explore grouping, aggregation, and merging datasets.
Course Content (3 hours): Groupby, merging datasets, regular expressions.
Tasks:
• Watch and code along with advanced analysis sections.
• Practice: Group a dataset by category and calculate average sales.
• Mini-task: Merge two datasets and extract insights.
2.6 Week 6: Introduction to Machine Learning Basics
Objective: Understand basic machine learning concepts.
Course Content (3 hours): scikit-learn, linear regression, model evaluation.
Tasks:
• Watch and code along with machine learning sections.
2
• Practice: Build a linear regression model to predict sales.
• Mini-task: Calculate model accuracy and visualize predictions.
2.7 Week 7: Portfolio Project Data Exploration and Analysis
Objective: Start the portfolio project by exploring and cleaning the dataset.
Tasks:
• Download the Superstore Sales Dataset from Kaggle.
• Load and explore the dataset in Jupyter Notebook.
• Clean the dataset (handle missing values, remove duplicates).
• Perform exploratory analysis (e.g., total sales, top products).
• Document findings with comments.
2.8 Week 8: Portfolio Project Visualization and Dashboard
Objective: Complete the portfolio project with visualizations and insights.
Tasks:
• Create visualizations: bar chart (sales by category), line plot (sales trends), pie chart
(sales by region).
• Summarize key insights (e.g., “Category X has the highest sales”).
• Compile the Jupyter Notebook into a polished report.
• Optional: Upload to GitHub with a README.
Deliverable: Jupyter Notebook with code, visualizations, and insights.
3 Portfolio Project: Customer Sales Analysis Dashboard
Description: Analyze the Superstore Sales Dataset (Kaggle, ∼10,000 rows) to create a dash-
board with visualizations and insights about sales trends, top products, and customer segments.
Tasks:
1. Data Cleaning: Remove missing values, standardize column names, handle outliers.
2. Exploratory Analysis: Calculate total sales, average order value, top 5 products.
3. Visualizations:
• Bar chart: Sales by product category.
• Line plot: Monthly sales trends.
• Pie chart: Sales distribution by region.
4. Insights: Write 3–5 key findings (e.g., “Furniture sales are highest in the West region”).
5. Documentation: Use markdown cells in Jupyter Notebook to explain steps and findings.
3
Output: A Jupyter Notebook (.ipynb) with code, visualizations, and explanations. Optionally,
host on GitHub.
Example Insights:
• Technology products contribute 35% of revenue.
• Sales peak in November due to holiday promotions.
• The South region has the lowest sales.
4 Tips for Tim
• Stay Organized: Keep a folder for notes, scripts, and project files.
• Practice Daily: Spend 1 hour on videos and 1–2 hours coding.
• Ask Questions: Use Stack Overflow or freeCodeCamps forum if stuck.
• Showcase the Project: Share the GitHub link or add to LinkedIn.
• Time Management: If 2–3 hours/day is too much, adjust to 1.5 hours/day and extend to
10 weeks.