Introduction to Algorithms and Data Structures (Java)

Course Number:

NTVJVA155

Audience:

Course Duration:
3 Days

Prerequisites:

Solid Java programming skills are required. At least 6 months of hands on experience with Java or graduating a Java boot camp are required.

Course Objectives:
  • Be able to explain the guiding principles behind analyzing an algorithm
  • Implement code and discuss the intent of the Merge Sort algorithm
  • Gain a deeper appreciation of the Java Collection Framework
  • Work hands on with less common collection classes
  • Understand and demonstrate Big O notation
  • See the benefits and speed of good hashing algorithms
  • Implement code and explain the motivation for using a Quicksort
  • Practice fundamental graph concepts
  • Learn to implement a Breath First Search
  • Implement code and analyze Dijkstra’s Algorithm
Course Outline:
  • Introduction
    • Algorithms – why bother?
    • The Power of Algorithms
  • Data Structures – Part One (The Java Collection Framework)
    • The Collections Framework and its API
    • Collections and Java Generics
    • Collection, Set, List, Map, Queue
    • Autoboxing
    • Collections of Object (non-generic)
    • Using ArrayList, HashSet, HashMap, NavigableMap, LinkedList
    • for-each Loop
    • Processing Items with an Iterator
    • Sorting- Collections.sort(), TreeMap and TreeSet, Comparable and Comparator
  • Data Structures – Part Two (Streams)
    • The Stream API
    • What are Streams?
    • Streams and Collections
    • Filtering Collections
    • Chaining and Pipelining
    • Processing Techniques
    • Extracting Data – searching, sorting, performing
  • Merge Sort
    • Motivation and Intent
    • Psuedocode
    • Analysis
    • Implementation
  • Asymptotic Analysis and Big O Notation
    • Why Asymptotic?
    • Big O Fundamentals
    • Big Omega and Theta
  • Hash Tables
    • Hashing Explained
    • Motivation
    • More Effective Java
    • Implementation
  • Quicksort
    • High Level Description
    • Performing Quicksort
    • Examining the Running Time
  • Breath-First Search (BFS)
    • Getting Started with Graphs
    • Motivation for BFS
    • Implementing BFS
  • Dijkstra’s Algorithm <optional – if time allows>
    • Terms to Know
    • Intent of Dijkstra
    • Implementation

Related Posts

About Us

IT Training, Agile Ways of Working and High Impact Talent Development Strategies

Let Us Come to You!

Classes recently delivered in: Atlanta, Boston, Chicago, Columbus, Dallas, Detroit, Indianapolis, Jerusalem, London, Milan, New York, Palo Alto, Phoenix, Pittsburgh, Portland, Raleigh, San Antonio, San Diego, San Francisco, San Jose, Seattle, Springfield, Mass., St. Louis, Tampa and more!