This repository contains Java projects for COP3503 (Computer Science 2) at the University of Central Florida. It includes implementations of fundamental data structures, algorithms, graph theory, GUI programming, and object-oriented programming (OOP) concepts in Java.
This repository includes the following Java projects:
-
CourseCombinations.java (Combinatorics / Backtracking)
- Generates all possible course combinations based on predefined constraints.
- Useful for scheduling and permutation-based problem-solving.
-
GreedyRobots.java (Greedy Algorithms / Optimization)
- Implements a greedy strategy to optimize movement and resource collection.
- Demonstrates the efficiency of greedy heuristics in decision-making problems.
-
GreedyChildren.java (Greedy Algorithms)
- Applies greedy algorithms to solve distribution and optimization problems.
- Located in
src/EustisSetup/
-
ParenthesesCombinations.java (Combinatorics / Backtracking)
- Generates valid parentheses combinations using recursive backtracking.
- Useful for parsing problems and expression validation.
-
CampusNetworkPlanner.java (Graph Theory / Minimum Spanning Tree)
- Plans optimal network connections across a campus using graph algorithms.
- Implements disjoint set (union-find) and edge-based graph structures.
- Demonstrates MST algorithms for network optimization.
-
TreasureHunt.java (Graph Traversal / Pathfinding)
- Implements graph traversal algorithms to find optimal paths.
- Demonstrates BFS/DFS and pathfinding techniques.
-
LinkedList.java (Data Structures)
- Implements a linked list with methods for adding nodes, processing the list, and loading/saving data from/to files.
- Useful for understanding linked list operations and file I/O in Java.
-
Node.java (Data Structures)
- Represents a node in the linked list, containing an integer item and a reference to the next node.
- Essential for the linked list implementation.
-
LinkedListTester.java (Testing)
- Contains the main method to test the functionality of the
LinkedListclass. - Demonstrates loading data from a file, processing the linked list, and saving the results.
- Contains the main method to test the functionality of the
- ShopGUI.java (GUI Programming / E-commerce)
- Implements a graphical user interface for an e-commerce application.
- Demonstrates Swing/AWT components and event-driven programming.
- Integrates with inventory management and transaction logging systems.
-
Clone the Repository
git clone https://github.com/your-username/COP3503_Projects.git cd COP3503_Projects -
Run Java Files
- Open in an IDE (IntelliJ, Eclipse, VS Code)
- Compile & run in terminal:
javac filename.java java filename