
ITMO · 2025–26
Fear of Calculus and Loathing of Linear Algebra at ITMO AI360
Note: this article was translated from Russian using Claude. The original Russian article is here. Also published on X.
Introduction
I was eating raspberries at my grandmother’s dacha, somewhere out past the last inhabited edge of the world, when the Nokia 3310 started howling.
I picked up.
A voice I knew. I’d heard it before — in lectures, at open days, at summer camp, in nightmares about uncovered edges. (The dean).
While I worked through another handful, he spoke evenly, routinely, like a dispatcher assigning you to certain death:
— You come to Petersburg. We put you up in the center. You write a report on our new flagship program. Fun, food, diplomas, honorary — it’s all covered.
Covered. Like a spectacular vertex cover. Like closure under induction.
That was the moment to drop the phone in the raspberries and run.
Instead, I said: “I’m coming.”
And the moment I arrived in that mirage of a city, life turned into one long bad trip, swinging between swelling with pride at myself and thoughts of suicide and dreams about mathematics.
We had two bags of asymptotic dust, seventy-five ampoules of integral madness, a pint of assorted bases, a salt shaker half-full of multilinear forms, a scatter of eigenvalues in every color of the rainbow, a vial of transitive closure of the brain — every thought now reachable from every other. A little Grassmann algebra in neat wedges ∧, a spool of Hamming codes in case reality started erroring by one bit, and a whole galaxy of definitions, lemmas and congruences mod n…
Not that any of it was strictly necessary for the jump to level 3. But once you’ve set out for Petersburg in search of the programmer’s dream, collecting every abstraction within reach along the way, stopping becomes impossible. The local tendency is to push it as far as you can.
A couple of trips were scheduled to closed occult rites — so-called “AI conferences”. But my attorney and I worked out the truth soon enough.
There are no tokens there, no attention, no encoders. Pure voodoo.
Somewhere on the approach to another session, it started to dawn on me that we — the car — are in some sense a finite automaton, and that a random permutation with no fixed points is the perfect model of Secret Santa. I decided it was time to let my attorney drive. That’s when I heard the scream from the passenger seat:
— My legs. The limit has them pinned.
Another rush of ∫N⊤∃ǤRΛ⋀ MΛÐN∃SS — side effect of the jump to level 3. I moved fast, scooped out a handful of pills and poured them straight into his mouth: “standard evening stack, breathe.” He stopped confusing the limit of a sequence with the limit of a mapping.
The only thing that really worried me was vibescience. There is nothing in the world more wretched and pathetic than a researcher who has sold his soul and his mind to dark powers in exchange for speed: he no longer proves, he simply feels that the theorem is true and hits accept. Fuck yeah, science. I knew we’d be on that shit soon enough. The only question was when…
When I was applying to ITMO, I couldn’t find a single honest account of the place — two podcasts, one video by a guy who’d already transferred out to business informatics, and a handful of one-minute clips of students saying it was great…
So here’s mine. Admissions, AI360, the professors, the coursework, the conferences, the part where I nearly got expelled.
Maximally honest, with sarcasm and self-mockery leaking through in places. Hopefully they don’t expel me for it.
This is the 2025–26 version of events. Next year the rules will change and the quality will probably improve.
Admissions
I got in without entrance exams, on Olympiad results — that year ITMO took AI students that way and no other, though it worked differently elsewhere.
The alternatives:
- HSE Software Engineering — didn’t want SE, and the dorm is miles out.
- HSE Applied Data Analysis — paid track only. I had a grant, but I didn’t want to spend four years exclusively among people who’d bought their seat.
- HSE Applied Math and CS — I had a grant good for any program in the CS faculty, won through a project competition, but I couldn’t cash it because I bombed the one of the exams.
ITMO won on: AI360, a dorm in the center of the city, a first-year undergraduate stipend roughly what a working adult in Russia earns, and the fact that I did not want to live with my mother and my brother.
Sorry — what the hell is AI360?
An elite AI program run across several Russian universities at once, funded and staffed by the country’s big tech — @sberbank (a state bank that decided to become an AI lab), @yandex (search, ads, taxis, self-driving; the local Google), and AIRI (the AI Research Institute).
Each university builds its own version of the curriculum. What binds them together is the money, the mentors, and the project schools.
The trick is that you’re admitted to CT — the Computer Technologies department — first and only then selected into AI.
Which makes the following perfectly real: you apply for AI, they send you to an interview, you fail it, and you land in ordinary CT or in TopDS.
TopDS is where the people who wanted AI and didn’t get it end up. Same lectures, same midterms, same rooms — minus the AI perks: the trips, the stipend, the community.
Some time after the lists went up, a form arrived: tell us about yourself, your projects (from Linux on phones to NFT marketplaces of Minecraft builds), your achievements, the summer camps you’ve been to, and write a motivation letter.
I went at that form like it owed me money and wrote a letter about why I specifically needed to be on this program).
From polling my groupmates: what decides whether you skip the interview is which Olympiads you’re holding, not how impressive you were on the form.
There were no problems at the interview. They asked why AI, and what I wanted to do after graduating — I said I wanted a fundamental education first and then to build a technology startup. I spent a while afterwards regretting having said that out loud. It worked out.
Some time after that: the good news, an add to the group chat, and the discovery that there was an orientation meeting at ITMO in a few days.
At the meeting the second-years told us about the coursework, we met each other, and it turned out that in a week I’d be going straight back to Moscow for Introduction Weekend — the event where they collect every AI360 student from every university and introduce them to Big Techs.
And while the other universities spent that week grinding, ITMO’s freshmen went to Introduction Days: a set of events run by ITMO’s clubs and internal organizations. Honestly, most of it was bleak, mainly because the people manning the “stations” were reading the same speech ten times a day. The good ones: lecture on the history of the campuses, and the optics museum, which ran real tours.
Introduction Weekend

Typical Izmailovo house
We took a train down to Moscow, checked into the Izmailovo, and the next morning were shipped off to Sber University.
They handed out merch, fed us, and explained the ShAD courses and which joint events were planned over the next couple of years.
The gist: AI360 runs across several universities, and each one has its own program. What binds them together are the project schools — events where we’re split into teams, assigned a mentor from Big Tech, and set loose on some project — plus things like Introduction Weekend and the first-and-second-year gathering.
Then a couple of lectures. Someone mentioned he was sitting through one of them for the third time. We slept well.
After that they fed us well again, split us into teams, and sent us to talk to experts from Sber and AIRI about their work. We came away deeply motivated to go work at Sber.
Then an entertainment quest and an afterparty with a guy on a guitar.
Day two we relocated to Yandex headquarter.
Sat through light lectures on the weather, on Alice, and on something else — there was probably something else, I don’t remember.

an awesome lecture!
I’d assumed Sber’s lunch was magnificent. It wasn’t: Yandex took us to a restaurant, and we physically could not finish the food. Then a tour of the office.
More games for points, ice cream handed out. The ITMO contingent pooled our points and bought an Alice — she lives in our dorm now and plays music, runs the lights, runs the kettle, the curtains, the door, us.
The next day we went back to Petersburg to study.
Coursework
Every lecture is recorded. Whether that helps you is your own problem. Attendance isn’t tracked anywhere — except English and Communications.
You get three attempts at an exam before expulsion: the exam, the supplementary session (retake one), the board (retake two) → out.
Although in practice nobody from AI or TopDS has actually been expelled yet. They just get moved down into the lower CT groups.
Colloquia and exams run on tickets: you draw one blind, write down whatever you know, then go and defend it out loud.
Education at ITMO
Calculus
The week starts with calculus. It’s taught by Konstantin Petrovich Kokhas — a medalist at the international Olympiad and a friend of Perelman. The Poincaré one, who turned down the million dollars.

Two lectures and a seminar, and which seminar instructor you get depends on your group. In the seminar half the room is solving and the other half barely understands what is happening.
The syllabus follows Vinogradov’s textbook. Vinogradov himself teaches CT group 39, but his lectures sound like a textbook being recited from memory, whereas Kokhas jokes, needles you, and hands out lemmas about the game of Hex as New Year present 😇.
This is probably the hardest course on the program — 44% of us landed in the supplementary session in the second semester. More people wash out into retakes here than anywhere else, and the whole group marches off to rewrite the midterms together. Mercifully, the problems are standard and solvable on the second rewrite if you prepare, though you take a penalty for it.
Linear Algebra
Taught by Alexander Trifanov, who runs seminars himself as well.

