Tag: python

The list of open source computer science projects including the python tag.

2
android
1
biopython
3
bootstrap
1
c-plus-plus
2
c-sharp
6
css
2
cv2
2
firebase
1
flex-lexical-analysis
6
fontawesome
2
game
2
google-maps
3
hobby
6
html
1
jasypt
8
java
1
java-spark
6
javascript
3
jquery
1
jstl
1
laravel
3
matplotlib
1
mockaroo
2
multithreading
3
mysql
1
neat-algorithm
3
netlify
1
networkx
1
neural-networks
6
numpy
2
pandas
1
php
2
pillow
2
postgresql
9
python
3
react
1
reinforcement-learning
1
scikit-image
2
scikit-learn
1
scipy
2
servlets
7
sql
2
sqlite
3
tailwindcss
2
tomcat
19
university
3
visual-studio
6
web-app
2
website

Bioinformatics

Involved in this project: Panos Ioannidis
A Python project that was developed as a university assignment for the subject of Bioinformatics. The goal of this assignment was to process hypothetical sequences of nucleotides on seven different scenarios. The Biopython library is used for biological computation. The Needleman-Wunsch algorithm is utilized for sequence alignment along with Hidden Markov Models with the Viterbi algorithm.

Compilers

Involved in this project: Panos Ioannidis
A programming project that was developed as a university assignment for the subject of Compilers. This project features three languages: C, Java and Python and the Flex lexical analyzer. We include: a Python solution for the balanced parentheses problem using a pushdown automaton, a Python program that generates random character sequences based on specific grammar, a Java program that implements a top-down syntax analyzer and two lexical analyzers in Flex for sample variable and geometric shape declaration.

Cryptography

An experimental Python project that illustrates basic cryptography techniques. It features implementations of the Caesar and Vigenere cipher with their respective unit tests. The Caesar cipher is initialized with a key integer value ranging from 0 to 25. The Vigenere cipher is initialized with a key string value that is preferred to be a large sequence. Both ciphers have encrypt and decrypt methods that accept plain strings of text.

Image Processing

Involved in this project: Panos Ioannidis, Dionisis Nikas
A Python project that was developed as a university assignment for the subject of Image Processing. The program takes an input image and a reference dataset of photos. The goal is to colorize the greyscale image using a trained support vector machine. To achieve that, we have implemented a variety of image processing techniques. First, we change color spaces from RGB to LAB. Then, we apply the SLIC algorithm to find the group of superpixels for each image. These segments along with SURF and GABOR features are given as input for the SVM. Using scikit-learn, we use machine learning techniques to predict the color of a superpixel using the dataset superpixels as reference. The output of the program returns the colorized version of the input image.

Multimedia Systems

Involved in this project: Panos Ioannidis
A Python project that was developed as a university assignment for the subject of Multimedia Systems. The program first implements Run-length encoding (RLE) for a sample image of Mona Lisa. Then, Differential pulse-code modulation encoding (DPCM) is applied on a sample TV advert. We perform motion prediction for that advert and object removal on a video scene that features moving characters on a stage. For the error frame calculations, we use the sum of absolute differences (SAD) metric and macroblock techniques.

Pattern Recognition

Involved in this project: Panos Ioannidis
A Python project that was developed as a university assignment for the subject of Pattern Recognition. The program uses the "MovieLens 100K" dataset that includes movie ratings of random users. The data included is processed using the Pandas library. We implement three algorithms: Basic Sequential Algorithmic Scheme (BSAS), K-means and hierarchical clustering. Finally, we use a neural network with multilayer perceptron and least squares linear regression to make predictions on movie ratings.

Shannon Fano

Involved in this project: Panos Ioannidis, Dionisis Nikas
A Python project that was developed as a university assignment for the subject of Code and Information Theory. The program features a client-server implementation using sockets. It simulates a simple exchange of an image between the client and the server. Once the user inputs a specific parameter on how the image should be compressed, the Shannon-Fano coding is applied. The image is compressed and sent from the client to the server, which then applies decompression to reconstruct the image.

Social Networks Analysis

Involved in this project: Panos Ioannidis
A Python project that was developed as a university assignment for the subject of Social Networks. The program uses the "Stack Overflow Temporal Network" dataset and is processed using the Pandas library. We partition user interactions based on timestamps. We then create a graphical representation of the network as it progressed through time. Finally, we compute Degree Centrality, In-Degree Centrality, Out-Degree Centrality, Closeness Centrality, Betweenness Centrality, Eigenvector Centrality and Katz Centrality using the NetworkX library.

Thesis

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.