Learn Algorithms and Data Structures in Java for Day-to-Day Applications

This course is a comprehensive guide to the algorithms and data structures used when designing architectural solutions and Big Data applications.

Features Includes:
  • Self-paced with Life Time Access
  • Certificate on Completion
  • Access on Android and iOS App

Course Preview Video


A comprehensive guide to the algorithms and data structures used when designing architectural solutions and big data applications.

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 courses treat data structures and algorithms as a theoretical computer science topics. This course relates every technique back to real-world problems and situations you will face working as a programmer. You will start off with data structures before diving deeper into hash tables and hash functions. This will allow your programs to find the in-memory data they need, even with huge quantities of records stored in the memory. 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 algorithms and probabilistic algorithms. You’ll also understand the importance of advanced data structures and graph algorithms. This will help you to build priority queues and save your time by keeping disgruntled users at bay. User databases and minimal computing requirements are on the rise. It's important to write sophisticated applications and run them with improved performance, and this course helps you write these applications. It 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.

About The Author

  • Tomasz Lelek is a Software Engineer, programming mostly in Java and Scala. A fan of microservices architecture, and functional programming. He dedicates considerable time and effort to be better every day. Recently diving into Big Data technologies such as Apache Spark and Hadoop.
  • He is currently using algorithms to handle ten millions of users of He is passionate about nearly everything associated with software development. He believes that we should always try to consider different solutions and approaches to solving a problem. Recently, he was a speaker at conferences in Poland - Confitura and JDD (Java Developers Day) and also at Krakow Scala User Group. He also conducted live coding session at Geecon Conference.
  • JDD: - ML Spark talk

Currently working on this website using ML:

Basic knowledge
  • Java programming language

What will you learn
  • Explore the Big O Notation and analyze algorithms to write efficient data structures
  • Leverage data structures for building blocks with Stacks and Queues
  • Implement sorting efficient algorithms with Heapsort to sort huge data sets within time limits
  • Create immutable code Recursion programming algorithms in a functional way to make your programs more concise and elegant and reduce memory consumption
  • Estimate the cardinality of a dataset and estimate elements of data sets with a small memory footprint
  • Use Querying Binary Search Trees and Hash tables to speed up querying in an application
  • Use algorithms to get approximate answers quickly, when speed matters more than precision
  • Scale your applications to millions of users with algorithms
Course Curriculum
Number of Lectures: 22 Total Duration: 02:41:43

No Review Yet