🇫🇮 Как в Финляндии учат программистов. Tampere University of Technology 👩🏻‍💻

 Публичный пост
9 июня 2023  2147
Держи долор

Три года назад я закончила Bachelor's Programme in Science and Engineering по специализации ICT в Tampere University of Technology, а позавчера перевела оплату за обучение младшего брата в другом финском вузе. По этому поводу решила освежить воспоминания.

В этом посте я в основном концентрируюсь на учебе с точки зрения содержания в контексте IT-сферы и программирования и сильно меньше на процессах обучения (об этом будет в другой раз).

Про то, как сейчас устроено поступление в финские универы, какие бывают программы, и что вообще поменялось с момента моей учебы, рассказываю в телеграме: t.me/silicon_thames.

Первый курс

На первом курсе все студенты технических специальностей проходят примерно одно и то же. Знаменитой западной возможности выбирать предметы тут скорее нет (хотя добирать дополнительные можно сколько угодно :)). Первый курс — это база.

В базу входят: вышмат, физика, совсем чуть-чуть химии, программирование, финский 💜 и несколько курсов из серии "как жить эту жизнь".

Зачем это сделано? Во-первых, для общего образования :) Во-вторых, из очень здравой идеи о том, что не все люди точно знают на первом курсе, чем они хотят заниматься в будущем, и круто дать попробовать разное. Передаю привет профориентации в 17 😅 В моем случае это было не очень актуально, но возможность, имхо, крутая.

Как-то так выглядела программа первого курса:

Математика
Судя по тому, что я слышала от своих знакомых, достаточно похоже на то, что проходят на первом курсе в России: в основном матан, линал, алгебра и теорвер.

Физика
Четыре курса: механика, динамика, электростатика-электродинамика, квантовая физика. Абсолютно ничего не знаю про то, как должны проходить физику в университете, на мой взгляд она мало отличалась от школьной — разве что математика была чуть сложнее :)

Программирование
Два семестровых курса: по питону и по плюсам (все остальные курсы шли по 2 месяца). Что было круто — очень много практики. Каждый курс включал в себя очень много домашек и несколько больших проектов. В целом, курсы можно охарактеризовать как "обзорные" на программирование вообще: и про язык, и про какие-то полезные штуки вроде ООП, алгоритмов и компиляторов. Для меня это было странновато — я привыкла к более узким предметам — но вполне вписывается в предположение, что люди про это ничего не знают.

Остальное
Два прикольных курса: Introduction to Academic Studies и Career Planning. Это интересно: тебе буквально рассказывают "как жить эту жизнь" 🙂 В первом случае, как учиться, во втором — как строить карьеру.

А что если хочется больше специализации?
Несмотря на то, что практики было достаточно много, я хотела больше IT. Какая физика, ну серьезно? 😅 На самом деле возможностей было много (самое простое: взять больше курсов, но я тогда так не умела). Что я делала?

1️⃣ Нашла себе research-практику: было достаточно прикольно, мы моделировали спутниковые системы.
2️⃣ Тусила со стартаперами. В университете есть огромное количество сообществ и гильдий, которые устраивают разные ивенты по своим тематикам. Y-Campus — это коммьюнити, поддерживающее стартапы: там было много лекций, ивентов и конференций, относящихся к IT.
3️⃣ Вписалась в "open practice": это когда какой-то относительно крупный проект придумывается и делается самостоятельно (не в рамках какого-то курса), но при этом тебя менторят.

Второй курс

А вот с этого момента можно было набирать любые курсы в рамках своей специализации и составлять свое расписание. На радостях я набрала двойную норму курсов 🙂

Расписание того времени. Чувствовала себя Гермионой, которой нужен маховик времени)) Несколько курсов потом выкинула, но большая часть осталась(это без практик, только лекции)

Математика
Здесь я просто перечислю основные курсы, которые у нас были. Общая специфика всей математики — она сильно более ориентированная на практику, чем в российской традиции.
1️⃣ Complex Analysis
2️⃣ Differential Equations
3️⃣ Mathematics for Algorithms (дискретка)
4️⃣ Matrix Analysis

ICT
Это был мой major (то есть основная специализация), который, в свою очередь, делился на core studies и "фокус".

