Intermediate Java is a free data structures and algorithms course for high school students who already know the basics of Java. It takes your skills to the next level and bridges the gap between an introductory course and college-level computer science. It covers the ideas that show up in AP Computer Science A, programming competitions like USACO, and technical interviews.
You'll deepen your object-oriented programming with interfaces and polymorphism and handle errors when working with files. Over 14 weekly lessons you'll also learn to measure an algorithm's efficiency, write recursive solutions, implement classic sorting and searching algorithms, and build the core data structures professional software relies on. Hands-on exercises throughout challenge both your creativity and your problem-solving.
This course is for students in grades 10 through 12 who have completed Intro to Java or have equivalent experience. You should be comfortable with loops, arrays, ArrayLists, and writing your own classes before you start.
Plan on about 20 hours: roughly 90 minutes per weekly lesson, including time to code the examples yourself. Topics like recursion and Big O reward extra practice, so give yourself room to revisit them.
Yes. Intermediate Java is completely free, with no fees, subscriptions, or account required. STEM for Others is a 501(c)(3) nonprofit, and every course in our curriculum library is free for students, families, and teachers.
Yes. Big O analysis, recursion, sorting, searching, and data structures like stacks, queues, and hash maps are the foundation of competitive programming contests such as USACO Bronze and Silver, and of most technical interviews.
Click Begin Course at the top of this page to open the full slide deck in a new tab. You can also flip through the slides embedded above. Work through one unit at a time and try the practice questions before moving on.
The self-paced Intermediate Java materials don't include an official certificate. If you're taking the course through a STEM for Others chapter program, ask your chapter leader about recognizing your completion.
Yes. Teachers, homeschool families, libraries, and after-school clubs are welcome to use the Intermediate Java materials with their students at no cost. STEM for Others volunteers also teach our curriculum in partner schools and libraries. You can find a chapter near you or start one at your school.
Watch Cybersecurity & Digital Safety for Teens, a free STEM for Others webinar, to learn how to stay safe online and how cyberattacks work. Browse all free STEM webinars.
