Machine Learning for High School and Undergraduates -- Summer Course

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.

Registration

(Fee $200 -- may increase with 2022 registration and beyond)

Summer 2022 Courses Coming Soon!

Course Information

Instructor: Professor Stanley H. Chan
Email: stanchan@purdue.edu

Teaching Assistant:
Nick Chimitt, nchimitt@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.