Project: Tic-Tac-Toe

Learn more about this resource and browse through a variety of related open source projects.


A simple Tic-Tac-Toe game implementation in C# using window based components. The user is greeted with the game setup form to select the blue or red player. Then, the game starts off in a five by five grid of clickable elements, similar to the traditional Tic-Tac-Toe setup. The user is tasked to beat a naive computer player that is configured to make random moves by selecting empty spots on the game board. As the game progresses, we check whether our win conditions are satisfied by checking diagonal left, diagonal right, horizontally and vertically. Depending on each player's moves, the game can end in a win or draw state.

Similar to this project


Involved in this project: Panos Ioannidis
A C# application that was developed as a university assignment for the subject of Human Interaction with Computers. The app includes sign in and registration features for employees and customers. We setup a virtual coffee shop interface with the ability to order items from a menu. We further include a virtual photocopy machine interface with several photocopying options to choose from. We also implement a complete online bookstore with book overviews and shopping cart features. This software was developed in phases based on RUP with detailed UML diagrams.

Airline Reservation System

A simple console based airline reservation system written in C++. Users are able to select existing flights determined by unique flight codes, view the list of direct and connecting flights, create and manage flight routes and make passenger seat reservations. Sample flights are included from and to Athens, Thessaloniki and Patra cities. The project has been developed with data structures in mind, using object oriented programming and utilizing data structures such as Linear Lists and Linked Queues.


Involved in this project: Dionysios Sotiropoulos
On this project, we study applications of the NEAT algorithm in deterministic and non-deterministic game environments. First, we look at an overview of the NEAT algorithm, how it works, design principles and the challenges that come with implementation. Next, we introduce a custom two-dimensional game in Python for two players: blue and red. We lay down the basic rules and structure, in order to create an environment suitable for neuroevolution. Finally, we study five training cases, where the blue and red player are given several tasks that must be achieved through the evolution of neural networks.

Android Emergency Application

Involved in this project: Panos Ioannidis, Dionisis Nikas
An advanced Android application that was developed as a university assignment for the subject of Software Engineering. The app is based on Google's Firebase platform. Users are able to easily authenticate with their Google accounts. Real time chat with a hypothetical licensed doctor, in-app and system wide alerts on major catastrophic events, a panic button for emergency calls, a driving mode that notifies of speeding violations and a disability mode for fall detection. This software was developed in phases based on RUP with detailed UML diagrams.

Android Speedometer

A simple Android application that was developed for the subject of Software Engineering. The app uses Google's services to determine the phone's location and creates a local database to keep track of speeding violations. The user is able to set the upper speed limit (km/h) and start or pause speed monitoring on demand. When a speeding violation is detected, the app notifies the user with characteristic sounds and text-to-speech messages. The longitude, latitude, speed and timestamp of the violations are stored locally and overlaid on a Google Map.
View all projects