Привет, Codeforces!
Это не совсем обычный пост от меня. Это не анонс новых фич или чемпионата, но воодушевлен я ничуть не меньше.
Рад сообщить, что с 29 января по 16 февраля 2018 г. буду читать курс "Advanced Algorithms and Data Structures" в Harbour.Space University (Испания, Барселона). Курс будет прочитан на английском языке. Слушателями этого курса будут не только студенты Harbour.Space. Курс открыт для всех желающих! Кто хочет присоединиться?
Обычно курсы приглашенных преподавателей в Harbour.Space предназначены исключительно для студентов университета. Я очень рад, что Harbour.Space в случае моего курса пошел на эксперимент, сделав курс открытым для желающих попасть именно на него. Стоимость обучения составит 1000 евро. Подать заявку можно по ссылке. В стоимость обучения не входит проживание в Барселоне и питание.
В моих планах — подробный рассказ о некоторых алгоритмах и структурах данных, много практических занятий и акцент не только на правильность, но и красоту и структура кода. Моя цель — сделать полезные и интересные занятия для как для всех кто хочет разбираться в фундаментальном CS, так и для интересующихся соревнованиями по программированию. Наверняка, у нас будет возможность познакомиться и пообщаться. Я с удовольствием поделюсь рассказами об истории Codeforces и планами по развитию.
Курс будет состоять из трёх недель обучения, по 5 учебных дней в каждой неделе. В программе — ежедневные лекции и практические занятия. Скучно точно не будет!
Вот предполагаемый план курса:
Неделя | День | Тема |
---|---|---|
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. |
Университет Harbour.Space расположен в Барселоне (Испания). Пользователям Codeforces университет Harbour.Space известен по активному участию в жизни сообщества спортивного программирования (сборы и партнерство с Codeforces в рамках образовательных раундов). Основная же деятельность университета — обучение (есть бакалаврские и магистерские программы) по направлениям:
- Maths as a Second Language
- Computer Science
- Data Science
- Cyber Security
- Interaction Design
- Digital Marketing
- High Tech Entrepreneurship
- FinTech
- BioTech
- Aerospace Engineering
- SuperCities UrbanTech
Mike Mirzayanov
Can't be there an online option be available ?
Hello ghazanfar_iiuc ! The course will only be onsite, in the future we are hoping to begin online courses in parallel with our visiting lecturers.
Looking forward for those days, in near future.
Are these video lectures ?
If not I'd like to request to make them online so that more people can get benefit from this course.
Фигасе цены... Такто тому кто выдержит 15 лекций Михаила Рахисовича должны косарь евро приплачивать))))
*Арахисовича
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)
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.
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.
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.
can you tell me where this material you are talking about is available ?
http://maratona.ic.unicamp.br/MaratonaVerao2016/index.html
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
manager?
мне это почти всё за бесплатно в университете препод на первом курсе рассказал на русском языке
We need online course
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.
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.
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.
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.
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.
Why not recording the lectures and making it available for all?
Do you want to work for me for free? If no, why?
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.
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.
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.
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.
Come again?
"Mike is being greedy"
Persistent Fenwick tree ??????
Why not? Not much different from persistent array.
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
Your handle is on point
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!
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
Your boss at work
I wish I had a competitive programming manager though :3 maybe I'd be more focused then
Me too lol..It would be such a good motivation
I can be your manager. 1000 eur/hour