Core studies:
1️⃣ Introduction to Software Engineering. По сути: курс про project / product management. Сбор требований, анализ, проектирование, менеджмент.
2️⃣ Introduction to Signal Processing.
3️⃣ Principles of Programming Languages. Компиляторы.
4️⃣ Курс по архитектуре (с говорящим названием Programming 3).
5️⃣ Data Structures and Algorithms (ну вы поняли :)). Классический такой курс по алгоритмам.

Мой фокус - machine learning.

Здесь два семестровых курса по, собственно, ML. Было прикольно: много математики и при этом очень много практики. Мы делали прикольные проекты и участвовали в kaggle-соревнованиях 🙂

Кроме этого, было два более специализированных курса:
1️⃣ Introduction to Audio Processing — мой любимый и по совместительству самый сложный и загруженный курс вообще за всю учебу. Про что: про то, как работать с разными типами аудио, голосовых помощников, про синтез музыки и синтез речи. Было огромное количество жесткой теории, куча практики и большой исследовательский проект.
2️⃣ Introduction to Image and Video Processing. По сути Computer Vision. Тоже прикольный, но практики было чуть меньше.

Третий курс

Из-за двойной нормы курсов во второй год на третий курс у меня осталось не так много предметов. Что было довольно удачно, потому что я уже работала на фуллтайме.

Математика
1️⃣ Algebra (нужно больше алгебры :))
2️⃣ Introduction to Probability and Statistical Inference (теорвер и статистика)

ICT
1️⃣ Computer Networking
2️⃣ Algorithmic Problem Solving. Прикольный курс, где нужно было просто нарешать много олимпиадных задачек и написать контест.
3️⃣ Functional Programming. Про хаскель и в целом про функциональные языки.

Диплом
В итоге, третий курс был достаточно расслабленным в плане учебы и, в основном, посвящен диплому. В качестве диплома я писала кусок системы по визуализации процессов на софтверных проектах.

Задача заключалась в том, чтобы ввести какие-то метрики оценки перформанса девелоперов, визуализировать его и научиться делать предсказания на будущее.

Общее впечатление
В качестве небольшого итога могу сказать, что мне понравилась система и подход к обучению. Было очень большое количество практики и как следствие "кейсов" и какого-то real-life опыта, что полезно с точки зрения работы. Еще большой плюс был в том, что если знать, чего ты хочешь (!), можно составить программу очень четко под желаемый профиль. А если не знать (что тоже типично), то получаешь достаточно много контекста, чтобы составить представление о сфере в целом.

Аватар Evgeniia Onosovskaia
Evgeniia Onosovskaia @jlamia
Software EngineerJetBrains
📍Лондон, Великобритания

👩🏻‍💻 Делаю Rider, учу детей программировать
🇬🇧 Блог про IT в инстаграм: tech.jane
tg: @janelamia
instagram.com/jane.lamia

11 комментариев 👇
Rustam Islanov Principal Technical Lead 12 июня 2023

Если честно, выглядит заметно более лайтово, чем похожие программы в РФ вузах. Ну, по крайней мере в топовых технических

  Развернуть 1 комментарий

Как-то очень напоминает образование в РФ: матан, физика, алгоритмы/структуры данных и прочая нудятина) ФП и Computer Vision - интересно, но как будто капля в море.

  Развернуть 1 комментарий

@alpex92, ну, тут очень зависит от того, что тебе вообще интересно и на чем ты хочешь специализироваться :) По моему субъективному ощущению, IT было много и +/- в том формате, который я хотела. А, ну и тут тоже надо понимать, что все со 2 курса — это курсы по выбору в некотором множестве, поэтому, возможно, у нас просто область интересов сильно разная :)

  Развернуть 1 комментарий

@alpex92, а кто сказал, что в РФ образование по SE плохое? Я закончила Академический Университет в Питере (который уже успел переехать в Вышку, а потом в Бремень). И по моим ощущением у нас была очень сильная программа и я очень горжусь, что закончила именно этот университет. Русское -- не значит плохое. И на мой взгляд, матан, алгоритмы и так далее -- это совсем база, которую выкидывать конечно можно, но как-то странно. Фундаментальное образование по SE без курса по алгоритмам я, например, совсем плохо представляю.

  Развернуть 1 комментарий

