Machine Learning for High School and Undergraduates
2023 Summer Courses
Session 1 (FULL): June 12-16, 2023, 8:30am-11am Eastern
Session 2: July 17-21, 2023, 8:30am-11am Eastern
Note: Sessions 1 and 2 are the same course.
There is not a second level of Machine Learning at this time.
What is this program?
i2Lab's high school outreach program aims at providing STEM educational enrichment to students in the United States and overseas.
We are very thankful for the generous support from the National Science Foundation.
The program is designed for 10th-12th graders and year-1 college students who are interested in programming and mathematics.
View the Course Information HERE
Registration
Session 1 (FULL)Session 2: Registration
Program Fee $200
Registration closes July 12, 2023 and is limited to the first 50 students.
Course Information
Course Schedule:
Session 1 (FULL): June 12-16, 2023
Session 2: July 17-21, 2023
8:30am - 11:00am Eastern
Instructor:
Professor Stanley H. Chan
Email: stanchan@purdue.edu
Teaching Assistants:
Nick Chimitt, nchimitt@purdue.edu
Kent Gauen, gauenk@purdue.edu
Requirements
- High school Algebra 2; Calculus 1 is recommended, but not required.
- Interested in mathematics and programming
- No background in programming is required. We will teach you from scratch.
- Have access to a computer and Internet.
- Have a Google account. We will use Google Colab for all our homework.
Course Materials, Presentations, Lecture Notes
Course materials are restricted to participating students only.
Day 1 Introduction
- What is Machine Learning? What can be learned, and what cannot be learned?
- Python basics: Defining variables, Data types; If-then-else, for-loop, while-loop statements.
- Plotting functions in Python. How to define a function in Python? How to evaluate a function? How to visualize a functions?
- Zoom synchronous meeting
Day 2 Linear regression: Fitting data with a line
- Concept of a line: Slope and y-intercept. Concept of noisy data points drawn from a line.
- Basic concepts about arrays, matrices and vectors.
- How to write the line-fitting problem in the form of matrix and vector? How to visualize the data-fitting problem?
- Zoom synchronous meeting
Day 3 Minimizing a function
- What is minimization? We will visualize the process without using Calculus.
- How to apply the minimization technique to fit data?
- Why is a single-layer neural network the same as a line-fitting problem?
- Zoom synchronous meeting
Day 4 Pattern recognition
- What is inner product? What is cosine angle? How can they be used to classify a two-class dataset?
- How to implement a simple pattern-recognition method?
- Zoom synchronous meeting
Day 5 Image processing
- What are images? What are colors?
- How to read and write images?
- How to do filtering on images?
- How to extract feature(s) from images?
- Zoom synchronous meeting
Learning Outcomes
- Students completing the course will be able to
- Use Python to do the most basic scientific computing (i.e., plotting and processing images).
- Understand the role of statistics, linear algebra, and optimization in Machine Learning.
- Use non-technical language to explain a few ideas such as line fitting, feature extraction, and classification.
- Say: "Machine Learning is fun!"
- Our goals are realistic. The following are not the objectives of this
course:
- Demonstrate proficiency in programming or writing a complete Python program on your own.
- Be able to develop an app or software.
- Be able to program a robot and make it move.
- Bypass the normal high school math syllabus or skip a course in the math sequence.