MikeMirzayanov's blog

By MikeMirzayanov, history, 6 years ago, translation, In English

Hi, Codeforces!

This is not an ordinary post from me. This is not an announcement of new features or a championship, but I'm no less enthusiastic.

I am glad to inform you that from January 29 to February 16, 2018 I will be giving the course "Advanced Algorithms and Data Structures" in Harbour.Space University (Barcelona, Spain). The course will be in English. The students of this course will not only be students of Harbour.Space, but is open to all! Who wants to join?

This course isn't just for Harbour.Space students, it is also open to Codeforces participants, who will be offered a special price, 1000 EUR. The cost does not include travel or accommodation.

Register for the Course →

In my plans there is a detailed story about some algorithms and data structures, a lot of practical exercises and emphasis not only on the correctness, but also the beauty and structure of the code. My goal is to make useful and interesting classes for both those who want to understand the fundamental CS, and for those interested in programming competitions. And of course, we will have the opportunity to meet and talk. I'm happy to share stories about the history of Codeforces and development plans.

The course will consist of three weeks of training, 5 training days in each week. The program includes daily lectures and practical exercises. It will not be boring for sure!

Here is the expected course outline:

Week Day Topics
1 1 Heap data structure, heap properties and operations. HeapSort. Priority queue. Other heap applications. Mergeable heaps: binomial heap, pairing heap, randomised meldable heap.
1 2 Fenwick tree. Description and motivation. Implementation of Fenwick tree. Generalisation for higher dimensions. Skip list data structure. Implementation details. Indexable skiplist.
1 3 Segment trees. Top-down implementation. Bottom-up implementation. Segment trees applications. Persistent data structures. Persistent stack, persistent array. Persistent Fenwick and segment trees.
1 4 Cartesian trees, treap data structure. Merge and split operations. Treap implementation in detail. Treap applications.
1 5 Treaps with implicit keys. Ropes. Segment reverse operation. Examples of problems.
2 6 Introduction to strings. String searching (matching) problem. Pattern pre processings. Z-function, prefix-function. Their applications. Knuth–Morris–Pratt algorithm. Matching finite state machine.
2 7 Multiple pattern matching. Trie data structure. Aho-Corasick algorithm. Implementation details. Dynamic programming on a trie.
2 8 String hashing. Rabin-Karp algorithm. Fast substrings comparison with hashes. Suffix array. LCP array. Efficient construction algorithm. Applications.
2 9 Suffix tree. Ukkonen's algorithm. Suffix tree construction from LCP array. Suffix tree applications.
2 10 Suffix automaton. Size bounds. Linear Algorithm. Using suffix automata as an index for approximate string searches.
3 11 Introduction to automata theory. Formal languages. Context-free languages. Formal grammars. Context-free grammars. NFA, DFA, convert NFA to DFA. Build automaton by regular expression.
3 12 LL(1) parser. Arithmetic expressions parsing. Shunting-yard algorithm. Simplified Pascal language parsing and interpretation.
3 13 Algorithms for traversing a graph. DFS. Properties. DFS search tree. Edges classification. Linear bridge-finding algorithm. Linear articulation points finding algorithm. Strongly connected components. Tarjan's strongly connected components algorithm.
3 14 Tree problems. Bottom-up approach. LCA problem. LCA algorithms.
3 15 Bipartite graphs. König’s criterion. Problems: maximum matching, minimum edge cover, maximum independent vertex set, minimum vertex cover. Connection of the problems. Berge's lemma. Kuhn algorithm. Kuhn algorithm properties. Minimal vertex cover by maximum matching. Cover DAG by minimal number of paths.

