Code and run your first Java program about algorithms in minutes without installing anything!
This course is designed for learners familiar with Java basics and object-oriented programming. It provides a solid foundation of not just Java, but core data structures and algorithms topics that can be transferred to other languages. The modules in this course cover an introduction to data structures and algorithms, measuring complexity (space and time), algorithm design techniques, and some commonly used algorithms for searching and sorting. To allow for a truly hands-on, self-paced learning experience, this course is video-free. Assignments contain short explanations with images and runnable code examples with suggested edits to explore code examples further, building a deeper understanding by doing. You'll benefit from instant feedback from a variety of assessment items along the way, gently progressing from quick understanding checks (multiple choice, fill in the blank, and un-scrambling code blocks) to small, approachable coding exercises that take minutes instead of hours.