📜 ⬆️ ⬇️

I will study at the Computer Science Center

All waited!

They took me to study at the Computer Science Center . I spent a little more than a month in a tense state of waiting, looking hopefully through the mail every day. And yesterday I finally received the coveted letter. Damn good news and very necessary.

I learned about CSC for a long time, a couple of years ago for sure. Then my thoughts were closely connected with the Academic University , and I even tried to enter the magistracy there, but by. For some reason, I didn’t have a thought to enter the center. Anyway.
This year I matured. And quite early (as it seemed to me): the set should have been opened in April, and I started thinking about this case around February. Looking diagonally at the examples of introductory assignments and finding that a month would be enough for me to prepare - I forgot all about it and concentrated on submitting an application for participation in GSoC 2014. I did not get there and immediately remembered CSC. Remembered, as it turned out, a bit late.

When I went to the website of the Yandex Data Analysis School and got acquainted with the examples of tasks in more detail, I realized that I was probably back in flight.
')
Why ShAD Yandex site? The fact is that the Computer Science Center has three areas of study: Computer Science (modern computer science), Data Mining (data analysis), Software Engineering (software development). The direction of Data Mining can be viewed as the St. Petersburg branch of the Yandex Data Analysis School . Therefore, it was logical to assume that the examples of tasks approximately coincide. Well, at that time I was seriously interested in the direction associated with data analysis, so I was focused on the appropriate department, and therefore, indirectly, on the SAD.

So. I can not say that I am a dull one and in mathematics is not a tooth with my foot, I just need to understand my situation. Since I work as a php-programmer (you understand the specifics of the work, yes?), I practically did not return to mathematics in the entire time since the end of the university; the simplest elements of discrete mathematics do not count. Therefore, when I saw quite unusual, at that time, substitution problems, integrals, and some of the theory of probability, I was a little upset. That is if to say the least.

The accidental visit to the official Computer Science Center website saved the situation from a deplorable and uninteresting end. There, among the descriptions of the admission process and examples of tasks from the entrance exam, there was also a mention of an online course on algorithms. Here it is! The site stated that in case of successful completion of the course, I would be called for a face-to-face interview. Without a written exam. The course will be considered as successfully completed if the student decides on tasks that seem to be 82 points. Or something like that. You do not need to be super-intelligent to understand that this is a chance, and a very good one. And I grabbed it.

By the way, here I am a bit late too. The course opened somewhere on April 1st, I learned about it when it was already the 10th number. Well, okay. I just began to do everything a little faster and sober. I also played into the hands of the fact that lately I have talked closely with algorithms.

I will say a little about the course. I like it. It resembles a course from Tim Roughgarden on Coursera.org on algorithms , but, which is very cool, in Russian and instead of Tim the course is taught by Alexander Kulikov . And, I must say, it reads perfectly - everything is extremely clear and digestible. Regarding the course schedule: there is a fairly standard scheme here - you watch the video, then you answer theoretical and practical questions and complete the tasks. Unfortunately, the course is closed and it can only be completed after an application for admission is submitted.

The assignments were also enjoyable - moderately complex and rather interesting. What bothered me about this was the testing system. Let me explain: the task gives you a test dataset for primary debugging. You check the performance of your algorithm on this set and then send your code for a full check. If a test fails, you are given the failed test number and some explanation. It is clear that there was no mention of the data on which the algorithm fell off (the usual situation for sites like topcoder.com ) was not - that was annoying. But, in fact, I was freaked out because of this only because there was not enough time. On the other hand, this is a very cool thing - you have to fully comprehend your algorithm, understand what works where and not so to pass these tests. I came across such behavior not so often, but still the case happened.

There was one more not very pleasant moment connected with the fact that I carried out tasks in Python. On some tasks where a large amount of computation was required, Python did not cope and the tests did not pass in time. At first I tried to optimize the work of the program as I could. Then he started to score and just rewrote the code in C ++. By the way, the tasks were fairly standard for the course on algorithms. For example, implement sorting or traversing the graph in depth. There were really difficult tasks, like, to implement the Karatsuba algorithm. Here I was really flooded and spent quite a lot of time on the implementation and optimization of this algorithm. The truth is, after I implemented it, I saw that the solution was possible only in Java or C ++, but then the strength and desire failed me, so I left it executed in Python.

There were several moments when I was ready to give up. These are the moments when I have already walked up and down the algorithm, but have not understood why he feels so badly. This is very annoying and frustrating.

It is worth mentioning that the course is located on the Stepic.org learning platform , where in addition to it there are a lot of interesting areas for study. Take at least Python for Programmers or Learn You a Haskell . In general, many thanks to Alexander Kulikov and Sergey Poromov, the Stepic.org team and the JetBrains team for preparing this informative course, which also turned out to be salutary for me.

So, I finished the course. I scored the necessary number of points, wrote about this to the curators of CSC and in response received a notification that everything is fine, I will soon be called to an in-person meeting.

This is where I shattered. Because it is logical to assume that at a full-time meeting, I will definitely be asked something from linear algebra or probability theory. Well, let's go sit down at the books. At that moment, I cursed myself for having so late realized about the preparation. In an amicable way, you have to do all this much in advance. But it was impossible to do anything already ... So Kostrikin, Kudryavtsev, Gnedenko - yum-yum.

I will not lie, I did not succeed in much preparation. And when I was scheduled to meet in person, I tried to force myself to believe in a miracle. A pleasant surprise of the interview turned out to be that I communicated with Alexander Kulikov himself. Besides him, Andrey Ivanov, JetBrains COO and CSC Software Engineering head also attended the meeting. They impressed me very seriously and strongly; after this, you know, I want to continue to communicate and learn something new from people, based on their experience and wisdom.

My concerns about the questions about the aircraft and TV were justified, although not to such extent. Just a few questions (for which I am extremely grateful), to which I answered with grief in half :) The key point of the interview was the stage when I had to prove my motivation to study. As Alexander explained, quite a lot of those enrolled in CSC, but already graduated from universities, do not complete their education and drop out of school. For various reasons: family, lack of time, loss of motivation.

I tried to be as sincere as possible and just told my story. I want to believe that it helped.

Next was a month of waiting. Every day - checking mail with the hope that today I will receive it, this is a cherished letter. Yesterday it happened and in September I will start studying at the Computer Science Center, which I am very happy about.

Finally a couple of tips:
  1. Start preparing in advance. I made a mistake when I thought that a month was enough for me under my conditions. Not really. With a permanent job, a family, and some other factor that requires time, it remains catastrophically little to prepare. So soberly assess your capabilities. It will be ideal to start the preparation from autumn.
  2. Do not be afraid. Your motivation to learn has weight. I am not saying that if you come for an interview and say: “I want it!”, Then you will be taken immediately. Of course not. But if you can prove to the interviewers that this is really important for you, then your chances will definitely increase.
  3. If in doubt, try or not - I recommend trying. This is an unbelievably cool opportunity to raise your level, communicate and work with real professionals in your field. In addition, this is an excellent chance for those who lick the magistracy at the Academic University, but do not have enough free time to study there.

Dare!

Source: https://habr.com/ru/post/229541/


All Articles