Ural student bicycles
What do students who like programming do?
Someone goes to all the lectures and practices, makes laboratory ones, but the tasks on them are often too toy. Someone gets a job already in junior courses, but then there is no time left for brain pumping at the university, and the tasks that need to be solved are far from always interesting. Someone goes into "sports programming", participates in competitions ACM, TopCoder, Mircrosoft ImagineCup, Internet mathematics from Yandex. Well, someone starts to poke around on their own in technology, trying to realize their own ideas and create their own project. The university provides an opportunity to listen to the advice of teachers and more experienced comrades, to assemble a group of like-minded people. Are students able to independently come up with and develop good and useful programs? Let's look at the finalists of the student project competition,
So what are current students doing?
As expected, students of the technical university of USTU-UPI (now already mutated at UrFU) talked about engineering programs. The presented visualizer of physical fields painted beautiful pictures that are requested in the report or thesis. In terms of functionality, of course, the program is not comparable with the well-known and expensive FieldView , but the temperature distribution in the blast furnace is able to depict quite clearly. Another project makes it possible to both design pipeline networks and calculate their physical characteristics (for example, hydraulic resistance coefficients). Everything is much more serious here - although the program has been created almost single-handedly, its run-in at large enterprises has been very successful so far.
The field of web programming was represented by two implementations of fashionable ideas now: an online graphic editor that allows several users to simultaneously edit the same image, and a website designer that allows you to quickly create a simple page from a set of ready-made elements.
System programming was not left to be deprived either: in the Wine genre, on the contrary, they talked about a program that runs ELF files under Windows; however, the project is still at an early stage of development. Another student introduced a set of utilities that solved a typical task of a system administrator - monitoring server health. Nagios is far from solutions , but the utilities work fine under Windows and are not shy about sending an SMS admin when server attacks occur.
Of course, students could not ignore the development of computer games. The simple but cute Crash Balls puzzle has already been put up for sale on the AppStore and is actively advertised on the Internet .
Two projects represented the field of computer graphics. One of the students presented his own algorithm for fractal image interpolation, which, unfortunately, still loses significantly to the paid plug-in for Photoshop. A three-dimensional graphics engine implemented on the .NET platform was also demonstrated, which already allows you to create complex and beautiful scenes that works with both Direct3D and OpenGL, and is easily modified to work with other APIs. The engine can be used at the university, for example, to visualize scientific results. So, the author has already found application for him in another submitted project - Warp Engine . Its game platform, its developers want to use for the development of games in the FPS genre, and for research in the field of artificial intelligence. On its basis, in the spring of 2010, competitions in robotics were held at the Ural State University .
Laboratory of Artificial Intelligence and Robotics, Ural State Universitypresented two more projects at the competition. RoboCoP (Robot Communication Protocol) provides the interoperability of all applications created in the laboratory. It is implemented in C # and so far works only on top of TCP and UDP and under Windows, however, students plan to port it to Linux and provide work on top of COM and USB. Well, in the control system of mobile robots, the task of isolating objects in the image from a web camera and the task of moving a manipulator arm, which independently collects a pyramid from small barrels, were solved.
As you can see, most of the projects really reinvent the wheel. For their authors, these projects are certainly simpler and more understandable than existing analogues, but this is hardly true for everyone else. Of course, students can learn a lot in writing these programs. But is it really necessary to encourage such projects, distracting students from study and work? Do you need such student contests?
Even if the answer to the last question is yes, how do you know which projects are the best? Of course, if the program is poorly tested, works unstable or does not provide a tenth of the declared functionality, then its author can hardly be praised. Contour developers who evaluated projects at the competition took into account the degree of their readiness, but primarily encouraged the student's ability to find application for his project, whether it be use in industrial enterprises, universities or other student projects. However, is the originality of the idea underlying the project, or, say, the quality of its implementation, more valuable? Finally, if almost all student projects still never get wide distribution and will soon be abandoned, is it not better to take into account the amount of knowledge and skills when evaluating the project,
Someone goes to all the lectures and practices, makes laboratory ones, but the tasks on them are often too toy. Someone gets a job already in junior courses, but then there is no time left for brain pumping at the university, and the tasks that need to be solved are far from always interesting. Someone goes into "sports programming", participates in competitions ACM, TopCoder, Mircrosoft ImagineCup, Internet mathematics from Yandex. Well, someone starts to poke around on their own in technology, trying to realize their own ideas and create their own project. The university provides an opportunity to listen to the advice of teachers and more experienced comrades, to assemble a group of like-minded people. Are students able to independently come up with and develop good and useful programs? Let's look at the finalists of the student project competition,
So what are current students doing?
As expected, students of the technical university of USTU-UPI (now already mutated at UrFU) talked about engineering programs. The presented visualizer of physical fields painted beautiful pictures that are requested in the report or thesis. In terms of functionality, of course, the program is not comparable with the well-known and expensive FieldView , but the temperature distribution in the blast furnace is able to depict quite clearly. Another project makes it possible to both design pipeline networks and calculate their physical characteristics (for example, hydraulic resistance coefficients). Everything is much more serious here - although the program has been created almost single-handedly, its run-in at large enterprises has been very successful so far.
The field of web programming was represented by two implementations of fashionable ideas now: an online graphic editor that allows several users to simultaneously edit the same image, and a website designer that allows you to quickly create a simple page from a set of ready-made elements.
System programming was not left to be deprived either: in the Wine genre, on the contrary, they talked about a program that runs ELF files under Windows; however, the project is still at an early stage of development. Another student introduced a set of utilities that solved a typical task of a system administrator - monitoring server health. Nagios is far from solutions , but the utilities work fine under Windows and are not shy about sending an SMS admin when server attacks occur.
Of course, students could not ignore the development of computer games. The simple but cute Crash Balls puzzle has already been put up for sale on the AppStore and is actively advertised on the Internet .
Two projects represented the field of computer graphics. One of the students presented his own algorithm for fractal image interpolation, which, unfortunately, still loses significantly to the paid plug-in for Photoshop. A three-dimensional graphics engine implemented on the .NET platform was also demonstrated, which already allows you to create complex and beautiful scenes that works with both Direct3D and OpenGL, and is easily modified to work with other APIs. The engine can be used at the university, for example, to visualize scientific results. So, the author has already found application for him in another submitted project - Warp Engine . Its game platform, its developers want to use for the development of games in the FPS genre, and for research in the field of artificial intelligence. On its basis, in the spring of 2010, competitions in robotics were held at the Ural State University .
Laboratory of Artificial Intelligence and Robotics, Ural State Universitypresented two more projects at the competition. RoboCoP (Robot Communication Protocol) provides the interoperability of all applications created in the laboratory. It is implemented in C # and so far works only on top of TCP and UDP and under Windows, however, students plan to port it to Linux and provide work on top of COM and USB. Well, in the control system of mobile robots, the task of isolating objects in the image from a web camera and the task of moving a manipulator arm, which independently collects a pyramid from small barrels, were solved.
As you can see, most of the projects really reinvent the wheel. For their authors, these projects are certainly simpler and more understandable than existing analogues, but this is hardly true for everyone else. Of course, students can learn a lot in writing these programs. But is it really necessary to encourage such projects, distracting students from study and work? Do you need such student contests?
Even if the answer to the last question is yes, how do you know which projects are the best? Of course, if the program is poorly tested, works unstable or does not provide a tenth of the declared functionality, then its author can hardly be praised. Contour developers who evaluated projects at the competition took into account the degree of their readiness, but primarily encouraged the student's ability to find application for his project, whether it be use in industrial enterprises, universities or other student projects. However, is the originality of the idea underlying the project, or, say, the quality of its implementation, more valuable? Finally, if almost all student projects still never get wide distribution and will soon be abandoned, is it not better to take into account the amount of knowledge and skills when evaluating the project,