Project

Graph-Algorithms Visualizer

Challenging
65 completions
~ 38 hours
4.2

Learn how to draw graphs, create vertices and edges, connect them, handle events, and learn different algorithms in-depth. Apart from that, learn how to make your application extensible to support more and more algorithms in the future.

Provided by

JetBrains Academy JetBrains Academy

About

Visualization always draws attention. And it makes learning easier. What if we could visualize everything? In this project, you will build a Java GUI application with Swing to create graphs and visualize graph algorithms like traversals, spanning trees, and shortest pathfindings. You will practice concepts frequently tested in technical interviews at top tech companies.

Graduate project icon

Graduate project

This project covers the core topics of the Java Desktop Application Developer course, making it sufficiently challenging to be a proud addition to your portfolio.

At least one graduate project is required to complete the course.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Set up the frame and panel, draw circles, and place them in different corners.
Place vertices on the screen by clicking. Create a dialog box for configuring vertex IDs.
Connect two components with a simple line to create an edge. Create a menu bar to handle menu events.
A nice user experience is a must. Add the option to remove vertices and edges to help users correct accidental errors.
Let's dive into the meat of the project – the algorithm implementation. Learn about graph traversal and implement it by highlighting vertices and edges.
Learn and implement Dijkstra's shortest path algorithm and modify your code architecture to support more algorithms.
Keep up with Prim's Algorithm and learn about the minimum spanning tree concept. Test your code architecture for extensibility.

Reviews

Tomasz Zurawski avatar
Tomasz Zurawski
6 months ago
The project was well designed and engaging, with tasks that encouraged real understanding rather than superficial solutions. Overall, it was a valuable and rewarding challenge.
Andrei Alexeev avatar
Andrei Alexeev
8 months ago
I learned how to implement and visualize graph algorithms (DFS, BFS, Dijkstra, Prim) in a Java Swing application.Dijkstra was the most challenging algorithm for me to understand. Once I grasped how it works, implementing Prim was a bit easier since it required only small modifications to the same a ...
Jeroen Taheij
1 year ago
How to implement and visualize graphs and several algorithms which can be aplied to graphs. Very interesting, but challenging.

4.2

Learners who completed this project within the Java Desktop Application Developer course rated it as follows:
Usefulness
4.4
Fun
4.2
Clarity
4.0