It is not the first year that the Lyceum holds an online recruitment of students for the new academic year. In this launch, I led the development of plugins for Moodle system that allows to automate the process and take the workload off the organizers.
LMS linkSummer 2023 internship in VKontakte. Worked in the team to develop and improve the functionality of the feed and recommendations.
Lead Andrew Fedotov
The company is engaged in teaching English, mainly provides corporate solutions for employee training.
I have set up several landing-page sites. Everyone in the company is used to WordPress, so the sites were written as themes for WP with embedded plugins for processing applications.
For example, there was a project in collaboration with rys2.ru, in which students were invited to go to a summer camp.
Main siteITMO University student, department of Computer Science
2021-2025
Graduate from the top-3 school in Russia in terms of graduate competitiveness
2017-2021
Completed a Python course in Yandex School of Data Analysis (in collaboration with ITMO)
Fall 2023
Completed an iOS Development course in VK Education (in collaboration with ITMO)
Fall 2022
Filter by industry: iOS PHP Python C++
Test assignment for the VK Market 2024 internship. It was completed in 4*15 hours of work. The design consisted of several parts of different projects found on Behance.
This app is build on two underlying systems: OpenWeather API integration and a CoreData-based cache mechanism. A dynamic search function was implemented to allow users to search for places on a map.
This is a learning management system in which students write the first stages of olympiads, some exams, tests, etc. For several years now, the selection for admission to this lyceum has been conducted on the basis of this site. My task was to rework the current algorithm of the plugin to make it work stable and introduce new features.
So now the entire stage of primary selection takes place in this system, each scenario has been worked out and does not require manual processing.
There might be an illustrarion of the project...
Parser generator for reading, processing, executing, or translating structured text or binary files (ANTLR like).
Generates Python 3 code for processing .g4 files as implemented in ANTLR. File parsing .g4 is realized with the help of the ANTLR parser according to the written syntax of such files.
Supports SLR grammars, bottom-up parsing, synthesized and inherited attributes.
There might be an illustrarion of the project...
Implementation of the ANTLR Listener for parsing and processing a file with code and translating syntax into another language.
There might be an illustrarion of the project...
The data was obtained by parsing the entire Vivino website and was supplemented with information from the Wine Enthusiast database published on Kaggle.
An analysis of the use of various machine learning algorithms was conducted and those that are best suited to the desired tasks were identified. For example, predicting the success of the vintage and the number of "world top percentages" this wine is able to achieve.
The game is a table of cells, each of which has two states: infected or not. The user can infect cells by clicking on them. Once in a beat, the neighbors of infected cells become infected. The game ends when all the cells have become infected.
The main difficulty is multithreading and efficient use of resources. Since the table can be zoomed and scrolled, it is important that the displayed cells are not unloaded from memory, and the main processor thread is not busy so that there is smooth interaction.
The well-known game 2048 in a minimalistic design. The colors of the dice are determined by the distribution function of the number written on it; the last state of the board is remembered so that when you re-enter the game you can continue the previous game; both light and dark themes are supported.
A voice-recording app that allows users to record, save, and play back their voice recordings.
An analogue to the well-known app. However, in this app, data is stored locally, so it is not a social media platform, but a personal archive of your life's stories.
With an eye on the Telegram iOS Contest 2022, Round 1.
In a short period of time, I was not able to implement all the necessary features. However, However, the application allows you to create drawings on a canvas, selecting the color and line thickness.
There might be an illustrarion of the project...
xv6 is an operating system created at MIT for learning. One of the possible modifications is the implementation of the copy-on-write mechanism, which was done.
There might be an illustrarion of the project...
Implementation of a network file system in the form of a Linux module.
Based on the provided API, an independent module has been created that supports basic file writing, storage, deletion, and editing functions.
There might be an illustrarion of the project...
Implementation according to the principles of the WordNet of Princeton University to find the semantic proximity of words and highlight the “superfluous” from the list.
The site offers various options for personal English learning.
Courses for children offering various formats and subjects of study. Information about various activities is published here. This site is also aimed at the families of employees of companies that FluentRussia cooperates with.
Allows you to parse elf files, completely parsing their structure. Supports almost all known commands.
There might be an illustrarion of the project...
Managing virtual memory pages. Extending the pool allocator implementation to the buddy system and adding a feature for using objects in the cache (FIFO).
An effective implementation of an algorithm for increasing the contrast of an image with a given coefficient. The parallelization of calculations has been thought out.