Class Description Python for High Schoolers (PY102)

Python for High Schoolers (Python 102)

2026 Summer (Online)

Python for High Schoolers

Instructor: Zhang, Ph.D.
Dates:
June 14 – August 30
Sunday 10AM – 12PM CT
Prereq: High School Students
Fee: $779

Ming Zhang, Ph.D.

Dr. Ming Zhang received an undergraduate degree in math from University of Science and Technology of China and obtained his Ph.D. from Rice University in Computer Science.

He has worked as an assistant professor at M.D. Anderson Cancer Center and a financial advisor at Morgan Stanley. With over 25 years of algorithm development and investment experience, Dr. Zhang now enjoys teaching students in mathematics and computer science.

In last 3 years, more than 50 of his students have been promoted to USACO Gold and Platinum (including the USACO Training Camp). Many of them are currently attending colleges such as Caltech, MIT, Harvard, Stanford, and Princeton. Congratulations to these amazing accomplishments.

All instructional materials from the camp, including recorded sessions, will remain accessible for an additional three months following the conclusion of the camp. Zoom and Canvas platforms will be utilized for delivery and access to these resources.

Python for High Schoolers Topics

Introduction to Python and computer programming

  • the fundamentals of computer programming, i.e., how the computer works, how the program is executed, how the programming language is defined and constructed;
  • What is Python? What can Python do? Python Syntax.
  • the difference between compilation and interpretation
  • what Python is, how it is positioned among other programming languages, and what distinguishes the different versions of Python.

Data types, variables, basic input-output operations, basic operators

  • how to write and run simple Python programs;
  • what Python literals, operators, and expressions are;
  • what variables are and what are the rules that govern them;
  • how to perform basic input and output operations.

Boolean values, conditional execution, loops, lists, logical operations

  • the Boolean data type;
  • relational operators;
  • making decisions in Python (if, if-else, if-elif, else)
  • how to repeat code execution using loops (while, for)
  • how to perform logic and bitwise operations in Python;
  • lists in Python (constructing, indexing, and slicing; content manipulation)
  • how to sort a list using bubble-sort algorithms;
  • multidimensional lists and their applications.

Functions, tuples, dictionaries, and data processing

  • code structuring and the concept of function;
  • function invocation and returning a result from a function;
  • name scopes and variable shadowing;
  • tuples and their purpose, constructing and using tuples;
  • dictionaries and their purpose, constructing and using dictionaries;
  • exceptions – the try statement and the except clause, Python built-in exceptions, code testing and debugging.
  • Recursion

Strings, String and List Methods, Exceptions

  • Characters, strings and coding standards;
  • Strings vs. lists – similarities and differences;
  • Lists methods;
  • String methods;
  • Python’s way of handling runtime errors;
  • Controlling the flow of errors using try and except;
  • Hierarchy of exceptions.

Object-Oriented Programming

  • Basic concepts of object-oriented programming (OOP)
  • The differences between the procedural and object approaches (motivations and profits)
  • Classes, objects, properties, and methods;
  • Designing reusable classes and creating objects;
  • Inheritance;

Miscellaneous

  • Generators, iterators and closures;
  • Working with file-system, directory tree and files;
  • Selected Python Standard Library modules (os.)

Modules, packages, and PIP

  • importing and using Python modules;
  • using some of the most useful Python standard library modules;
  • constructing and using Python packages;
  • PIP (Python Installation Package) and how to use it to install and uninstall ready-to-use packages from PyPI.