Project Book
by: Redwanul Haque
Banking Cooperation
Project Details
The task at hand was to create a program in JAVA that simulates a real-world banking institution using a binary tree data structure. The program was designed to read a text file containing information about multiple customers, such as their names, account numbers, and balances. To make the program more efficient and user-friendly, the binary tree sorts the customer information in the in-order traversal of last name. This allows for faster and easier access to customer profiles when performing various banking operations. To provide a better user experience, a graphical user interface (GUI) was engineered. The GUI displays a banking information structure, which includes all the customer profiles, and offers various banking operations on the screen. These operations include deposit, withdrawal, profile creation, and profile checking. The user can perform these operations by entering corresponding numbers that are associated with each operation. This allows for a seamless user experience and easy access to banking functionalities.
Multithreaded Jeopardy Game
Project Details
Developed a Jeopardy game application using Java and socket programming to allow interconnectivity between multiple computers on the same Wi-Fi network. The custom graphical user interface (GUI) was built using Java's Swing framework and enables communication between the game host and players via socket connections. The application uses a socket server on the host-side to manage incoming connections from players and send data to each player. Each player's client-side implementation uses a socket client to connect to the server, receive data, and send data as needed. The custom GUI presents the Jeopardy game board with categories and questions, a text box for players to enter answers, and displays each player's score. As the host reads each question, players enter their answers into the text box provided by the GUI. When a player submits an answer, the server verifies its correctness and adds the corresponding point value to the player's score if the answer is correct. If the answer is incorrect, the server sends a message indicating that the player's answer was incorrect.
Decision Tree
Project Details
Developed a decision tree algorithm from scratch using Python programming language. The algorithm works by recursively partitioning the data into subsets based on the most informative features until a certain stopping criterion is met. The splitting criteria are chosen based on maximizing the information gain or minimizing the impurity measures, such as Gini index or entropy. The algorithm then predicts the outcome of the test data based on the learned decision rules. To improve the accuracy and robustness of the model, I also implemented a random forest ensemble method, which consists of constructing multiple decision trees on different subsets of the data and features and aggregating their predictions by majority voting. The random forest approach reduces overfitting and increases the generalization performance of the model, especially for complex and noisy datasets. I validated the performance of the decision tree and random forest models on various benchmark datasets and achieved competitive results compared to state-of-the-art methods.
Web-Based Text Parser
Project Details
Designed and developed a web application that allows users to extract the occurrence of all the words from a given URL and display them in descending order of occurrence. The application was developed using PHP and SQL technologies. The web application consists of two main components - the data extraction and processing component and the front-end display component. When a user enters a URL into the web application, the data extraction and processing component uses PHP to extract all the words from the webpage content. The words are then stored in a SQL database table with a count of the number of times each word appears. The front-end display component of the web application is responsible for presenting the words and their frequency to the user. This component also uses PHP to query the SQL database and retrieve the word count data for the URL entered by the user. The data is then processed and displayed to the user in descending order of word frequency using HTML and CSS.