Beginning Java Data Structures and Algorithms


Contact Us

We would love to hear from you. Please complete this form to pre-book or request further information about our delivery options.


I'd like to receive emails with the latest updates and promotions from Insoft.

Data Protection & Privacy

I hereby allow Insoft Ltd. to contact me on this topic. Further, I authorise Insoft Ltd. processing, using collecting and storing my personal data for the purpose of these activities. All your data will be protected and secured as outlined in our privacy policy.

Upcoming Dates

Jul 25 - Jul 26, 2022
09:00 - 17:00

Aug 22 - Aug 23, 2022
09:00 - 17:00

Sep 19 - Sep 20, 2022
09:00 - 17:00

Oct 17 - Oct 18, 2022
09:00 - 17:00

Nov 14 - Nov 15, 2022
09:00 - 17:00

Dec 12 - Dec 13, 2022
09:00 - 17:00

Beginning Java Data Structures and Algorithms
2 days  (Instructor Led Online)  |  Application Development

Course Details

The Beginning Java Data Structures and Algorithms course introduces different algorithmic techniques in each chapter. It does this by describing example problems and providing Java implementations where appropriate.

Choosing the right algorithms and data structures for real-world software development problems helps to keep solutions simple and efficient. In this two-day course, we explore various core algorithms and provide detailed implementations.

The course provides a base understanding of runtime complexity theory and then gradually exposes the reader to various methods and concepts on the subject. Each chapter is designed to build on the learnings of the previous ones.


See other courses available


This course is packed with the theory and hands-on activities that will help cement the foundation of algorithms and data structures. Algorithms and data structures are the lifeblood of programming. They enable the programmers to write the code that handles the data efficiently.


Lesson 1: Algorithms and Comlilexities

  • Developing our first algorithm
  • algorithmic complexity with Big O notation
  • Identifying algorithms with different complexities

Lesson 2: Sorting Algorithms and Fundamental Data Structures

  • Introducing bubble sort
  • Understanding quick sort
  • Using merge sort
  • Getting started with fundamental data structures

Lesson 3: Hash Tables and Binary Search Trees

  • Introducing hash tables
  • Getting started with binary search trees

Lesson 4: Algorithm Design paradigms

  • Introducing greedy algorithms
  • Getting started with divide and conquer algorithms
  • Understanding dynamic programming

Lesson 5: String Matching Algorithms

  • Beginning naive search algorithm
  • Getting started with the Boyer-Moore string searching algorithm
  • Introducing other string matching algorithms

Lesson 6: Graphs, Prime Numbers, and Complexity Classes

  • Representing graphs
  • Traversing a graph
  • Calculating shortest paths
  • Prime numbers in algorithms
  • Other concepts in graphs
  • Understanding complexity classes of problems

Target Audience

The target audience of this course is Java beginners who want to estimate the efficiency of the code and understand different algorithm techniques beneficial for a broad set of tasks. It is expected that the audience has a basic understanding of object-oriented programming techniques.



This Java Data Structures and Algorithms course will require a computer system for the instructor and one for each student. The minimum hardware requirements are as follows:

  • Processor: i3
  • Memory: 2 GB RAM
  • Hard disk: 10 GB
  • Internet connection



  • Operating system: Windows 8 64–bit or MacOS
  • A text editor:  Notepad++
  • A terminal: Command Prompt or PowerShell on Windows or Terminal on macOS
  • A run-time environment: Java Runtime Environment(JRE) 1.6 or higher
  • A software development kit: Java SE Development Kit, JDK 8 (or a later version)