Learn how to extend a class to make a new class, use the keyword super, the Object super class, and polymorphism.
Learn how to solve problems using recursion and investigate various searching and sorting algorithms.
Students will learn more about references and parameters, abstract classes and interfaces.
Learn about Java's Iterator and ListIterator classes, Big O Notation for measuring runtime specifications for different data structures, and how to anticipate and deal with exceptions that may occur in your code.
Learn about the Java Collections Framework, how to use a HashSet, how to use a TreeSet, and the differences between the two. Runtime specifications will be discussed.
Learn about the Map interface and its hierarchy, as well as the TreeMap and HashMap classes and runtime specifications for each.
Learn how to convert numbers between different bases, more about binary numbers, and how computers uses electricity to do what they do.
Learn to design and implement a stack data structure, use Java's predefined Stack class, and use stacks to solve problems.
Learn to design and implement a queue data structure, use Java's predefined Queue interface, and use queues to solve problems.
Learn how to design and implement a linked list data structure using ListNode objects, use Java's LinkedList class, and how to store objects in a ListNode inside of a LinkedList. Runtime efficiency is discussed and compared to that of an array.
Learn how to design and implement a hash table data structure. Focus on the importance of writing correct hashCode and equals methods for all objects being stored in the Hashtable.
Learn how to design and implement a binary search tree data structure using TreeNode and how to store objects in a TreeNode inside of a BinarySearchTree. Runtime efficiency is discussed and compared to that of a LinkedList.
Learn how to add to, delete from, search, and perform other manipulations on a Heap and a PriorityQueue.
Learn how to design a graph data structure and how to write algorithmic solutions to problems using graphs.