Andrey Bogdanchikov, Developer in Almaty, Almaty Province, Kazakhstan
Andrey is available for hire
Hire Andrey

Andrey Bogdanchikov

Verified Expert  in Engineering

Software Developer

Almaty, Almaty Province, Kazakhstan

Toptal member since November 9, 2018

Bio

Andrey has spent more of a decade exploring and working in the fields of algorithms and programming. As a university instructor, he's taught courses in C++, Java, Python, algorithms, Unix/Linux, MPI, Hadoop, and Spark. Currently, Andrey is very interested in applying his skills in other fields.

Portfolio

Suleyman Demirel University
Spark, Hadoop, C, C++, Python, Java

Experience

  • Java - 12 years
  • PHP - 10 years
  • SQL - 10 years
  • Python - 8 years
  • Linux - 8 years
  • MPI - 5 years
  • Hadoop - 4 years

Availability

Part-time

Preferred Environment

Linux, Unix, Vim Text Editor, Git, NetBeans

The most amazing...

...thing I've done was to write a plugin for the detection of source-code plagiarism to "encourage" my students to write their own, simple solutions.

Work Experience

Assistant Professor

2008 - PRESENT
Suleyman Demirel University
  • Created a source-code-plagiarism-detection module to check students' programming exercises.
  • Constructed Android applications so that students could take tests on various subjects.
  • Developed exam seating plan generation using Python.
  • Taught various computer science courses.
Technologies: Spark, Hadoop, C, C++, Python, Java

Experience

Coding Contests

Starting from my school days, including my time spent at university, I've participated in many programming Olympiads.

· In my last year at university, I won a silver medal in the Republic Olympiad.
· In 2003, I traveled to the US and participated in IOI (International Olympiad in Informatics) as one of four participants representing Kazakhstan.
· From 2005 to 2010, I participated in a number of ACM ICPC competitions.

· Topcoder alias: atrades
· Codefoces alias: atrades

Testing App

I developed an Android application to make interactive, adaptive tests to students on various subjects. It uses an internal SQLite database full of test questions.

The project was implemented using three different prototypes. The first was a simple test with no adaptivity. The second separated the questions into ten different levels and the user needed to answer at least eight correct questions to pass to next level. The third and final one was built with an adaptive approach in mind so a user who answers more questions rapidly increases his progress, otherwise, the progress slows down.

This project was implemented as part of my PhD research.

Seating Plan Generator

I built this Python-based application to assign specific seat arrangements in an auditorium during university exams. It uses students' registration details as input to obtain a list of relevant students and their registered courses.

A manager inputs the exam dates and the specific auditoriums along with their capacities. The application then chooses the auditoriums for each exam and assigns each student a specific seat. It also creates an Excel spreadsheet with a different student seating plan for each exam and their exact seat assignment.

Mosaic

https://github.com/atrades/mosaic/
This generates a mosaic image using a set of grayscale images. I used a PIL library in Python to extract information from the images and reconstructed larger images using pixel data and selecting an image that is closer in the color space to each given pixel. As a result, some very large images that were created consisted of other images.

Copy Detector

This is a Java project that I used in my class called Introduction to Algorithms. I used it to detect plagiarism in my students' source code. It took all of the student-submitted source code, compared it to one another, and similar programs were detected. This project preprocesses all of the source code and removes unnecessary information such as comments and extra spaces, leaving just the variables, and then compares the code.

Localized Document Management System

I worked as part of the team that implemented a document management system for a small company using a Joomla framework on PHP. I specifically implemented the version reconstruction of the document that was sent, redirected, returned, and updated by multiple people.

Education

2010 - 2014

PhD Degree in Computer Science

Suleyman Demirel University - Almaty, Kazakhstan

2008 - 2010

Master's Degree in Computer Science

Suleyman Demirel University - Almaty, Kazakhstan

Skills

Libraries/APIs

MPI, REST APIs

Tools

Vim Text Editor, Eclipse IDE, Git, Postman

Languages

Java, Python, C++, PHP, SQL, C

Platforms

Linux, JavaFX, NetBeans, Unix, Apache Pig, Android

Storage

MySQL, Apache Hive, HBase

Frameworks

Hadoop, Spark

Paradigms

MapReduce

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring