Год назад я закончила Bachelor's Programme in Science and Engineering по специализации ICT в Tampere University of Technology. Как это было :)
В этом посте я в основном концентрируюсь на учебе с точки зрения содержания в контексте IT-сферы и программирования и сильно меньше на процессах обучения (об этом будет в другой раз).
Первый курс
На первом курсе все студенты технических специальностей проходят примерно одно и то же. Знаменитой западной возможности выбирать предметы тут скорее нет (хотя добирать дополнительные можно сколько угодно :)). Первый курс — это база.
В базу входят: вышмат, физика, совсем чуть-чуть химии, программирование, финский 💜 и несколько курсов из серии "как жить эту жизнь".
Зачем это сделано? Во-первых, для общего образования :) Во-вторых, из очень здравой идеи о том, что не все люди точно знают на первом курсе, чем они хотят заниматься в будущем, и круто дать попробовать разное. Передаю привет профориентации в 17 😅 В моем случае это было не очень актуально, но возможность, имхо, крутая.
Как-то так выглядела программа первого курса:
Математика
Судя по тому, что я слышала от своих знакомых, достаточно похоже на то, что проходят на первом курсе в России: в основном матан, линал, алгебра и теорвер.
Физика
Четыре курса: механика, динамика, электростатика-электродинамика, квантовая физика. Абсолютно ничего не знаю про то, как должны проходить физику в университете, на мой взгляд она мало отличалась от школьной — разве что математика была чуть сложнее :)
Программирование
Два семестровых курса: по питону и по плюсам (все остальные курсы шли по 2 месяца). Что было круто — очень много практики. Каждый курс включал в себя очень много домашек и несколько больших проектов. В целом, курсы можно охарактеризовать как "обзорные" на программирование вообще: и про язык, и про какие-то полезные штуки вроде ООП, алгоритмов и компиляторов. Для меня это было странновато — я привыкла к более узким предметам — но вполне вписывается в предположение, что люди про это ничего не знают.
Остальное
Два прикольных курса: Introduction to Academic Studies и Career Planning. Это интересно: тебе буквально рассказывают "как жить эту жизнь" 🙂 В первом случае, как учиться, во втором — как строить карьеру.
А что если хочется больше специализации?
Несмотря на то, что практики было достаточно много, я хотела больше IT. Какая физика, ну серьезно? 😅 На самом деле возможностей было много (самое простое: взять больше курсов, но я тогда так не умела). Что я делала?
-
Нашла себе research-практику: было достаточно прикольно, мы моделировали спутниковые системы.
-
Тусила со стартаперами. В университете есть огромное количество сообществ и гильдий, которые устраивают разные ивенты по своим тематикам. Y-Campus — это коммьюнити, поддерживающее стартапы: там было много лекций, ивентов и конференций, относящихся к IT.
-
Вписалась в "open practice": это когда какой-то относительно крупный проект придумывается и делается самостоятельно (не в рамках какого-то курса), но при этом тебя менторят.
Второй курс
А вот с этого момента можно было набирать любые курсы в рамках своей специализации и составлять свое расписание. На радостях я набрала двойную норму курсов 🙂
Математика
Здесь я просто перечислю основные курсы, которые у нас были. Общая специфика всей математики — она сильно более ориентированная на практику, чем в российской традиции.
-
Complex Analysis
-
Differential Equations
-
Scientific Computing (что-то вроде мат.моделирования)
-
Mathematics for Algorithms (дискретка)
-
Matrix Analysis
ICT
Это был мой major (то есть основная специализация), который, в свою очередь, делился на core studies и "фокус".
Core studies.
-
Introduction to Software Engineering. По сути: курс про project / product management. Сбор требований, анализ, проектирование, менеджмент.
-
Introduction to Signal Processing.
-
Principles of Programming Languages. Компиляторы.
-
Курс по архитектуре (с говорящим названием Programming 3).
-
Data Structures and Algorithms (ну вы поняли :)). Классический такой курс по алгоритмам.
Мой фокус - machine learning.
Здесь два семестровых курса по, собственно, ML. Было прикольно: много математики и при этом очень много практики. Мы делали прикольные проекты и участвовали в kaggle соревнованиях 🙂
Кроме этого, было два более специализированных курса.
-
Introduction to Audio Processing — мой любимый и по совместительству самый сложный и загруженный курс вообще за всю учебу. Про что: про то, как работать с разными типами аудио, голосовых помощников, про синтез музыки и синтез речи. Было огромное количество жесткой теории, куча практики и большой исследовательский проект.
-
Introduction to Image and Video Processing. По сути Computer Vision. Тоже прикольный, но практики было чуть меньше.
Третий курс
Из-за двойной нормы курсов во второй год на третий курс у меня осталось не так много предметов. Что было довольно удачно, потому что я уже работала на фуллтайме.
Математика
-
Algebra (нужно больше алгебры :))
-
Introduction to Probability and Statistical Inference (теорвер и статистика)
ICT
-
Computer Networking
-
Algorithmic Problem Solving. Прикольный курс, где нужно было просто нарешать много олимпиадных задачек и написать контест.
-
Functional Programming. Про хаскель и в целом про функциональные языки.
Диплом
В итоге третий курс был достаточно расслабленным в плане учебы и в основном посвящен диплому. В качестве диплома я писала кусок системы по визуализации процессов на софтверных проектах.
Задача заключалась в том, чтобы ввести какие-то метрики оценки перформанса девелоперов, визуализировать его и научиться делать предсказания на будущее.
Общее впечатление
В качестве небольшого итога могу сказать, что мне понравилась система и подход к обучению. Было очень большое количество практики и как следствие "кейсов" и какого-то real-life опыта, что полезно с точки зрения работы. Еще большой плюс был в том, что если знать, чего ты хочешь (!), можно составить программу очень четко под желаемый профиль. А если не знать (что тоже типично), то получаешь достаточно много контекста, чтобы составить представление о сфере в целом.
Автор:
jlamia