@olga24912, поинт скорее в том, что, то, чему учат в российском ВУЗе, с реальной деятельностью Software Engineer пересекается слабо. Да, можно сказать что задача ВУЗа «научить учиться», но временные затраты на это выглядят просто несопоставимо

  Развернуть 1 комментарий

@alpex92, ой, а вот это интересно. А чем ты по работе занимаешься? (то есть у меня скорее есть ощущение, что я вполне использую всякие штуки, которым учили в универе; очевидно, что оно на другом уровне и в немного другом разрезе, но нет ощущения, что это все вообще между собой не связано)

  Развернуть 1 комментарий

@alpex92, я вот начала мочь в гуманитраные навыки после 4-6 лет в науке :) Вот там я начала мочь и на английском по работе с людьми общаться и хорошо писать много-много текстов. А вот в универе у меня как раз много технических скиллов. Мне кажется в универе самый главный скилл, который я получила -- это уверенность в себе. Например, когда я была на втором курсе у нас было задание на семестр по курсу по джаве написать приложение под андроид. В котором бы была работа с базой данных, с сетью, использования каких-то фич андроида и так далее... Там нужно было сдавать дизайн приложение и так далее. И вот ты сидишь перед этим заданием и ты никогда в жизни до этого не работал с сетью и вообще без идей как она работает, с базами данным, с фронт эндом, с мобилками, да и на джаве никогда не писал. У тебя возникает надежда, что может тебе это всё расскажут, но нет, тебе просто говорят "ну, гуглите". И сначала ты в ужасе, а потом действительно шаг за шагом у тебя получается к концу семестро что-то возможно кривое-косое, но сделать, прям то что можно запустить и что работает. А таких заданий много и в разных областях в универе ты постоянно оказыаешься в ситуации что "ничего не понятно, но разбираться надо". А потом ты приходишь на работу, тебе говорят что нужно сделать ты это слушаешь и думаешь "не слово не поняла, но я разберусь, и не с таким разбиралась". И вот без универа вот это чувство "ничего не понятно, но я справлюсь" мне бы было очень сложно получить. И мне всё-таки кажется что в универе я развиваюсь быстрее, чем на работе. Точнее даже не то что бы быстрее, а более разносторонним образом, то есть мне удается потыкаться в тепличных условиях в кучу разных вещей, в которые я на работе тыкатся не буду, да ещё и получить фид бэк от людей у которых вот ровно в этом направление дохрена лет опыта. Я считаю, что это прекрасно :)

  Развернуть 1 комментарий

@jlamia, в основном бэкенды на Scala,
иногда еще с инфраструктурой приходится работать, вроде: прикрутить другой k8s-оператор, написать скрипты миграции, поправить деплой, автоматизировать это все.

Ну и по-классике Jira, Confluence: нарисовать схемку, написать статью про какой-нибудь концепт, завести таски, описать, декомпозировать, оценить

Ничему из выше перечисленного толком не учат:

  • ФП в вузах очень обзорно преподают
  • вместо нормального систем дизайна учат паттернам и UML
  • командной разработке, всяким копоративным вещам, коммуникациям никто не учит
  • работе с инфраструктурой, k8s, aws? нее, вот тебе лучше куча низкоуровневой теории по сетям, ты же сетевой инженер, а не разработчик, да?
  Развернуть 1 комментарий

@alpex92, кстати, через рукопожатие знаю парня, который после 9 класса пошёл работать в ВК , сказав "нафиг это среднее образование". Тоже путь :)

  Развернуть 1 комментарий

У тебя в расписании много пересекающихся занятий — потому что они ОНЛАН были? Или оффлайн, и приходилось выбирать куда идти?

Не понял из поста — ты дистанционно училась, или ходила на пары в кампус?

Я просто планирую поступать на следующий год, ищу щас подходящий бакалавриат, чтобы учиться дистанционно на 100%, потому что работаю, и мотаться в кампус мне ваще не с руки…

  Развернуть 1 комментарий

@iaroslav, на самом деле, большая часть была оффлайн (ну, до ковида); лекции, чаще всего, записывались и можно было смотреть в записи, но практики были на кампусе

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб