Google Summer of Code 2024 proposed ideas
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