Some people find the lectures too abstract. On the other hand, the lecturer writes up his own notes for every single lecture.
There are a couple of colloquia over the semester, and you’re admitted to them only after passing a test. They do try to let you through. There’s no penalty multiplier on the midterms, and you can retake during the main session.
Discrete Math
The lectures are given by the dean of CT himself — Andrew Stankevich (ICPC winner). For one group he runs the seminars too.

In those we solve problems and answer at the blackboard, and there are programming contests on a platform plus small proctored quizzes.
A typical computational test. Deadline at 8 AM — right before bed.
Algorithms and Data Structures
The course was run by a visiting lecturer from SPbU: Daniil Sagunov.
The point of that is that the program wanted as many instructors with real research experience as possible, not just people out of industry. So in the seminars he’d ask you not only to show the idea but to prove it works.

IMHO: the course covers a lot of ground and demands very little.
Sometimes a whole topic got one or two lectures, and three people would turn up to a seminar to solve one problem out of roughly twenty.
C++
“the lab is easy, about twenty minutes of work” — skkv©
In the second semester Java was replaced by C++, taught by a CT legend: Pavel Skakov. He also teaches Computer Architecture, and Architecture & Operating Systems.
The lectures are not recorded, on principle. Catching “the vibe” here is dangerous…
Why a legend? Because he is one of the most brutal instructors in the building — 60% of CT went to the supplementary session. 44% of us. Meaning: he makes you know the subject properly and does not let you slip past.
It all started smoothly. First, they tell you about the compiler, about the linker. You fall asleep… and you wake up to the question of what the mantissa and the exponent are in the number 5.812.
A couple of lectures later, we moved on to C++ itself.
Then you’re sitting at a lab defense mumbling at the question of what the fuck std::iota doing in your code? How should I know? You asked for C++23 — it works, doesn’t it?
Three labs in total: emulating floating point, a TIFF converter, and an inference engine for a simple MNIST-Fashion network (the ML part was written for us — also by a neural network). Skakov is a fanatic about the standards.
Getting the top grade without sitting the exam is impossible. And at the exam you write code on paper: if it doesn’t compile inside the examiner’s head, you get a zero, and if it’s “bad” — in his opinion — you get negative points…
English
I landed in the C1 group after a short placement test.
Ours is taught by Mufolalu Chipo Mubalu. In class we talk for three hours and work unhurriedly through more or less random exercises out of the textbook. Some people do homework, some sit in their laptops.
First semester I went to about half the classes. The supplementary session was a humiliating queue where you read out an exercise and then wait another hour. In the end I was a couple of points short and got sent to the board retake.
Finally, I passed an online test, unproctored, with a speaking section. They passed me. In the second semester I did not appear at a single class.
Communications and Teambuilding
A wonderful course because it teaches you to work in a team and to talk to people. The main problem was that it started at 8 in the morning!
My principal communication skill manifested when, during one class, I simply entered my own points during the break.
I got a great, energetic instructor — Valeria Limonova, recommended — and somehow walked straight past the course anyway.
On electives
In your first two years you will barely have time for anything. I signed up for “Navigating St. Petersburg” — on weekends they run tours of the center, Yelagin Island, the outer districts. You need a third of the attendance and one simple assignment. (Depends entirely on the course.)
Strongly recommended, given that it runs on weekends and asks almost nothing of you.
Sports
The internet has a lot to say about sport at ITMO.
You can attend whatever classes suit you — until you sign up for a section, at which point that section becomes the only thing that counts. You can even close it out with a fitness app, or with chess.
There are base points and bonus points. Base for sport, bonus for ICPC and for Brawl Stars tournaments. Incidentally, merely turning up to the ICPC round of 16 got you points in discrete math and algorithms plus 50 PE points, which is half the course. So even if you’re a pure mathematician, it’s worth entering.
I signed up for climbing. It turned out to be one of the most demanding sections there is. In its entire history it has had three CS students…
When I arrived, everyone was learning to do a pull-up. I showed up a month late and was already level with the rest. Then the board happened, I broke a finger and thought about quitting, but I kept going — after a tense conversation with the coach.
At the end of it, in the summer, I went on a ten-day trip to real rock, and that was the payoff for not having quit. A climbing gym is a different thing entirely.


There is nothing better than throwing for a hold while standing on chips the size of your thumb joint, twenty meters up, unable to see your belayer.
Almost forgot the ShAD course: πton
A shared course for AI students from every university. The lecturer wasn’t great, so a couple of months in, the (online) lectures were down to two or three people with their cameras off.
Frankly, most people just vibed through it — apart from a few principled and intelligent human beings — and it produced very little. They did also hand out a 40$ grant on Yandex Cloud, apparently for Great Russian Firewall bypass…
Timeline
A couple of other things happened over the semester.
“Initiation” — first some cringe games run jointly with the software engineering department, then everyone went off to drink at a disco playing pop.
After tanking the midterms in linear algebra and calculus, it began to dawn on me that at university you are, unexpectedly, supposed to study!
The TopDS hackathon, where they were handing out stipends. I blew a weekend on it and took fourth place — with a calculus midterm the next morning. Not one AI360 team took a top-three spot…
AI Journey

They also took everyone who wanted to go to AI Journey, Sber’s conference in Moscow. Some people slept through it, but there were genuinely interesting talks. Dmitry Kryukov on aging, for instance.
Exam session: the execution of the competence illusion, under threat of expulsion
It arrived abruptly in January. Calculus on the 16th, a week later linear algebra, then discrete math, then the linear algebra retake, then the supplementary session in calculus, then the board in calculus. That last one was frightening. Very frightening, because what comes after it is expulsion.
Here’s how I got there. I hadn’t gone to a specialist lyceum.
I had never sat exams in this format, and I didn’t know how you prepare for this kind of thing at all.
It took the board for me to work out the method: understand the ticket, then reproduce it in your head, repeatedly, on a schedule.
That will sound obvious. It was not obvious to me then. When I walked into that first exam, I think I knew essentially none of the theorems.
At the supplementary session I mumbled something out, but when they asked me for a black definition — one of the mandatory ones, continuity of a mapping — I couldn’t answer. I did not understand the difference between the limit of a sequence and the limit of a mapping. It didn’t help that the second semester had already started, so I was balancing new deadlines against preparing for the board.
During the supplementary period I was also rewriting the calculus midterms, which plenty of people were doing. The catch is that a problem worth 20 points on the first attempt is worth 10 on the last, and to close the course you have to solve ALL of them — four on the first midterm and four on the second.
It’s frightening, but going by the first semester they do grade the supplementary session a little more leniently. They gave me points for garbage, for instance, and took them off in the places where I’d written everything out correctly.
The board is like the supplementary session, except several instructors decide your fate instead of one — and IMHO slightly more leniently. If you haven’t closed the seminar component, they’ll hand you more problems.
At the board I spent five hours reinventing calculus. I didn’t know either of my tickets, but I guessed at them from the titles. They poked at my proofs, and I patched them up, barely. The weight that came off my shoulders. Though on the other hand — fair enough. If a student doesn’t understand what a limit actually is, what is calculus is he doing?
And no sooner had I dealt with the past than the second semester was in full swing. I swear to myself that this time I’m definitely going to study and attend every class.
I hold out for two weeks. Then I decide: I should be applying for internships. In America…
optiHealth — Everything is a Vector: a Custom Temporal Encoder
At Yandex Day at ITMO I was introduced to Yuri Rykov, an ITMO scientist who works on data from wearables. I’d built a platform for exactly that over the summer, and the subject interests me too.
He threw out an idea: reimplement SensorLM — an LLM that understands sensor data, recognizes activities and hypertension, and can describe them in words.
I decided: I’ll knock this little model together in a couple of weeks, and in about an hour on my younger brother’s RTX 5070 I’ll train what Google ran for 100 hours on TPUv6 clusters. On open datasets. (Google had 60,000 minutes of data.)
Then I’ll write to Whoop, Oura, Empatica and Fitbit about how great I am, please hire me.
Three weeks of attempts later, I have 20,000 lines of vibecode. It doesn’t work end-to-end, but there are promising results.
There’s no time left to get it right — do that, and I definitely miss the internship window. So I ditch the code and sit down with the outreach list. I write to an AI engineer at @WHOOP, something like:
— Hi. I’m reimplementing SensorLM. Are you doing anything in that direction?
He replies:
— You reimplemented THAT? If so, I’d be interested in trading notes and datasets.
I tell him what works, what doesn’t, how I’m trying to fix it. Five minutes later:
— Let’s get on a call.
We got on a call. He passed me the contact of a colleague building a foundational model, something that I am also considering working on.
I never did get on a call with his colleague. First I was clearing my academic debts, then the project school, then the session, then the rest …
Subscribe to my X for updates on optiHealth!
The project school
At the end of the first year, right as the session was closing in on everyone, we were loaded up and shipped to Moscow for two weeks of Project School.
We lived at a hotel, got up at seven every morning for breakfast, and took a shuttle to whichever skyscraper was next — Yandex’s office in Moscow city tower, or Sber headquarter.
The first days were industry lectures, then team work in the offices, a mid-review halfway through, one day off with an excursion to Yandex’s Robotics Center, and the defenses at the end.
And immediately after the school the AI360 first-and-second-year gathering.
Sounds lively. In practice a good half of those two weeks were people quietly cramming for the exams, and the project presentation got thrown together the evening before the presentation.
Start with the teams. I arrived with a romantic idea: assemble a team from different universities, meet everyone, trade brains!
In reality, I got a mixture of people looking for a free ride and people who knew nothing and were afraid of finding out.
Right next to us stood a team from ITMO where everyone knew what they were doing, with a more interesting problem and a better mentor — and they had, incidentally, invited me.
The moral I took away: better to team up with people you know well than with people who are abstractly “different.”
Then came task allocation, organized roughly like a lottery but with a loophole: you could vote for another team and drag their task away. My teammates suggested we cheat — so Claude worked out the forms API in a single prompt and sent the votes.
The subtlety is that each new vote overwrote the previous one, whereas I’d assumed it averaged across submissions… (Had I known, I wouldn’t have touched it.)
When I proudly reported what I’d done, the team tensed up: apparently the suggestion had been sarcastic, and I hadn’t picked up on it. In the end they wrote to the organizers and it got sorted out.
The task we drew sounded noble — “here’s a dataset, analyze it and improve the metric.” On arrival it turned into “we vibecoded a service, now invent your own metric, generate a synthetic dataset, and optimize that.”
And that, broadly, is telling. At the start of the school, when someone asked whether we’d be graded on UX, on product, on whether the thing actually worked, we were told honestly: no.
I chimed in that in research a negative result is still a result, and heard back: “obviously!”
After which they handed out a task list where most items were engineering and frequently nothing to do with ML at all — an API calling is not ML — and then at the mid-review they suddenly started grilling us on UX and UI.
The most galling part is that our mentor never once proposed anything around ARGUS (alternative over @AIatMeta HSTU) when his master’s thesis is on exactly that topic.
The man knows the material, and the topic is alive, close to bleeding edge!
There were legends about the mentors generally: one went almost entirely remote, one was writing his thesis while his team worked, one left to have a baby. I’m not saying a mentor is obliged to burn around the clock — it’s just that not all of them were fundamentally interested in dealing with first-years. Which is understandable: there aren’t enough researchers to go around babysitting us, and mentoring is a separate skill.
But then you keep catching yourself thinking — maybe one angry, motivated mentor across several teams would be better. Someone who hands out overlapping pieces that assemble into a whole at the end.

our mentor on his vibecoded project
The lectures before the team work were mixed. Some are interesting, some are not (people simply have little experience presenting), and some complained they were too hard — nobody had taken an ML course yet. But the main problem wasn’t difficulty, it was that almost everything was entertainment with no through-line: you listen to a talk about Yandex’s self-driving cars, great, and then what do you do with that? The practical component, by feel, got touched by about fifteen percent. There was also a lecture on ML in football where the lecturer mumbled and the room got on with its own business. That one is beyond the pale.
optiHealth during the school…
But the real, personal drama of the school is the story of my own project. Before it even started, I tried to arrange to work on my own thing and ran into polite ignoring: “that’s not allowed.” Fuck it!

the team
I suspect the team took me on out of calculation: they’ll officially refuse him, he’ll exhale, he’ll quietly grind away at his cringe project, and we’ll go drinking. At the school, having drawn that “strange” task, I asked the head of ShAD — about switching to my own after all.
He answered roughly: “It would be great if you came up with something about analysis rather than training, but if the team and the mentor don’t object, you can.”
And at the moment the door opened, no good analysis idea materialized — even though it was lying right there on the surface, and I had worked on it before. I proposed continuing the Custom Encoder, the one I’d been building for the internship, and the team balked: “too complicated, unclear, it might not work at all.”
Irony in its purest form: draw a “strange” task, receive permission to change it, and return to it out of fear of ML. I think I understand where that fear grows from. The school is graded, half the people here have straight-A syndrome, and a trip to Korea is on the horizon — nobody is willing to gamble that on “some deep learning thing” and a raw project that might not work. In my view, the grade is unnecessary here. Actually — was there one? I never did find out how the grading worked. I just got my four out of five.
After the school came the first-and-second-year gathering. I met people from every university, talked with experts at Random Coffee, and at Research Park — an event where you present your own research — I described the project in front of everyone and saw real interest come back. They may join it. We also had visits from Tigran Khudaverdyan, CEO of Yandex; Dmitry Masyuk, head of Yandex Search; and Ivan Oseledets, director of AIRI.
Plus, in the evenings, normal human rest: bowling, billiards, board games, films.
Everything else
Dorm
I registered late, so I got a corridor room — but I got it with two of my own groupmates. All the AI students were housed at Vyazma.
Life at Vyazma is its own microcosm: music room, canteen, recording studio, gym, billiards, flea market. A small city. Kronverksky is thirty minutes on foot, fifteen if you run. Yelagin Island and Primorsky Park are next door.
Campus
Everything happens at Kronverksky. Four coworking spaces, admittedly nicer than MIPT’s grind rooms ;) Three big lecture halls, plenty of smaller rooms, a good canteen, shops and coffee nearby.
On Petersburg


