I study at Computer Science Center

wait!

I got to study in Computer Science Center. A little over a month I spent in tense waiting every day with hope through his Inbox. Yesterday I finally received the precious letter. Damn glad news and much needed.

About CSC, I learned a long time ago, a couple of years ago for sure. Then my thoughts were closely associated with Academic University, and I even tried to enrol in a master's degree, but it misses. Thoughts to arrive in the center why do I then not have arisen. Oh well.
This year I'm ready. And quite early (as I thought): the set was supposed to open in April, and I started to think about it somewhere in February. Looking diagonally examples of introductory tasks and considering that a month is enough for me to prepare — I forgot all about it and focused on applying to participate in GSoC 2014. Got there and immediately remembered CSC. Remembered turned out to be too little too late.

When I went to School of Data Analysis Yandex and more familiarized with examples of tasks, I realized that, probably, again in the span.

Why SHAD Yandex? The fact that Computer Science Center there are three areas of study: Computer Science (modern computer science), Data Mining (data analysis), Software Engineering (software development). Big Data, Data Mining can be seen as St. Petersburg branch of the School of data analysis Yandex. So it was logical to assume that the sample jobs are approximately the same. Well, at that time I was really interested in the direction associated with the analysis of the data, so I was directed to the proper compartment, and hence, indirectly, on SHAD.

Well. Can't say I'm dumb and math is not in the tooth foot, you just have to understand my situation. I'm working as php-programmer (the specifics of you know, right?), for math, I almost did not return for the time elapsed since graduation; the simplest elements of discrete mathematics not in the bill. So when I saw a rather unusual, at that time, task substitution, integrals and some of the theory of probability, I was a little upset. It if softly to tell.

From the deplorable and no one is interested the end the situation was saved by a random visit the official website of the Computer Science Center. There, among the descriptions of the application process and examples of problems with the entrance exam, was even mention of online course on algorithms. Here it is! On the website it was said that in the case of successful completion of the course, I will call for the interview. Without a written exam. The course will be considered successfully passed if the student narushaet tasks seem to 82 points. Or something like that. Don't need to be sverhamin to understand that this is a chance, and very good. And I seized on that.

By the way, I'm a little late. The course was opened on 1 April, I learned about it, when it was the number 10. Well, okay. I just began to do everything a bit faster and Sobranie. On the hand played that lately I've been tight with algorithms communicated.

I will say a little about the course. I liked it. Reminds course by Tim Roughgarden on Coursera.org algorithms but that is very cool, in the Russian language and the course is Tim reads Alexander Kulikov. And I must say, great read — everything is clear and digestible. About the schedule of the course: there is a fairly standard scheme — watch the video, then answer the questions, theoretical and practical, and perform tasks. Unfortunately, the course is closed and it can only pass after the filing of the application for admission.

Jobs also brought pleasure — the best of a difficult and quite interesting. That I nlace hated this test. Let me explain: in the task you are given a test dataset, for initial debugging. You check the operation of your algorithm on this set and then sent to a full scan of your code. If a test fails, you will be given a number failed the test and some explanation. It is clear that no mention of the data on which the algorithm fell off (a common situation for sites like topcoder.com), it was not — that was annoying. But, actually, I raged because of this, only because there wasn't enough time. On the other hand, is really cool — you have to fully comprehend its algorithm to understand what and where not to pass these tests. I've seen this behavior it's not very often, but an occasion happened.
There was another not very pleasant due to the fact that the job I was doing in Python. On some tasks, which required large amounts of computation, the Python was not done and tests not passed at the time. At the beginning I tried to optimize the performance of the program as they could. Then he began to score and just copied the code in C++. By the way, the task was fairly standard for a course on algorithms. For example, to implement sorting or graph traversal in depth. Was really difficult tasks, like, to implement the algorithm Karatsuba. I really flooded and has spent a lot of time to implement and optimize this algorithm. The truth is after I converted it, I saw that submitit the only solution in Java or C++, but then the strength and desire has failed me, so I left it is made in Python.

There were a few moments when I was ready to give up. These are the moments when I have walked the length and breadth according to the algorithm, but did not understand why he felitsa. This is very annoying and frustrating.

It is worth mentioning that the course is on the learning platform Stepic.org where besides it is still a lot of interesting areas to explore. Take Python for Programmers or Learn You a Haskell. In General, big thanks to Alexander Kulikov and Sergei Poromov, command, Stepic.org and the JetBrains team for preparing this educational course, which was still saving.

So, the course I had finished. Scored the required number of points, wrote about it to the supervisors of CSC, and in response received a notification that everything is fine, soon I'll get time.

Here I got cold feet. Because logically assumed that full-time meeting I will ask something from linear algebra or probability theory. Well, let's go sit down kind of books. At that moment I cursed myself for so late woke up about training. The good, you have to do all this much in advance. But to do anything has been impossible... So Kostrikin, Kudryavtsev, Gnedenko — yum-yum.

I won't lie, much to prepare, I did not succeed. And when I appointed time of the meeting, I tried to make myself believe in a miracle. Pleasant surprise of the interview was that I talked with by Alexander Kulikov. Besides him, the meeting was attended by Andrey Ivanov, JetBrains COO and head of Software Engineering at CSC. The impression on me they made a serious and strong; after this, you know, I want to continue to communicate and learn from people something new, based on their experience and wisdom.

My concerns about the issues in LA and TV's justified, though not in this volume. Just a few questions (for which I'm extremely grateful) that I hardly said :) the Key point of the interview was the stage when I had to prove their motivation to learn. As explained by Alexander, pretty much admitted to CSC, but alumni, not complete their education and dropping out of school. For various reasons: family, lack of time, loss of motivation.

I tried to be as honest and just told his story. I want to believe that this has helped.

Next was a month of waiting. Every day — checking email with the hope that today I'll get it, it is a cherished letter. Yesterday it happened and in September I will study in the Computer Science Center, what insanely happy.

Finally, a few tips:
    the
  1. Start to prepare in advance. I made a mistake, when I thought month for me on my terms. Actually no. If you have a permanent place of work, family and some other factor that requires time for preparation is too little. So realistically assess your options. The ideal is to start training in the fall.
  2. the
  3. don't be afraid. Your motivation to learn has weight. I'm not saying that if you come to an interview and say, "I want!" then you just take. No, of course. But if you succeed to prove to the interviewers that you is really important, your chances definitely increase.

Go for it!
Article based on information from habrahabr.ru

Comments

Popular posts from this blog

Powershell and Cyrillic in the console (updated)

Active/Passive PostgreSQL Cluster, using Pacemaker, Corosync

Automatic deployment ElasticBeanstalk using Bitbucket Pipelines