ITMO University Hosts GoTo Project School
Each school break, the GoTo programming project school holds sessions in different parts of Russia, bringing together talented school and university students. At such events, they are given the opportunity to work on projects in such fields as data analysis, machine learning, industrial programming, IoT, bioinformatics, distributed systems and blockchain. GoTo’s autumn session at ITMO University involved 50 university students and highschoolers from all around the country. The participants developed individual projects under the guidance of experts from leading IT companies, and attended lectures and workshops by the school’s teachers and guest speakers.
This time, Aleksandr Panin from Yandex spoke on the topic of Reinforcement learning, Fedor Tsarev from WorldQuant held a workshop on machine learning in finance, and Aleksandr Shevchenko from the Bitfury group conducted both a workshop and a lecture on private blockchain. ITMO.NEWS learned about the advantages of participating in such events from both the school’s participants and mentors.
Dmitriy Volkov, curator for the Distributed Systems track, FLOSS developer
We usually sort participants into tracks; this time, I worked with the one that had to do with distributed systems. I decided to teach here because the organizers came up with some effective concepts: the classic educational system is not always the best choice, and the intensive project school format with a short feedback cycle can be very productive, as teachers and participants can communicate as equals.
As there are constantly more and more sensors in the world - from weather stations to those used in the latest methods of DNA sequencing - the amount of data grows, and we now have to process terabytes of data. Our first module, Corporate Distributed Systems and Data Storage and Processing, focused on how to deal with such challenges. There are software tools that are used by such companies as Yandex, Mail.Ru and Google. Those help when we have several terabytes of data that we can’t process with our current RAM - a standard Big Data task. There are two main problems here: we need to store more and process faster. For this module, we study different subjects, from basic instruments of parallel and concurrent programming to the more advanced concepts like memory barriers and sophisticated approaches like Software Transactional Memory and Actor model. We also discuss cluster frameworks such as Hadoop.
Another module was about decentralization. Nowadays, people start to assume that the tendency to trust some single entity - be it trusting a certain messenger or platform or some commercial entity - is not always a good thing, both in terms of information safety and such issues as openness and transparency. For instance, MIT has recently started to test the concept of issuing Blockchain-based diplomas.
If all institutions use such a platform and a common storage that’s hard to compromise, all public records of an institution will remain accessible even if it is no more. As of now, the School is developing such a system for tracking competencies. Another topic of this module expands on the question of whether the current Internet and its routing mechanisms are optimal. Can we avoid repeating standard protocols’ functions on the level of applications when developing distributed systems? How do we stop relying on CA and DNS?
While teaching, I try to involve the students in analyzing cases, to show them the bigger picture and explain the origins of different issues. As for practical results, the participants succeeded building a framework library for our partner Exonum, as well as got the hang of Cloud Haskell and wrote an introduction to it so as to compensate for the complexity of its documentation.
Stepan Kuznetsov, 11th grade, 2nd School Lyceum, Moscow
I use blockchain to make GoTo’s grant system safer and establish trusting relationships between the companies that sponsor its grants. My goal is to give the sponsors an opportunity to control the grant issuance process and make it transparent to them so they can see that their funding is spent correctly. In the course of my work, I’ve learned that blockchain offers good results while common databases can’t offer the same level of safety and transparency. Also, the use of blockchain is less costly: one does not need expensive legal services.
What’s the problem with GoTo’s current grant system? Organizers publish tasks and give the participants who solve them a discount or free tuition; the solutions are sent as e-mails. With this setup, some messages may be lost, and the system is not transparent to sponsors and participants. We've developed a platform that makes use of blockchain, ensuring the accessibility of all applications, evaluations and so on.
Our concept and the platform’s general algorithm can be applied in any outsourcing initiatives. For instance, if a company wants to check how its projects are conducted without employing legal services; partner companies can track changes in databases in real-time mode, and cryptographic proof guarantees the reliability of data.
The platform has already been tested at the school, and may well be used for future events. There are already participants who’ve applied for grants via this system and got them.
Aleksei Schekoldin, Director of ITMO.KIDS Technopark
This is the first time that GoTo project school is hosted by ITMO University. The school’s organizers proposed to conduct a session here, and we offered full support of the project. GoTo provides speakers who have massive experience, some of them once worked or graduated from our university. We decided to support the project as ITMO is set on training the best of the best, and to do that, you have to attract the most talented school graduates. We told the participants about the opportunities we present our students with. At one point, a former participant of the school, who is currently a student at ITMO, came here to speak about his experience at GoTo.
Our recently created ITMO.KIDS Technopark was also among the school’s main partners. For our part, we helped with the school’s overall organization and provided mentorship for participants. We’ve also provided our facilities and gave them a tour of our Museum of Optics.
Maksim Manainen, 11th grade, RID School, St. Petersburg
This is my fourth time at GoTo. I have many reasons to like it, from the people who come here to the tasks we get to work on. I came to this particular session for bioinformatics, which I want to focus on.
The school encourages a project-based approach to solving problems, and this is very important, as it can give us what the regular educational system can’t. I work on a project for the pharmaceutical industry. As of today, there’s a serious problem there related to the development of new drugs.
Developers synthesize thousands of different drugs and then check which of them will feature particular properties. So, it would be great to use computer methods to design molecular structures with the necessary processes before synthesizing the samples.
The case was proposed to us by the BIOCAD company. There already exist algorithmic methods that allow you to search databases for molecules that will react with particular agents, yet such methods are limited by the database size in the very least. As machine learning methods have become all the more popular, there emerged the idea of using them to solve this problem. My approach is to teach a recurrent neural network to generate new small molecules; in future, I plan on generating structures with the help of GAN.
Anton Roitershtein, 9th grade, School № 171, Moscow
This year, I got in the Data Analysis and Machine Learning track. I work on developing a recommendation system that helps users find educational courses, programs and job positions in IT based on the user’s personal data. My program will recommend courses from different established resources like Coursera, Stepik and the like. Users can log in, enter their personal data, pick their dream job and answer some questions. This information will be used to recommend particular programs or courses that can be of use.
I work on my project by myself; all in all, I’ve spent seven days on it. Most of that time was spent on working with data. At first, I didn't even have a data set. I had to download the data from all the online services and process job offers from Headhunter, find relevant tags and tag every course and job offer, which sometimes didn’t work right. As of now, I’m launching a web application demo with a prototype of my recommendation systems which will utilize the DSSM algorithm.
Anton Pankratov, GoTo’s curator, machine learning specialist at Yandex
Traditionally, we have two groups of participants - novices and the experienced ones. For the former, we have basic courses. Their task is to make use of our educational materials and the help of mentors to acquire particular knowledge and learn to apply it; later they will need to pass an exam.
The latter are the project group, those who’ve already shown a good level of knowledge and have relevant experience. They are expected to come up with their own ideas for projects, be self-dependent in their work and show considerable progress. Thus, one of ITMO’s students, formerly a champion of international programming competitions, was successful in working on the idea of creating a virtual assistant in AR conditions despite lacking any decent experience in machine learning.
For example, this assistant might be embedded in a pair of augmented glasses. You might ask it to remind you to return a book to some specific person; when that person appears in your field of vision, the device will bring up the reminder. For the school, we’ve narrowed down the functionality - for now, the software can be used to search for frames in movies and videos based on a text query. For instance, you might ask it to find you a frame in which the characters are fighting - and it will do just that.
Stanislav Naumov, 2nd year, Computer Technology Department, ITMO University
I’ve heard a lot of good things about GoTo. Even though I am a university student, I decided to try working on my idea here, and never regretted it.
My initial idea was to develop a good program for mixed reality goggles. It had two purposes. The first was to show reminders once one sees some object. For instance, it would show a “withdraw money” notification when the user sees a cash machine. The other purpose was to track memories; like, an answer to the question “did I lock the door?” would have been a video fragment from the time when the user left the apartment.
At the current computational capacities, such tasks are hard to solve in an online mode, so I decided to make the tasks simpler and focused on searching for a video fragment based on frames’ tags and descriptions. I used neural networks to create a pool of images and text, and developed a bot that searches for video frames by text description.
Alena Ilyina, GoTo founder
GoTo’s history begins in 2015, and after our first attempt we’ve already decided to have it every school break. We accept both school and university students.
As project work demands a lot of effort - one curator can supervise two, three projects at most, the number of participants doesn’t grow fast. If we got 30-40 participants at first, today it’s 50-70 at most. Yet, each time we offer them new opportunities. Apart from our regular lineup of curators and partners, new specialists and companies join our project. This time, such newcomers were WorldQuant, Bitfury and IDealMachine. If a company sets a particular task, like the BIOCAD company did this time, we spend much effort on going through the project plan and making arrangements for the project’s future.
The biggest issue with visiting schools like ours is that the sessions are exciting, intense - and short-term. After that, the students return to the harsh reality where there are no curators, no like-minded people, and it is often unclear where to go to continue your projects. This is why creating some community and supporting the teams after the sessions is most essential, - and we are working on that, too.