Що вивчити за літо перед вступом на програміста
Студентство ФІОТ
Зміст
- Переднє слово
- Учимо першу мову програмування
- Що далі - дорожні карти розвитку
- Звалище корисної літератури
Доброго дня, шановні абітурієнти!
Ви здали ЗНО, нещодавно були опубліковані результати, скоро почнеться вступна кампанія. Ви подасте заяви в бажані виші, бажаючи в майбутньому стати крутим програмістом.
Тепер у вас є чимало вільного часу, який можна витратити на відпочинок (що є гарною ідеєю, ви готувалися весь рік до ЗНО!). Однак якщо у вас ще є запал і бажання вчитися, або нетерплячка почати студентське життя, у вас закономірно виникне питання - що б такого підівчити за літо, щоб в університеті було легше, і щоб можна було вихвалятися перед менш працьовитими одногрупниками?

У такому разі, гайд присвячений саме для вас. Тут ми спробуємо зібрати корисні ресурси для вивчення та пояснити, що воно і для чого, а також допомогти вам зробити вибір, що саме вивчати. Також цей гайд може бути корисний вам і протягом перших років навчання, якщо вам буде надто легко, або виникне бажання повчитися додатково.
Що вчити?
Для початку давайте спробуємо подивитися на те, з чим ви зіштовхнетеся протягом першого семестру навчання і виставити приорітети цьому.

Математика
Так, буде. Може бути боляче. Однак самостійно вчити її буде важковато, і воно того не варте скоріше за все. Однак якщо ви таки допитливі математики чи юні системні аналітики, ось вам розумні слова для дослідження: математичний аналіз, лінійна алгебра, аналітична геометрія, булева алгебра, дискретна математика.
У разі якщо вам це цікаво, рекомендуємо зайти в розділ із корисною літературою.
До слова, про фізику можете взагалі не думати. Навіть якщо вона у вас буде (не факт!) влітку на неї час витрачати марна справа. Університетська програма з фізики у програмістів дуже дивна і по суті нічому новому не вчить.

Англійська мова
Усі знають, а якщо ви не знаєте, то кажемо вам: програміст без англійської - що танцюрист без ніг. Вам доведеться багато працювати з мовою Її Величності: це і читання документації, і найсвіжіші професійні новини (🇷🇺-сько та 🇺🇦-ськомовний контент буває, але набагато рідше і набагато менш актуальний), і спілкування з колегами та замовниками. Англійська також відкриває значні кар'єрні можливості: вища зарплатня, переїзд за кордон, участь у професійних конференціях.
І тут 😢сумна😢 новина. У КПІ з цим так собі. Якщо сподіватися лише на пари іноземної мови то ваш рівень навряд виросте, а може навіть і впасти.
Тому повчити англійську влітку насправді чудова ідея. Рецепт наступний: оточіть себе по максимуму англомовним середовищем. Пора почати дивитися фільми із субтитрами, чи дослідити переклад вашої улюбленої пісні!
Для розширення словникового запасу допоможуть такі додатки як Duolingo та Lingualeo (можна завантажити на телефон).
Також рекомендуємо використовувати спеціалізовані словники для пошуку значень слів та контексту їхнього вживання, наприклад Reverso Context, Oxford Learner's Dictionary, Longman Dictionary, Merriam-Webster Dictionary, Cambridge Dictionary.
Для вивчення базової граматики, якщо все погано, можете спробувати знайти онлайн-курси чи підручники, але можливо краще звернутися до репетитора.
Ну загалом це все, більше на 1 курсі нічого не буде.
Ха, підманули.

Основи програмування
Ну, that's in the name, вас навчать базовим трюкам технобогів - як писати простенькі програми, як працює цей ваш код, як полагодити чайник і всім іншим речам, що має знати кожен тижпрограміст. І тут у нас є гарні новини для вас, панове. Цей етап доволі легко пройти самостійно і за кілька літніх місяців нормально освоїти основи програмування.
Коли що, у вас тут мають загорітися очі і виникнути питання, що саме вчити, яку мову, по яких гайдах, які канали дивитися, ЩО, ЩО, ЩО РОБИТИ??? Спокійно, ми дійдемо до цього трохи нижче, а поки поставте собі ментальну галочку що ви хочете цим займатися.

Алгоритми, структури даних, парадигми програмування
Якщо ви почали програмувати у 7 класі, у 8 класі написали першу гру, у 9 класі допомогли Стіву Джобсу випустити нову версію iOS, коротше - якщо ви вже маєте якийсь досвід у програмуванні і попередній пункт для вас занудний - учіть алгоритми.
Ці предмети будуть на першому курсі, вони познайомлять вас із канонічними способами вирішення поширених задач, із тим як робити ваш код більш оптимальним, як організовувати ваші дані, тощо.
В університеті це вивчається паралельно з основами програмування, можна насправді вчити АСД узагалі без прив'язки до програмування, але буде важко. Загалом, не радимо вам братися за це, якщо ви не освоїли жодну мову хоча б на базовому рівні. Але коли впораєтеся і бажання вчитися залишиться - можете зазирнути у просунутий розділ цього гайду.
Ну що, із приорітетами та черговістю ніби трохи визначилися. Поїхали далі!