Giter VIP home page Giter VIP logo

Sup, it is Dima here!

๐Ÿ‘€ About me

๐Ÿค Contact

Telegram Badge LinkedIn Badge

๐ŸŽ“ Education

Bachelor of Science in Computer Science

  • Constructor (formerly Jacobs) University Bremen (CUB), Feb 2023 - Jun 2024
  • Higher School of Economics in Saint Petersburg (HSE Spb), Sep 2021 - Aug 2023, transferred to CUB

๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป Work

Most relevant work experience is listed in my CV above.

๐Ÿ› ๏ธ Projects

Projects for each language are listed chronologically, most notable are marked with emoji.

๐Ÿ’™ C++

  • โ— Weak Memory Models Simulator: a 3rd year semester project at CUB of the same named course. This course tought me differences between hardware & pl memory models (MM) and concepts around weak MM in general. In this project I implemented 4 memory models: SC, TSO, PSO, Strong RA, interpretors for them, and lexer + parser for a simple programming language to write multithreaded programs with.

  • โ— PNG Decoder: decoder that reads PNG image binary data from disk and parses it as RGB array. It was a part of "Effective C++" course held by Spectral:Technologies during 2nd year of education at HSE (SPb).

  • ASCII Converter: a converter that parses BMP image binary data from disk and creates an ASCII equivalent image (as a plain text file).

  • โ— InVasion: 1st year project at HSE Spb, an online multiplayer shooter game with top-down view. It was my first experience coding a big pet project in C++. It was done completely from scratch on the backend part. For the graphics we (it was a team of 3 people) used Godot engine. My duties were to implement asynchronous server (I created TCP server using Boost Asio), data (de)serialization, and whole front-end.

  • University Labs (unfortunately, I cannot put them publicly): 1st year at HSE Spb labs which included unit-testing library written using macros, widgets hierarchical collection with virtual methods, tic-tac-toe terminal game with dynamically loaded graphics library, custom unique and shared pointers, TCP-server that emulated bank transactions between arbitrary number of connected users, BMP images parser, custom vector with allocators.

  • Gengo: my high-school experience of writing non-contest code in C++. A very bad programming language. My code here sucks, but I still put it here for the record purposes. Btw, "gengo" means "language" in Japanese ๐Ÿง.

๐Ÿ”ธ Java & Kotlin

  • โ— Devscribe: (this one is Kotlin project, the rest are in Java) a 3rd year semester project at CUB in IDE development course. It is a simple IDE with such features as: text modification, shortcuts, mouse navigation, in-file searching, virtual file system (VFS), syntax highlighting for a custom programming language, text scaling and theme switching. It was a project of 2 people, my part was mostly VFS and UI components.

  • Java Symbols Counter: Intellij IDEA plugin for counting symbols (classes, methods per each file) in java projects. It was an assessment for one of the JetBrains internships. I crunched pretty hard on it in a short period of time, since I have never worked with IDEA plugins and Swing UI components before.

  • โ— Enchanted Towers: 2nd year semester project at HSE Spb, an android game in which players compete by capturing and holding towers on a real map by casting spells on their phone screens (drawing predefined curves with fingers) or on actual paper (by taking photo of them) and destroying protection walls of towers (thus, capturing the foe's tower). It was a team project of 3 people. My duties were: implementation of canvas interactions (eg. drawing with finger, sending, and receiving curves (spells) via network using gRPC), pattern matching using Hausdorff metric, OpenCV contours extraction from photo, and attacking towers & spectating other players attacks in real time.

  • โ— Mini Git: one of the 2nd year labs at HSE Spb, I implemented git replica with such functionality: staging files, commiting, logging, branching and checkouting. Implemented resources management according to git internals specification with tree-like files dependencies.

  • Threadpool: one of the 2nd year labs at HSE Spb which is a custom threadpool implementation with LightFuture task-class that allows to register execution of a consequent task after completion of the submitted one.

๐Ÿ‹ Javascript

  • โ— Task Manager: a complete Trello clone written in MERN stack (MongoDB, ExpressJS, React, NodeJS) with users authentication, boards management, invitation system, and ability for multiple clients to work simultaneously on a shared board. Since Heroku shut down their free hosting plan, the application is not online. When I have the mood, I rehost it somewhere else...

  • Movie Telegram Bot: a simple telegram bot that uses IMDB API for searching movies info. I also implemented watchlist functionality using MongoDB: user can save movies they like for later reference.

๐Ÿ Python

  • โ— Pushdown Automata: a formal languages course team project for 2nd year at HSE SPb. Its goal is to implement pushdown automata with other various components such as context-free grammar syntax, grammar lexer and parser, and grammar conversion algorithm. My part was the implementation of algorithm that converts initial arbitrary context-free grammar into Greibah Weak Form and testing.

  • โ— MarioDQN: a team (of 5 people) project that won 1st place in the competition of the HSE School of Practical Programming and Data Analysis with the support of JetBrains. It was high school boot-camp aimed to give basic knowledge of Data Analysis & ML to the students. I have studied the basics of neural networks and reinforcement learning algorithms from scratch, implemented the final version of the Deep Q Learning algorithm for agent training (Mario). The results of Mario's progress through the level can be seen in the repo. Also we created a habr post about our project.

Dmitrii Art's Projects

awesome-cpp icon awesome-cpp

A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

clinic_calendar icon clinic_calendar

MERN App for staying in touch with your medical assistant or personal doctor

cub-cpp-ta-assessment icon cub-cpp-ta-assessment

Custom implementation of `std::any`. Test assessment for teaching assistant in C++ position at CUB 2024.

dbws icon dbws

Data base and web services course at Constructor University Bremen

emberab icon emberab

Github repo for the showcase for ember.se

foxford_courses icon foxford_courses

ะจะฐะฟะบะฐ ั‚ั€ะตะดะฐ, ะฟะพัะฒัั‰ะตะฝะฝะพะณะพ ะบัƒั€ัะฐะผ ะคะพะบัั„ะพั€ะดะฐ ะธ ะฝะต ั‚ะพะปัŒะบะพ.

gengo icon gengo

Gengo - dumb interpreted programming language based on C++

lincheck icon lincheck

Framework for testing concurrent data structures

mini-git icon mini-git

Git replica with basic functionality of the version control system

png-decoder icon png-decoder

PNG decoder written according to the PNG image specification

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.