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.
Overview
Syllabus
- Introduction to Algorithms and Complexity Analysis
- Welcome to Week 1 of the Algorithms course. You will learn about how to evaluate algorithms with relation to their time and space complexities.
- Algorithm Design Techniques
- Welcome to Week 2 of the Algorithms course. You will learn about different techniques used by algorithms when trying to solve problems.
- Searching and Sorting
- Welcome to Week 3 of the Algorithms course. You will learn about algorithms used to search and sort data structures.
Taught by
Patrick Ester and Kevin Noelsaint