This course taught me how to program in Java.
Lesson topics included basic syntax (i.e., print statements and comments, variables and types, conditional statements and comparison operators, loops, user-defined methods, and string methods), basic arrays and 2D arrays, Object-Oriented Programming, (i.e., classes and constructors, object state and behavior, getter and setter methods, scope, inheritance, and polymorphism), Java's built-in data structures (i.e., Lists, HashMaps, and Sets), and dynamic programming and additional practice (i.e., the Knapsack Problem, Capturing Rainwater Problem, and Sieve of Eratosthenes).