Free Java Tutorials >> Table of contents

Learn and Share Java: Interactive Algorithms Textbook

Each chapter has code that you can try in the browser. You can also paste / share code, e.g. Java 8 features.

New Shared Code Editor


One page crib/cheat sheet pdfs with partial coverage of topics.

Part 1: Expressions and Operators

  1. Hello World, Compilation, Errors, print, and println
  2. Expressions, Variables, Swapping, and Casting
  3. Arithmetic and Assignment Operators
  4. Primitives, Expression Literals, Overflow, and Bitwise

Part 2: Logic and Looping

  1. Booleans, Comparisons, and Operator Precedence
  2. If, Switch, Break, Continue, and Ordering
  3. De Morgan's Laws, Truth Tables, Short Circuiting
  4. While, Do-While, Infinite Loops, Break, Continue, For
  5. Loop Algorithms: Aggregation, Double Loops, Primes, Digit Sums

Part 3: Arrays and Iterative Algorithms

  1. Arrays, Instantiation, Indexing, Length, Bounds
  2. Summation, Filtering, Min/Max, Search
  3. 2d Arrays, Jagged Arrays, Matrix Operations
  4. Binary Search, Matrix Multiplication and Rotation, Convolution
  5. Selection Sort, Bubble Sort, Insertion Sort

Part 4: Strings, Built in Functions, and Complexity

  1. Computational Complexity, Big-O, Worst/Best Case, Memory
  2. Common static function libraries, Math, Arrays, Random
  3. char, Strings, charAt, length, equals, reversal, compareTo, StringBuilder
  4. String arrays, split, substring, indexOf, replace

Part 5: Functions, Recursion, and Combinatorics

  1. Function declarations, return, multiple arguments
  2. Recursion, Induction, Fibonacci and String Recursive Algorithms
  3. Flood Fill, Flood Count
  4. Combinations, Permutations, Variations
  5. Mergesort, Quicksort

Part 6: Object Oriented Programming

  1. Classes, Constructors, Fields, Methods
  2. Visibility Operators, static, overloading, this
  3. Enums
  4. References, Array References, Wrapper Classes, Autoboxing

Part 7: Collections, Java Library

  1. Generics, Wildcards, Type Erasure
  2. ArrayList, Hash functions, Hash tables, HashSet, HashMap
  3. Algorithms using Collections
  4. Text Chapter: Scanner, IO, Net, Buffers

Part 8: Inheritance and Polymorphism

  1. Inheritance, extends, Object, super
  2. Abstract Classes, Generic extends
  3. Interfaces, Multiple Inheritance, Anonymous Classes, Lambdas
  4. Comparable, Iterable, Sorting Again, Map, Reduce, Filter
  5. Exceptions, try-catch-finally

Part 9: Datastructures and Graphs

  1. Linked Lists, Traversal
  2. Trees, Recursive Traversal
  3. BFS, DFS
  4. Heaps
  5. Graphs, BFS, DFS, Dijktra, Diameter

Part 10: Applications

  1. Mini Processing Examples
  2. Game Walkthroughs
  3. Twitter Bot Beginner Problems
  4. Bitcoin Programming Tutorial, Part 1
  5. Bitcoin Programming Tutorial, Part 2

Part 11: Appendix

  1. Youtube Video on Eclipse and Maven in 60 seconds
  2. The Processing IDE and Java Integration
  3. Graphics API resources and examples
  4. Threading
  5. Reflection
  6. TA Application Quiz
  7. Problem of the month
  8. The KTByte Challenge
  9. One Page Java Crib/Cheat Sheets