Today, I will continue to talk about the initiatives of the Department of System Programming at Mat-mecha at St. Petersburg State University, which I have already written a little about in
previous articles , namely about student projects and the practice of industrial programming. The post will be of interest primarily to those who are not indifferent to the topic of IT education and who want to learn about new initiatives in this field.

Under the cut you are waiting for the results of projects that were
announced last fall, as well as my own impressions, as one of the participants.
Innovations
So, I'll start with the initiatives and innovations of this year.
')

This year, the organizers tried to further motivate students and held a final competition on the results achieved by the participants of the student projects. Prior to this, the only encouragement was to receive recommendations to the Department of
System Programming . Now distinguished projects were awarded prizes, including cash.
In addition, one of the features of this year was that not only students of Mat-Mech participated, there were quite a lot of students with PM-PU (probably after a
comment about the most beautiful students :-)).
Finally, it should be noted that this year a variety of topics were presented: from the generation of translators for reengineering to the development of a hardware system on an FPGA chip, which in itself is new to the lair of programmers.
Introduction of participants
First, let me briefly remind you of the projects that presented the results at the competition, as they say, I will announce the list of applicants:
- WindViewer - a mobile wind prediction client for boaters
- Mobile application "Running city" for famous competitions in urban orienteering. On the competition itself, many have heard and probably even participated.
- Mobile Geocaching is a mobile client for Geocaching , you may have heard of it too.
- YaccConstructor is a tool for automating various program text transformations.
- Route routing service is a client-server application for routing between two points.
- SkyShoot - multiplayer arcade shooter with a top view
- Embox - Configurable RTOS for Embedded Systems
- Eclipse plugin - development of a visual editor with support for dynamic transformation of models based on ATL technology
- Multicore calculator - a project to create a calculator based on a single control processor and an array of simple computing cores (similar to Nvidia CUDA, only open source)
Applicants are ranked in the order in which they presented the results.
General impressions
Now, as the author of the article, I will talk about my own feelings and impressions of the competition.
Projects can be divided into two categories: some with a rather deep scientific focus, for example, a project on translators, or a plug-in for transforming models, others are user-oriented, for example, all mobile applications. The last for obvious reasons was much easier to present. But even students from these projects had problems with the presentation. From here I can conclude that students and their leaders should pay more attention to the art of presenting their results.
The process of presenting itself was sometimes like defending a term paper or thesis, probably due to the abundance of technical issues during and after presentations. Perhaps this is the influence of the university, because the chairman of the commission was the head of the Department of System Programming
A.N.Terekhov .
The presentations were divided into two days, and the criteria for evaluating the competition were not sufficiently transparent. It seems to me that if the students were told the composition of the commission and the evaluation criteria in advance, they would be able to better prepare.
And finally, this time for technical reasons, the broadcast and video recording failed, or rather the video recording was, but for some reason without sound. :(
Nevertheless, the very idea of ​​holding a competition seems to me very correct and useful. After all, only with competition there is a development. And, as I have already noted, the practice of presenting their results in an understandable form will not be superfluous for students.
Impressions about the projects
Now, before the announcement of the results, I will talk in more detail about the projects, more precisely, again, about my subjective impressions received during the presentations of the projects.
WindViewer - unfortunately, the work of the mobile application was not shown to us. But they showed the work of the server, which automatically collects and loads the wind maps in the GRIB format (international weather forecast for seafarers); maps were displayed in the browser.

Two
Mobile Geocaching projects and the
Running City mobile app were presented in a row, and since both clients were developed for Windows Phone, sometimes a strange deja vu occurred. But in general, in my opinion, these were the most striking performances.
Mobile client "Running city" (right) has not yet laid out.

The guys promised to add an implementation for Android.
The Modile Geocaching application (on the left) has not yet been laid out either, promised after summer school. Perhaps the guys should believe, because this team already has a similar
application for Android, already
laid out in the Android Market, which is already really used, and judging by the reviews on the forum of the game itself, this is quite a handy thing.
When the students presenting the
YaccConstructor project
came out , they were immediately bored with system programming and big science. And of course, the guys would have great difficulties in explaining why and to whom all this is necessary, if not the representatives of Sberbank-Technology present in the hall. It turned out that on the basis of the department’s open-ended work, Lanit-Tercom carries out a commercial project (naturally, with the assistance of the authors of this project). And in general, we are pleased with the presence of domestic projects that are engaged in code analysis, broadcasting, and similar systemic things.
Service for laying routes - at first it seemed that the guys started a competition with Google Maps, Yandex and other monsters that provide maps online. But then it turned out that this is a service for laying routes, and the guys demonstrated his work on Google Maps. That on the map there are two points marked, and the service built a route graph and paved the shortest path between them.
SkyShoot - it’s a shooter and a shooter in Africa. The screenshot is in front of you,
here are the demos, so that you yourself can evaluate the result. Unfortunately, the guys are not running the server, so if you want to play, you must first install the server yourself according to the
instructions . One of the features of this project is the choice of technology. Used XNA, and this allows you to use for the game, for example, the prefix XBox.
Embox - it's hard to talk about your project, and besides, as a leader, I was on the “stage” and presented the results together with the students. In general, we told the results of our research in the mechanisms of our OS kernel. They demonstrated achievements in the network stack (in particular, they showed the work of the http server, in the screenshot it was his work). It was mentioned that our project can also serve as a practice for teaching operating system architectures. And finally, they showed a machine controlled from Android via Bluetooth (there was already a
separate article about it on Habré).
The plug-in for Eclipse - in fact, I felt that the guys were doing something clever and necessary, but unfortunately, they still could not get it to me. As far as I understand, the guys are engaged in converting models using ATL technology, which is likely to be used in any workflow system.
And finally, a
multi-core computer . Actually, the calculator itself, unfortunately, was not shown, but only its structural diagrams, generated from the VHDL, showed. But according to these schemes, it was clear that a certain network of specialized cores was developed under the control of a general-purpose processor. It was also alleged that the work was tested on a simulator, he did not see. Another difference was that the assembly language for new cores was generated with the help of another project developed earlier in the System Programming Department, which was especially pleasant to hear the head of the department, because the work of his charges does not go to the table, and there is a continuity of generations.
Contest results
Summing up the competition, the organizers took into account the fact that the competition was “pilot”, and no clear evaluation criteria were announced. Therefore, we decided to simply select a group of winners.
I will not pull the rubber, because in more detail about the projects you can ask in the comments, so I will immediately proceed to the results of the competition. So, we won:
- Computer Design Project
- Mobile client for Running City
- Mobile Geocaching
- Skyshoot
- Embox (now you know where my cup photo is from)
Generally about student projects
The main thing that pleased this year is that the topic of student projects is gradually evolving, and other commercial companies and universities are becoming interested in it, and therefore more projects appear in which students can try their hand.
Not all student projects that were conducted this year participated in the presentation, for example, there is still a project related to
medicine . The goal of this project is to develop a 3D modeling system for use in medicine. During the project, undergraduate and graduate students studied and implemented computational geometry algorithms and numerical methods for analyzing medical images and creating 3D models.
The project continues. This summer, the leaders and participants of the project are holding a summer school on the topic “Algorithms for analyzing, modifying and comparing 3D polygonal models”. Its goal is to create a web-base platform for calculating and building 3D models, as well as for their storage and visualization. The school will be held from July 1 to August 10 at BI "Ingria"; students from different universities are invited. Details in a recent
article by agpetrov .
Summer school
The announcement of the results and the awarding of prizes took place on May 22 at Math. There were also projects for the summer school, which is also held on the territory of Mat-Mech, although students from other faculties and universities can also participate. Actually, this is a subset of the already listed projects:
I think on behalf of project managers I can invite those who wish to participate in projects, especially since all open-source projects.