Read more

Projects

KNN

During the Data, Big Data, and Artificial Intelligence course, we developed an image classification application, blending technical expertise with educational value. We utilized Python, Qt, NumPy, psycopg2, and Matplotlib, with PostgreSQL for database management. Our primary goal was to implement the K-nearest neighbours (KNN) algorithm for image classification, integrate it into a comprehensive application, and ensure seamless database connectivity.


TowerDefence

During the Software Engineering II: Design and Management class, we developed a classic tower defense game using Python, incorporating the tkinter framework for the graphical user interface (GUI) and Flask for the server-side component. The game allows players to engage in tower defense gameplay either locally, playing solo, or with another individual via the server using an API address. Within the tkinter framework, essential elements such as buttons, labels, and canvas elements were utilized to construct the game interface. Flask was employed to establish the server, manage client-server communication, and enable multiplayer functionality through an API. Players can interact with the game interface to strategically place towers, manage resources, and fend off waves of enemies. The server facilitates multiplayer gameplay by synchronizing game states between players, managing matchmaking, and handling game events via the API. Additionally, the project integrates challenge features to enhance player engagement and progression. These challenges offer specific objectives, such as defeating a certain number of enemies within the game, with progress and rewards managed within a SQLite3 database. As players complete challenges, they unlock rewards such as in-game currency, upgrades, or new game content, with additional challenges gradually unlocked as players achieve milestones or complete existing ones. Throughout the project, software engineering principles and methodologies were applied, with team members collaborating on various aspects, including game mechanics, GUI design, server-side implementation, and database management. Emphasis was placed on software quality, maintainability, and meeting project deadlines, with regular meetings, version control, and collaborative tools utilized to ensure effective communication and coordination among team members. The resulting tower defense game showcased the team's collective efforts and demonstrated their proficiency in software engineering concepts and practices.


Contact Me