Harbor.Space University is located in Barcelona (Spain). For users of Codeforces, Harbour.Space is known for active participation in the life of the community of sports programming (partnership with Codeforces in the framework of Educational Rounds). The main activity of the university is teaching (there are bachelor's and master's programs) in the following areas:

  • Maths as a Second Language
  • Computer Science
  • Data Science
  • Cyber Security
  • Interaction Design
  • Digital Marketing
  • High Tech Entrepreneurship
  • FinTech
  • BioTech
  • Aerospace Engineering
  • SuperCities UrbanTech

Register for my upcoming course here.

Mike Mirzayanov

  • Vote: I like it
  • +152
  • Vote: I do not like it

| Write comment?
»
6 years ago, # |
  Vote: I like it +113 Vote: I do not like it

Can't be there an online option be available ?

»
6 years ago, # |
  Vote: I like it +4 Vote: I do not like it

And how many of those 1000 euros per participant go to you?

I'm up for paying, recording the lectures and reselling them at 50 euros per whole course. I'd pay off my costs and send the profits to you directly. (jk ofc)

  • »
    »
    6 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    By the same argument, I can buy one of yours and resell it for 1 euro. So I think that the recordings should be free.

    • »
      »
      »
      6 years ago, # ^ |
        Vote: I like it -18 Vote: I do not like it

      Whoever wants it for free will find a way to get it for free. My way makes the course affordable and rewards author of the course with sth like donations from people who want to pay for it (don't tell me there wouldn't be anyone, CF has plenty of supporters) instead of helping moneylenders.

      • »
        »
        »
        »
        6 years ago, # ^ |
          Vote: I like it +10 Vote: I do not like it

        I don't know their business model, but I was expecting something like coursera/edx (pay only if you want the certificate). The goal of universities is the creation and distribution of knowledge, so I don't find any reason to not let the recordings for free, for example, in Brazil there is an annual international training camp and all the material (lectures/contest problems) are available for free.

»
6 years ago, # |
Rev. 3   Vote: I like it 0 Vote: I do not like it

Damn I wish I could go but I don't think my manager would send me abroad for 3 weeks :( longest I've had is single weeks in the UK

»
6 years ago, # |
  Vote: I like it +23 Vote: I do not like it

We need online course

  • »
    »
    6 years ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    Hello attiw! All of our courses are only available onsite, in the future we are hoping to begin online courses in parallel with our visiting lecturers.

»
6 years ago, # |
Rev. 3   Vote: I like it +126 Vote: I do not like it

