Close Menu

High School Students: Earn College Credit with Online Course for Advanced Study of Data Structures

Replaces Old AP Computer Science AB Course

Are you a high school student interested in the challenging, lucrative field of computer science? Would you like to get a head start on college and your career?

Illinois Institute of Technology offers the online course CS 331: Data Structures and Algorithms for high school students that will allow you to earn three hours of college credit (C or better usually required) and lay an exceptional technical foundation for college courses and your career.

CS 331: Data Structures and Algorithms replaces the old AP Computer Science AB course. It gives you more depth in data structures, which are foundational for advanced computer science courses.

You can take the course entirely online, with your high school and IIT teachers and IIT teaching assistants available to assist you. Illinois Tech is the Midwest's premier technology university, with a long history of graduating rigorously prepared scientists and engineers. This is the eighth year IIT has offered this unique program, and more than 300 high school students have successfully completed the course.

Your teacher:

CS 331 is offered through IIT’s Department of Computer Science and will be taught by Michael Saelee, a senior instructor. Saelee’s lectures will be posted online alongside slides and screencasts, allowing you to review them on demand the entire semester. CS teachers at your school will also be given materials to assist you with the programming assignments, and a dedicated IIT teaching assistant is also assigned to help all high school students.

You will learn:

  • How to analyze the time and space complexity of algorithms using asymptotic upper bounds (big-O notation).
  • How to design, implement and analyze the time and space performance of recursive functions, and how recursion relies on the run-time stack.
  • The motivation for, design and implementation of classical data structures, including: lists, stacks, queues, expression trees, binary search trees, heaps, hash tables.
  • How to leverage object-oriented patterns such as composition, inheritance, and polymorphism in the implementation of the above data structures.
  • Essential searching and sorting algorithms.
  • How to select and use data-structures in order to solve various problems.
  • Various features of the Python programming language, which will be used throughout the course. These features include:
    • Built-in data types, including strings, lists, tuples, sets, and dictionaries
    • Iterators, generator expressions, and list comprehensions
    • Lambda expressions and higher order functions
    • Random numbers, timing, and unit test modules

To be eligible, you must have completed a CS1-equivalent course of the AP CS A course/exam with a score of 5, or a score of 4 with your Computer Science teacher recommendation, and you must enroll in a data structures or independent computer science course at your high school in Spring 2020 that you can take in conjunction with the IIT course. We estimate the time commitment for a student is six to ten hours per week. Please note that some universities will not accept the IIT credit for this course unless you have Introductory Programming credit from the AP CS A exam.

CS 331 is free for Chicago Public School students and offered at a discounted price of $250 for all other students. 

The deadline for this program has passed. Applications for fall 2020 will open in the summer.


Sorry, the course is full for Spring 2018. No more applications will be accepted.

2019-08-14 - Change contact to 2019-08-05 - changed deadling from August 31, 2019 to September 30.