More Information
  • Implement data structures to maximize program effectiveness and efficiency.
  • Develop algorithms to manipulate large data sets.
  • Build multiple search algorithms to benchmark results
  • Develop optimized algorithms for sorting various data structures
  • Design algorithms with Big O notation

Programs are created from algorithms and data structures. Mastering these is an essential part of your development as a Java programmer. They are the main building blocks for each architectural pattern. Many tutorials treat data structures & algorithms as theoretical computer science topics. This course relates every technique back to real-world problems and situations you will face working as a programmer. The vision of the course is to get you acquainted with the core and advanced data structures and algorithms used for day-to-day applications. You’ll see how they work and how to use them effectively in your own programs. This course will be full of step-by-step instructions, revealing examples, and clear explanations that will help you understand the practical application of each algorithm with scenario trade-offs. You’ll learn to use querying binary search trees. The course will take you through heapsort, quicksort, recursion, and tail recursion algorithms. You’ll get familiar with multithreading and probabilistic algorithms. You’ll also understand the importance of advanced data structures and graph algorithms. This course will help you to gain in-demand knowledge of key data structures and algorithms and prepare you for the next stage in your career as a developer.
All the code and supporting files for this course are available on GitHub at

Style and Approach

This course takes an inform and demonstrate the approach. Each data structure and algorithm are thoroughly explained followed by a demonstration using the Java programming language. In addition to hands-on instruction, the course features real-world illustrative examples. Tips and best practices are shared throughout the course to empower you to develop effective and efficient code.

  • Complete coverage of data structures and algorithms to manipulate them effectively and efficiently.
  • Clear instructions, hands-on activities, and real-world examples empower you to implement best practices in your everyday development work.
  • Features the Java programming language with support for the JDK 11 release.
Course Length 2 hours 47 minutes
ISBN 9781789805819
Date Of Publication 30 Dec 2018


Dr. Edward Lavieri

Dr. Edward Lavieri is a veteran software engineer and developer with a strong academic background. He earned a Doctorate of Computer Science from Colorado Technical University, an MS in Management Information Systems (Bowie State University), an MS in Education (Capella University), and an MS in Operations Management (University of Arkansas). He has been creating and teaching computer science courses since 2002. Edward retired from the U.S. Navy as a Command Master Chief after 25 years of active service. He is the founder and creative director of three19, a software design and development studio. Edward has authored more than a dozen technology books, including several on Java.