Syllabus
Week 1: Python
Day 1
Monday, June 24th
Morning Session Topics (L1)
- Introduction
- Why take this course
- Course Objectives
- Review the Syllabus
- Ice Breaker
Afternoon Session Topics (L1)
- Introduction to Google Colab
- Introduction to 'A Byte of Python'
- A Byte of Python - Python Basics
- Hello World Exercise
- A Byte of Python - Operators and Expressions
- Simple Calculator Exercise
Class Exercise (L1)
- Set up your Google Colab environment
- Hello World Exercise
- Simple Calculator Exercise
Homework
- Review the A Byte of Python book:
- Finish Exercises from Day 1
Day 2
Tuesday, June 25th
Morning Session Topics (L1)
- A Brief History of Programming
- A Byte of Python - Control Flow
- Exercise: The Guessing Game
Afternoon Session Topics (L1)
- A Byte of Python - Functions
- Exercise: The Fibonacci Sequence
- A Brief History of Text Adventure Games
- Build a Text Adventure Game
Class Exercise (L1)
- Exercise: The Guessing Game
- Exercise: The Fibonacci Sequence
- Build a Text Adventure Game
Homework
- Review the A Byte of Python book:
- Finish Exercises from Day 2
Day 3
Wednesday, June 26th
Morning Session Topics (L1)
- What is Data?
- A Byte of Python - Data Structures
- Exercise: Adding Data to Your Adventure Game
Afternoon Session Topics (L1)
- A Byte of Python - Data Structures
- Exercise: Loading Your First CSV File
Class Exercise (L1)
- Exercise: Add data structures to your adventure game
- Exercise: Loading Your First CSV File
Homework
- Review the A Byte of Python book:
- Finish Exercises from Day 3
Day 4
Thursday, June 27th
Morning Session Topics (L2)
- A Byte of Python - Object Oriented Programming
- Exercise: Working with Classes and Objects
- A Byte of Python - Modules
- Exercise: Calculating your 10,000th Day Alive
Afternoon Session Topics (L1, L2)
- Some History about Tabular Data
- Introduction to Pandas and DataFrames
- Exercise: Upgrade your CSV program to use Pandas
Class Exercise (L2)
- Exercise: Working with Classes and Objects
- Exercise: Calculating your 10,000th Day Alive
- Exercise: Upgrade your CSV program to use Pandas
Homework
- Review the A Byte of Python book:
- Review the Pandas Tutorial
- Finish: Exercises from Day 4
Day 5
Friday, June 28th
Morning Session Topics (L2, L3)
- The Prevalence of Tabular Data
- Data Exploration with Pandas
- Exercise: Exploring a Novel Dataset
Afternoon Session Topics (L2, L3)
- Pandas - Reshaping Data
- Pandas - Joining Data
- Exercise: Working with Multiple Datasets
Class Exercise (L2, L3)
- Exercise: Exploring a Novel Dataset
- Exercise: Working with Multiple Datasets
Homework
- Review the Pandas Tutorial
- Finish: Exercises from Day 5
- Enjoy your weekend!
Week 2: Data Science
Day 1
Monday, July 1st
Morning Session Topics (L2)
- A Brief History of Data Science
- What is a Model?
- 'Weapons of Math Destruction'
- Exercise: Finding Correlations in Housing Data
Afternoon Session Topics (L2)
`- Data Formats - A detour into the World Wide Web - Exercise: Scraping Data from the Web
Class Exercise (L2)
- Exercise: Finding Correlations in Housing Data
- Exercise: Scraping Data from the Web
Homework
- Finish: Exercises from Day 1
Day 2
Tuesday, July 2nd
Morning Session Topics (L4)
- Introduction to Data Visualization
- A Tour of Data Visualizations
Afternoon Session Topics (L4)
- What makes a good visualization?
- Introduction to MatPlotLib and Seaborn
- Exercise: Plotting Housing Data Correlations
Class Exercise (L4)
- Exercise: Plotting Housing Data Correlations
Homework
- Review the MatPlotLib and Seaborn tutorials
- Finish: Exercises from Day 2
Day 3
Wednesday, July 3rd
Morning Session Topics (L3, L4)
- Introduction to Time Series Data
- Introduction to SciKit Learn
- Linear Regressions with SciKit Learn
- Exercise: Predicting Airline Ridership
Afternoon Session Topics (L3, L4)
- Feature scaling
- Time Series in Industries (Manufacturing-focus, TBD guest speaker)
- Exercise: Predicting The Stock Market
Class Exercise (L4)
- Exercise: Predicting Airline Ridership
- Exercise: Predicting The Stock Market
Homework
- Finish: Exercises from Day 3
- Review the SciKit Learn documentation
- Enjoy your day off!
Day 4
Thursday, July 4th * Fourth of July, no class.
Day 5
Friday, July 5th
Morning Session Topics (L3, L4)
- Introduction to Natural Language Processing (NLP)
- Text Preprocessing Techniques
- Exercise: Sentiment Analysis of Music Lyrics
Afternoon Session Topics (L3, L4)
- Text Preprocessing Techniques (continued)
- Markov chains and N-grams
- Term-Frequency Inverse Document Frequency (TFIDF)
- Exercise: Use TFIDF to Separating Music by Artist
Class Exercise (L3, L4)
- Exercise: Sentiment Analysis of Music Lyrics
- Exercise: Use TFIDF to Separating Music by Artist
Homework
- Finish: Exercises from Day 5
- Enjoy your weekend!
Week 3: Machine Learning
Day 1
Monday, July 8th
Morning Session Topics (L5)
- What is Machine Learning?
- Supervised Learning: Overview and Applications
- Training and Scoring
- Exercise: Linear Regressions Revisited
Afternoon Session Topics (L5)
- Train Test Split
- Decision Trees
- Logistical Regressions
- Model Evaluation Techniques
- Exercise: Decision Trees
Class Exercise (L5)
- Exercise: Linear Regressions Revisited
- Exercise: Decision Trees
Homework
- Finish: Exercises from Day 1
Day 2
Tuesday, July 9th
Morning Session Topics (L5)
- Unsupervised Machine Learning
- Clustering
- Anomaly detection
- Principal Component Analysis (PCA)
Afternoon Session Topics (L5)
- Ensemble Learning
- Random Forests
- Exercise: Random Forests
Class Exercise (L5)
- Exercise: Random Forests
Homework
- Finish: Exercises from Day 2
Day 3
Wednesday, July 10th
Morning Session Topics (L6)
- Introduction to and history of Neural Networks
- Watch the first 3Blue1Brown video on Neural Networks
- Basics of Deep Learning
- Using Pytorch
- Exercise: Using Pytorch to Classify Handwritten Digits
Afternoon Session Topics (L6)
- Shapes of networks
- Convolutional Neural Networks (CNNs)
- Categorizing images with Neural Networks
- Exercise: Using Pytorch to Classify Images
Class Exercise (L6)
- Exercise: Using Pytorch to Classify Handwritten Digits
- Exercise: Using Pytorch to Classify Images
Homework
- Review the Pytorch Tutorials
- Finish: Exercises from Day 3
Day 4
Thursday, July 11th
Morning Session Topics (L6)
- Recurrent Neural Networks (RNNs)
- Word2Vec
- Exercise: Generating Word2Vec Artwork
Afternoon Session Topics (L6)
- Transformers
- "Attention is All You Need"
- Exercise: Revisiting Your Text Adventure Game with dolly-v2-3b LLM
Class Exercise (L6)
- Exercise: Generating Word2Vec Artwork
- Exercise: Revisiting Your Text Adventure Game with dolly-v2-3b LLM
Homework
- Finish: Exercises from Day 4
Day 5
Friday, July 12th
Morning Session Topics (L6)
- Transfer Learning
- Latent Diffusion Models
- Exercise: Discuss Strategies for Safely Using LLMs in your College Experience
Afternoon Session Topics (L6)
- Ethics and Responsibility
- Careers in Data Science and Machine Learning
- Revisiting why we're here
- Q&A Session / Open Class Discussion