Google Summer of Code 2024 proposed ideas

Από Ελεύθερο Λογισμικό / Λογισμικό ανοιχτού κώδικα
Αναθεώρηση ως προς 06:03, 24 Ιανουαρίου 2024 από τον Pkst (συζήτηση | συνεισφορές) (Νέα σελίδα με 'Contributors interested to participate should check which of the following projects fits their interests and skills. '''Τo communicate with the mentors and ask questi...')
(διαφορά) ← Παλαιότερη αναθεώρηση | Τελευταία αναθεώρηση (διαφορά) | Νεότερη αναθεώρηση → (διαφορά)
Μετάβαση στην πλοήγηση Πήδηση στην αναζήτηση

Contributors interested to participate should check which of the following projects fits their interests and skills.

Τo communicate with the mentors and ask questions about the projects, students should subscribe to this list and post relevant questions. Please follow the Proposal Template

For practical information, developers should visit this page.

Build Recorder performance improvements

Brief Explanation

Build recorder is a command-line utility to fully record the interactions between assets (files and tools) when a software component is being built (compiled).

The current implementation needs improvements to handle large-scale and parallel builds. The scope of this project is to implement such improvements.

Duration of the Project

350 hours

Related repositories

https://github.com/eellak/build-recorder

Knowledge Prerequisites

C, data structures, multi-threading

Mentors:

Alexios Zavras


Build Recorder extension for other languages

Brief Explanation

Build recorder is a command-line utility to fully record the interactions between assets (files and tools) when a software component is being built (compiled).

The current implementation only handles software being compiled using local resources, as s the case for C or C++. Other programming languages also use resources from the Internet when building a binary. The scope of this project is to extend build-recorder to record relevant information in these use cases.

Duration of the Project

350 hours

Related repositories

https://github.com/eellak/build-recorder

Knowledge Prerequisites

C and one of more other compiled languages: Go, Rust, Java, ...

Mentors:

Alexios Zavras

Development of an interactive flow visualization tool for visual / blockly programming, for educational use.

Brief Explanation

Programming with visual / blockly languages (scratch, makecode, etc) is quite common in the young ages. A more intuitive approach to this kind of programming is the creation of many threads/scenarios that communicate through messages. Yet, in many cases the resulting flow is tricky to follow, but very useful from an educational perspective. We will make a tool to reveal this flow, mainly the inter-thread communication. The input programming language will be processed as json structures, that could fold and unfold in the visualization. Communication among different threads and components will be shown explicitly. Different visualization methods will be available, that will fit to many programming languages.


Expected Results

Creation of an application to visualize code

Duration of the Project

350 hours

Related repositories

The project will make a new github repo. Related links are: https://eproceedings.epublishing.ekt.gr/index.php/cetpe/article/view/3690 https://github.com/dgmid/CodeOverview https://blog.ouseful.info/2016/02/18/blockpy-python-blockly-environment/ https://scratch.mit.edu/ https://developers.google.com/blockly/

Knowledge Prerequisites

Required: Python and other programming languages

Mentors:

Sarantos Kapidakis (sarantos.kapidakis@gmail.com)

HELP

Brief Explanation

Brief explanation=HELP is a location based mobile application (LBMA) with integrated emergency communications service, which includes an inbound and an outbound component similar to 112 or 911. You may use it with or without dialing 112 or 911 for free in any emergency anywhere (within available mobile network reception). The inbound component allows you to receive warnings or assistance of any kind and possibly allowing remote usage for the phone to light the flashlight for example or send a voice message. The outbound component will sent automatically location and other data if they are available (from any connected device like smartwatches or other health / sport devices) via multiple technologies and communication channels in case of imminent or occurring incident or dangerous situation constituting an immediate threat to your health and safety, so that you can report the incident and be reached and receive any kind of assistance. This application uses location to provide products or services based on information obtained from one or more smart devices. However, implementation and execution of these services may raise users privacy concerns related to sensitive information being handled so it has to be a FLOSS core application with possible plugins / add-ons for medical or other kind of assistance. On a later phase this application can be installed by default in any smartphone or similar device and will be available on any emergency even without SIM like 112/911.

Expected Results

A location based mobile application (LBMA) with integrated emergency communications service

Duration of the Project

175 hours

Related repositories

New project, no existing repo available.

Knowledge Prerequisites

Native iOS app and / or native Android app development skills.


Mentors:

Christos Iossifidis