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
Share on facebook
Share on twitter
Share on linkedin
Share on email

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!