Edit on Replit

Abstract Data Types Curriculum

Course Overview

This course is designed for high school students with a moderate level of programming experience. It introduces how to construct abstract data types and how to use them to solve a variety of problems.

The language used throughout is Python, though the slides could be easily adapted to suit another language. If adapted, please provide attribution to Repl.it and Thomas Bach, who created it.

The Curriculum

This course is split into 6 units, each of which takes an estimated 1.5 to 4 hours to complete. For each unit there is a presentation and a teacher guide which provides additional content, answers to questions, vocabulary and additional material. There are also multiple coding challenges that go along with each lesson. These are linked within the teaching document and on the course folder on Repl.it.

The units covered are as follows:

In addition you can find the following:


Thomas Bach is a former software developer and a teacher of 14 years. He has taught computer science, IT, and mathematics, both in the United States and internationally.

Contact: tsbach [at] gmail