
Hello! Our name is Irina (left) and Zhenya (right).
Our two heads are at least 15 hours a day occupied by
the SKB Kontur Educational Programs . One of the favorite projects that we are implementing for the second year is the organization of the IT schools
CSEDays . Participation in such schools is free, this is a non-commercial project. And there is one controversial issue that we would like to discuss.
')
First, tell us a little about what these schools are all about. Schools CSEDays (Computer Science Days) are informal meetings of students, employees of IT companies and teachers, “patients” with a particular topic. For three days, the participants discussed the "diagnosis". First - reports, after - free communication. In total, we already had two such parties: the first, when we didn’t really bother with inventing a specific topic, “General Questions Computer Science” (in March 2010) and the second - “Software Reliability” (in November 2010).
Very soon, in April 2011, there will be a school on the topic “Computer Security and Cryptography”. Third in a row.
And everything seems to be generally good for us: there are speakers from universities and IT companies, and there are sponsors, and applications from different cities are coming. But now for the third time, we are faced with a very important question: how to search and select THOSE PARTICIPANTS who will be able to open up in the atmosphere of live communication and make a normal contribution to the overall drive?
This, in fact, will be discussed. We want to tell you about our experience of selecting participants for the CSEDays school and ask the masters if we go the right way, whether we ask those questions during the selection (we usually consider written applications) and in general how and where to look for “our” children.
From the simplest to ... normal?
When we organized the very first school on general computer science issues, we simply approached the selection process. We made an elementary application form: last name / first name, contacts and the only open-ended question “Why should you take part in an IT school?”. At first it was not clear who would respond at all and whether it would be possible to assemble a company of those in the subject. Succeeded! Among the answers were very distinct, indicating a direct interest in the topics discussed, such as:
“In the future I am going to deal with the classification of images. It is very interesting to listen to Anton Konushin by semantic classification. ”
or
“I am interested in the latest trends in the field of IT and CS, it is interesting to listen about the Russian experience / research. I am a pleasant conversationalist and I can tell a lot (in particular about Java / OSGi) on the sidelines. ”
But some of this question is clearly confused. For example, we received a response question:
“And why exactly did you plant to sort these applications? ;-) "
or concise request:
"You are welcome!"
On the "please" decided not to respond. As a result, about 70 applications came to the first school, which was in the spring of 2010, invited 50 people, 20 out of 50 gave grants for room and board (the whole thing took place at the recreation center). Everything went great!
So cool that in the fall of 2010 we decided to hold a second school, already on a more specific topic “Software Reliability”. The question "Why should you go?" Decided to leave.
Oh miracle! In contrast to the first time, we began to receive whole distinct essays that allow us to distinguish "our people":
“The use of“ traditional ”approaches in the development of interfaces for web services with rich functionality slows down development quite a lot and causes many inconveniences to developers of both server and client parts. The reasons are many: the need to copy-paste page layouts and styles to display them; duplication of client-side server code; the need to support cross-browser compatibility; imaginary connection between the behavior of the interface and its display; imaginary connection between client and server parts; the complexity of testing and ensuring reliability. There are many small solutions to eliminate some specific flaws (for example, SASS, LESS for adding logic to CSS, ASP.NET Code Behind for “real” client connection with server, ASP.NET UserControls for reuse markup), and full-fledged solutions (GWT on Java, Cappuccino on ObjectiveJ, SproutCore on Ruby).
When developing, I constantly encounter similar problems and I would really like to develop a solution in C #. I would like to do this not only because there is a real need for it, but also because it would be a great experience. I am aware of the many problems that will have to be solved at the same time and the most important of them is to ensure the reliability of such a system. Therefore, I really need information that will be presented within the school. ”
And there were a lot of such detailed answers! But if we “left” for the second time on this question, then we failed on another, new one. When we thought through how best to select participants, an idea arose - and not to check whether the “thirsty” were immediately involved in the case? One of our partners, Microsoft Research, gave us this opportunity by providing access to the
DOM API Testing project. We told potential “schoolchildren”: “Here is the code for you, please. Test it? ”The task turned out to be too tough. Either she was too lazy to bite, or her teeth were not strong, but out of 130 applications only 8 contained a column stating that a person did something in this code. I had to look at my favorite question “why you” and choose 50 subjectively worthy ones.
By the way, we didn’t choose the two of us .;) We have a small organizing committee from the Ural State University, SKB Kontur, Yandex, Microsoft Research and a volunteer - Leonid Volkov. But the focal point of all this movement is in our four fragile hands and two sensitive hearts. :)
Three - for luck
But for the third time, for the school on information security and cryptography, which will be held in April 2011, we have come up with a new move, abandoning a beloved question. They offered the participants to solve 3 puzzles “on the topic”, composed by Ilya Mironov from Microsoft (by the way, in April he will be one of the speakers). One is very simple, the two are a little more complicated. They wrote them so that you can simply "copy-paste-carry with them." These are the tasks:
Task 1.What does the next code snippet find?
int f(int x); // f
typedef pair <int, int> Pair;
stack<Pair> s;
int n = 0;
int x = 0;
s.push(Pair(x, n));
for(;;)
{
x = f(x); n++;
while(!s.empty() && s.top().first < x)
s.pop();
if(!s.empty() && s.top().first == x)
return n - s.top().second;
s.push(Pair(x, n));
}
Task 2.Suppose that the function f is a random function that maps the interval [0..N-1] into itself.
Estimate the average time of the code from the previous paragraph and its memory requirement.
Task 3.Show that if the problem of finding collisions in the function f (x) = g ^ x mod N,
where g is the generator of the group of quadratic residues modulo N, and N is the product of two primes,
is solved in polynomial time from the length of N, then the problem of decomposing the number N into simple factors is also solved in polynomial time.
And so we sat down on the evening of March 15 and thought: well, are we looking for “our own” ...
Afterword
What do other IT schools want from participants? A little pomonitorili.
MIDAS - a full summary + recommendation from the faculty + scientific work (coursework, diploma).
RuSSIR 2010 - application about yourself + recommendation + an additional chance to participate in the school was the participation in the Conference of young scientists.
In general, again, a classic of the genre. And our party is not quite a classic, so we were puzzled with the question: how best to look and if we normally do it now?
PS By the way, if you suddenly want to take part in the school "Information Security and Cryptography" (will be held April 14-17 in Yekaterinburg), applications are accepted until March 24.
Details on the site CSEDays .
These people endured artificial selection! By the way, applications from girls are held in a separate contest;).
