College Course for Credit

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 Tech offers the online course CS 331: Data Structures and Algorithms for high school students. This course allows 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

This course 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 Illinois Tech teachers, and Illinois Tech teaching assistants available to assist you. Illinois Tech is Chicago's only tech-focused university, with a long history of graduating rigorously prepared scientists and engineers. More than 300 high school students have successfully completed the course.

Your Instructor

CS 331 is offered through Illinois Tech’s Department of Computer Science and 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 high school will also be given materials to assist you with the programming assignments, and a dedicated Illinois Tech 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, and 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 Illinois Tech course. We estimate the time commitment for a student is 6–10 hours per week. Please note that some universities will not accept the Illinois Tech credit for this course unless you have Introductory Programming credit from the AP CS A exam.

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

Applications for fall 2020 will open in the summer.