Skip to content

Instantly share code, notes, and snippets.

@developeruche
Last active June 25, 2024 05:47
Show Gist options
  • Save developeruche/77cb56b1829cd13d9016fb83c0152d6b to your computer and use it in GitHub Desktop.
Save developeruche/77cb56b1829cd13d9016fb83c0152d6b to your computer and use it in GitHub Desktop.
AI Class

Curriculum

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment