This project presents a Java implementation of the Ford-Fulkerson algorithm, a fundamental algorithm in graph theory used to solve the maximum flow problem. The solution includes corrected source codes for the implementation, incorporating a breadth-first search (BFS) to find augmenting paths in a residual graph, and a random graph generator. The code demonstrates the algorithm's steps, including updating residual capacities and calculating the maximum flow. Furthermore, the project provides a performance analysis of the implementation, discussing its time complexity, which is O(EV^2) for Edmonds-Karp implementation, and its representation using an adjacency matrix which results in O(EV^3) time complexity. The assignment provides a detailed explanation of the code and the algorithm's performance characteristics.