Week 1: Introduction to Python and Programming Fundamentals
- Topics:
- Introduction to Python: History, advantages for machine learning
- Setting Up Your Environment: Python installation, IDE selection (e.g., PyCharm, Visual Studio Code)
- Basic Programming Concepts: Variables, data types (int, float, str, bool), operators (arithmetic, logical, comparison), input/output (print(), input())
- Control Flow: Conditional statements (if-else, elif), loops (for, while), break and continue statements
- Assessment:
- Coding Quiz: Write Python code to solve a simple mathematical problem (e.g., calculate area of a rectangle)
- Short Project: Create a program that prompts the user for their name and age, then greets them and displays their age in years and days.
Week 2: Functions and Working with Data
- Topics:
- Defining and Using Functions: Creating reusable blocks of code, parameters, return values
- Lists and Tuples: Data structures for storing ordered collections, list methods (append, extend, sort, etc.), tuple immutability
- Strings: String manipulation methods (indexing, slicing, concatenation, formatting)
- Assessment:
- Coding Challenge: Write a function that takes a list of numbers and returns the average.
- Hands-on Exercise: Create a program that reads a list of names from a text file, sorts them alphabetically, and displays the list.
Week 3: Dictionaries and Sets
- Topics:
- Dictionaries: Key-value pairs for storing and retrieving data efficiently, accessing elements using keys
- Sets: Unordered collections of unique elements, set operations (union, intersection, difference)
- Assessment:
- Coding Practice: Write a program that uses a dictionary to store student names and their corresponding grades, then calculates the average grade.
- Mini-Project: Create a program that reads a list of words from a text file, removes duplicates using sets, and displays the unique words.
Week 4: Introduction to Machine Learning Concepts
- Topics:
- What is Machine Learning? Supervised vs. Unsupervised Learning, common machine learning tasks (classification, regression, clustering)
- Introduction to the Scikit-learn Library: A popular toolkit for machine learning in Python, exploring basic functionalities
- Assessment:
- Short Reading Assignment: Read a chapter on machine learning basics from a recommended textbook and answer comprehension questions.
- Group Discussion: Facilitate a discussion where students explain in their own words the differences between supervised and unsupervised learning, providing examples.
Week 5: Data Cleaning and Preprocessing
- Topics:
- Importance of Data Cleaning: Handling missing values, outliers, inconsistencies
- Data Preprocessing Techniques: Scaling features, encoding categorical data using techniques like one-hot encoding
- Introduction to NumPy: A fundamental library for scientific computing, creating efficient arrays, basic operations
- Assessment:
- Coding Exercise: Write Python code to clean a dataset (provided by you) by removing missing values and scaling the numerical features.
- Short Quiz: MCQ questions on different data preprocessing techniques and their applications.
Week 6: Supervised Learning - Linear Regression
- Topics:
- Introduction to Linear Regression: Modeling relationships between continuous variables (prediction)
- Implementing Linear Regression in Scikit-learn: Train-test split, model fitting, evaluation metrics (mean squared error)
- Assessment:
- Machine Learning Project: Provide a dataset containing housing prices and relevant features. Students use Scikit-learn to build a linear regression model to predict housing prices based on the features. They evaluate the model's performance and interpret the results.
Week 7: Supervised Learning - Classification
- Topics:
- Classification: Predicting discrete categories (e.g., spam or not spam, disease diagnosis)
- Common Classification Algorithms: Logistic Regression, K-Nearest Neighbors (KNN), Decision Trees
- Implementing Classification Algorithms in Scikit-learn: Train models, evaluate using metrics (accuracy, precision, recall, F1-score)
- Assessment:
- Classification Challenge: Provide a dataset for image classification (e.g., handwritten digits). Students train different classifiers and compare their performances. They write a report explaining the results and the best-performing model.
Week 8: Model Evaluation and Error Analysis
- Topics:
- Understanding Model Evaluation Metrics: Interpreting accuracy, precision, recall, F1-score, confusion matrix in the context of the problem
- Overfitting