Am I the only one who thinks that this course is ridiculously expensive? I know that the course will be professionally prepared, but really? 1000€?! If you add travel, accomodation and food (for 3 weeks) that's pretty expensive. I know that some people and/or universities can afford this, but on the other hand, I am organizing camps in Poland that cost at most 100€/week with accomodation, travel (within the country), food and several lecturers.

  • »
    »
    6 years ago, # ^ |
      Vote: I like it +9 Vote: I do not like it

    I assume you don't pay much money for teachers (preparing the lectures also takes time) and the university gives classrooms for free?

    Still, I also think 1000€ is expensive for this course. In my university in Finland, a visiting lecturer gets about 100€/h and a classroom costs about 50€/h. So organizing this course would cost about 150*3*15=6750€. So you would only need seven participants to cover all costs.

    • »
      »
      »
      6 years ago, # ^ |
      Rev. 3   Vote: I like it +37 Vote: I do not like it

      We organize camps either in the university classrooms (and we don't pay for them, or in hotels with conference rooms (we pay for them).

      And yes, we don't pay 100€/hour to lecturers and tutors, but we have really healthy environment here in Poland. Most of our participants later help organize those camps and they are really pationate about it. We are organizing such events not to earn money, but to help others.

      We are still paying them for their time.

      • »
        »
        »
        »
        6 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Yeah, we also have a "healthy environment" in Finland — because we don't have money to pay appropriate salary for competitive programming training. 100€/h is what a lecturer would get in an "official" university course, this doesn't apply to our random training camps.

»
6 years ago, # |
  Vote: I like it +15 Vote: I do not like it

Why not recording the lectures and making it available for all?

  • »
    »
    6 years ago, # ^ |
      Vote: I like it +19 Vote: I do not like it

    Do you want to work for me for free? If no, why?

    • »
      »
      »
      6 years ago, # ^ |
        Vote: I like it +15 Vote: I do not like it

      I see your point. But I believe that science should never be exclusive the privileged. Many great institutions offer their recorded courses for free, MIT open courseware for example. I have watched lots of recorded complete courses taught in universities everywhere.

      • »
        »
        »
        »
        6 years ago, # ^ |
        Rev. 3   Vote: I like it -23 Vote: I do not like it

        Joker: "If you're good at something, never do it for free."

        Bill Gates, net worth ~90 B dollars

        Mark Zuckerberg, net worth ~71 B dollars

        Linus Torvalds, net worth ~150 M dollars

        To give you a perspective to their net worth difference:

        90,000,000,000$

        71,000,000,000$

        .....150,000,000$

        You see the difference? No matter how good is your product, if you don't make a value to the customer, you will earn no shit. Harder part is to make people to buy your product, than to make it.

        Mike wants to share some knowledge with you, why would he share it for free? The other thing is wheter his strategy to earn something from it (with this approach and price) is good or not.

        • »
          »
          »
          »
          »
          6 years ago, # ^ |
          Rev. 2   Vote: I like it +51 Vote: I do not like it

          I'd hardly call being worth 150m dollars "earning no shit". Besides I really don't see the point in making as much money as possible at all times. To be frank I don't really understand why someone would want to earn much more than the cost of living, but people can do whatever they want.

          Anyway I hardly doubt any of this is Mike being greedy. I suspect most of the "extra" money is snatched by Harbour.space & co. I doubt Mike has any real control over the pricing of these things.

          • »
            »
            »
            »
            »
            »
            6 years ago, # ^ |
              Vote: I like it -22 Vote: I do not like it

            As you said, different people have different view of how much is enough money.

            "Mike is being greedy" is your opinion, because for you and many other people (including me) 1000$ for something like this is a lot. But there are other people who would think it's a fair enough. Different value of product for different people. Everything has some value, it is just how you make it to the public.

            • »
              »
              »
              »
              »
              »
              »
              6 years ago, # ^ |
                Vote: I like it +23 Vote: I do not like it

              Anyway I hardly doubt any of this is Mike being greedy.

              "Mike is being greedy"

              Come again?

            • »
              »
              »
              »
              »
              »
              »
              6 years ago, # ^ |
                Vote: I like it -10 Vote: I do not like it

              "Mike is being greedy"

»
6 years ago, # |
  Vote: I like it -18 Vote: I do not like it

Persistent Fenwick tree ??????

  • »
    »
    6 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Why not? Not much different from persistent array.

»
6 years ago, # |
  Vote: I like it -18 Vote: I do not like it

I would like to know how well the lectures are prepared. Would you make some of them available for free? Also, this is a popular marketing strategy. I'm not going to register even if they are worth the 1000 EUR (because I don't have the money lol). However, I guess, there will be other people who would :3

»
6 years ago, # |
  Vote: I like it 0 Vote: I do not like it

oh, wow, that looks like the course that would fill in all the gaps for me! content at a reasonable price that doesn't offend. the next thing i'll do is go directly to my manager and tell him all about going away for three weeks, and i'm sure he won't care.

You might see me there in Barcelona!

  • »
    »
    6 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I see people saying "my manager". What do u mean? I live in Bosnia, I cant understand you. You have your own manager for competitive programming or what? That would be so weird wtf haha

    • »
      »
      »
      6 years ago, # ^ |
        Vote: I like it +4 Vote: I do not like it

      Your boss at work

    • »
      »
      »
      6 years ago, # ^ |
        Vote: I like it +1 Vote: I do not like it

      I wish I had a competitive programming manager though :3 maybe I'd be more focused then