Yelagin Island
Having moved from Moscow, I never felt anything was missing. Cafés, shops, the secondhand market, museums, parks. Though truthfully, none of it matters much, because you will most likely spend the entire year grinding and barely get anywhere.

View to Primorsky park.
Is studying hard?
Depends on you. If you’re out of a top school and maths comes easily, passing isn’t hard. Want the supplementary stipend on top of the basic 40,000₽ (about $480 a month) and the conference trips? You’ll have to push.
With no mathematical base, the sheer volume of abstraction is genuinely hard to absorb. Then again, TopDS is full of fee-paying students who somehow close their courses with good grades and transfer onto state funding. So it’s all doable. It comes down to how badly you want it, and to academic honesty.
Do they really take you to conferences?
Yes — but you had to close the semester with no more than a single 4. Two people from ITMO have already been to ICLR in Brazil, and the rest of the straight-A students go to KDD in Korea in August.
AI360 at the other universities
Each university decides for itself how to select students and what to teach them.
HSE took fee-paying students, but without a national Olympiad your chances are zero.
Research is mandatory from year one, and they already expelled people over it in year two.
MIPT took state-funded students only, but you could get in on exam results. Anyone who didn’t tick “I want to go into science” on the form was rejected, national Olympiad or not.
SPbU took people with no interview at all, straight off Olympiad results or exam scores. The catch: get in on exam scores and your dorm is in Peterhof.
In conclusion
If I rolled back a year and got to choose again, I wouldn’t choose. I’d apply to ITMO AI360 again.
There are rough edges in how things get organized — but where aren’t there? — and in exchange I got a serious community, a good stipend, and a fundamental education.