Математика и компьютерные науки или прикладная математика и информатика
В настоящее время Россия переходит на систему бакалавр+магистр. Переходит с большим скрипом.
Что же за зверь такой «бакалавр»?
Откроем новый образовательный стандарт (для примера специальность 230200 «Информационные системы и технологии»).
Бакалавра учат 4 года, из них:
13% Гуманитарный, социальный и экономический цикл
27% Математический и естественнонаучный цикл
1% Физ-ра
3% Практика, НИР
6% Аттестация, диплом
Собственно на предметы по специальности остается ровно 50%. В предыдущем стандарте было 45%.
В эти 50% еще входят такие далекие от компьютеров предметы, как метрология и БЖД.
Если открыть список курсов Computer Science какого-нибудь европейского (Кембридж) или американского (МИТ) ВУЗа, то видно что на загнивающем Западе к образованию относятся более прагматично. Беглый обзор дает основания считать, что в computer science за рубежом все предметы так или иначе связаны со специальностью. Оторванных дисциплин нет — если есть экономика или математика, то она дается применительно к ИТ. Это оказалось неправдой, спасибо MaximKat. Соотношение профильные/непрофильные предметы на Западе примерное такое же как у нас (хотя это зависит от университета, а у нас жестко прописано в образовательном стандарте).
Я не буду спорить, хорошо или плохо наличие гуманитарных предметов или вопрошать зачем программисту матан, макроэкономика и экология. Факт в том, что они здорово кушают часы основной программы.
Диплом. Дипломный проект специалиста должен быть завершенной разработкой. Выпускная работа бакалавра — некое «исследование» по теме. Нагони туману и налей воды. Никакого проектирования.
Вторая проблема: у нас предметы часто преподаются без взаимосвязи друг с другом и в отрыве от основной специальности. Преподаватели не утруждают себя объяснением, зачем вообще нужен их предмет, какие дисциплины являются смежными, как это потом понадобится на практике? Оно и не надо: в отличие от зарубежных студентов, у нас просто нет выбора — почти все предметы обязательны. Отсутствие дисциплин по выбору — еще один недостаток. Конечно, в стандарт заложены часы на курсы по выбору студента, но в реальной жизни это все остается на бумаге.
В итоге качество подготовки выпускников и их компетенции не соответствует ожиданиям бизнеса. И наоборот, предложения на рынке труда не соответствуют ожиданиям выпускников :) Одной из причин этого является то, что бизнес слабо сотрудничает с ВУЗами — хороших специалистов он хочет получить «на блюдечке», без затрат.
Что должен уметь специалист с точки зрения крупнейших ИТ-фирм можно посмотреть здесь.
- Слабая техническая оснащенность. Не в каждом ВУЗе вам покажут настоящий сервер или мощный коммутатор.
- Преподавательский состав. Стареет и теряет квалификацию. Специалистов из отрасли мало. Кто будет читать курс по ERP за зарплату 12000 руб.?
- Учебные пособия. Не знаю как было у вас, но у нас все книжки были только советских времен.
- Английский язык. Как правило, слабый и не имеющий отношения к ИТ.
- Контроль. Государство работу ВУЗа контролирует слабо. Аттестация ВУЗов неэффективна и коррумпирована.
- Информационное обеспечение хромает. Кем ты станешь, какие дисциплины будут преподаваться, чем занимается выпускающая кафедра — многие узнают только к третьему курсу, когда уже поздно что-то менять.
Если вы собираетесь поступать на ВМК МГУ, на физтех или учиться за рубежом — дальше можно не читать :) Текст для среднестатистического абитуриента/студента.
- Не поступайте в непрофильный ВУЗ.
- Не поступайте на абы какую специальность.
- Поступайте на аккредитованную специальность.
- Не поступайте на вечернее, заочное и дистанционное образование — чаще всего это туфта. Во всяком случае, точно хуже дневного.
- Настороженно относитесь к негосударственным ВУЗам. Пока лучше поступать в государственный.
- Постарайтесь разузнать о кафедре, на которую поступаете. Но тут все равно не угадаешь: в моем ВУЗе две специальности с самым большим конкурсом учили из рук вон плохо, а среднячок — вполне достойно.
- 230100 Информатика и вычислительная техника — сисадмин, сетевик, программист
- 230400 Информационные системы и технологии — аналитик, проектировщик ИС
- 230700 Прикладная информатика — аналитик, проектировщик ИС
- 231000 Программная инженерия — тестировщик, программист, проектировщик ПО
- 231300 Прикладная математика — программист
- 010200 Математика и компьютерные науки
- 010300 Фундаментальные информатика и информационные технологии — программист, проектировщик ПО (?)
- 010400 Прикладная математика и информатика — программист
- 010500 Математическое обеспечение и администрирование информационных систем — программист
- 080500 Бизнес-информатика — аналитик, менеджер
- 090301 Компьютерная безопасность — безопасник
- 09030* Информационная безопасность… — безопасник
- 210700 Инфокоммуникационные технологии и системы связи
- 220400 Управление в технических системах
- 220700 Автоматизация технологических процессов и производств
- 221000 Мехатроника и робототехника
- 221700 Стандартизация и метрология
Советую почитать образовательный стандарт по своей специальности: перечень образовательных стандартов, рубрикатор специальностей. Учтите, что коды специальностей менялись уже 2 раза, например, «Информационные системы и технологии» были 071900, потом стали 230200, а теперь уже 230400.
- Не расслабляйтесь первые два курса.
- После второго курса постарайтесь найти подработку по специальности, не мешающую учебе. Нагрузка не больше, чем полставки. Можно устроиться на кафедру, тогда возможны некоторые плюшки.
- Самостоятельно повышайте квалификацию. Изучайте языки, технологии. Можно пойти на курсы, но тогда надо четко понимать, зачем они вам, есть ли у вас требуемая предварительная подготовка — иначе вы потратите время и деньги зря.
- Следите за конференциями, вебинарами, курсами. Многие из них для студентов бесплатны.
- Если образовалось «окно», не надо просиживать его в кафе: в институте есть читальный зал, а в нем — периодика. Читайте отраслевые журналы: «Открытые системы», «Системный администратор» и т.п.
- Если есть возможность стажировки, постарайтесь на нее попасть. Балдеть летом 2,5 месяца — непозволительная роскошь.
- Учите английский язык. Поставьте цель получить доп. высшее образование по языку или сертификат типа FCE.
- Старайтесь творчески подходить к решаемым задачам. Например, в курсовом проекте по программированию добавьте от себя дополнительные функциональные возможности — это будет интересно вам и обеспечит хорошее отношение преподавателя к вашей работе.
- Напишите «приличный» диплом. Постарайтесь, чтобы это была реальная разработка, а не растекание мыслею по древу. Еще лучше, если вы ее внедрите на предприятии и подпишите акт о внедрении.
По окончании бакалавриата изучите возможность поступления в магистратуру. Насколько «сильная» она у вас в ВУЗе? Возможно стоит поступить в другой ВУЗ или немного поменять специальность?
В последнее время появились серьезные платные магистратуры с высоким уровнем подготовки (например, тыц, тыц).
Расскажу про то, чему учат студентов на математическом факультете, где я работаю. Итак, сразу: математический факультет классического вуза НЕ готовит учителей математики. Вы имеете право преподавать с этим дипломом, но этим ваши карьерные перспективы, разумеется, не ограничиваются. Вот лишь не полный перечень реальных сфер работы наших студентов и выпускников: разработка ПО любого типа (для банков, для фармкомпаний, для "умных домов", для образовательных учреждений, для турфирм, и прочее-прочее); аналитика и финансы (производство, финансы, банки, лизинг, коммерция и тд., например, я сама лично три года работала в лизинговой компании), всё, что связано с защитой информации на всех уровнях в любого типа организациях; научная сфера, преподавание , анализ больших данных, 3D-моделирование, 3D-сканирование и 3D-печать, информационные системы, администрирование сетей, и много-много другого. Об этом я напишу позднее, а заодно и расскажу, как проходит одно из самых важных, на мой взгляд, мероприятий периода приема документов - встречи абитуриентов с работодателями.
В этой статье я хочу рассказать, чему могут научиться студенты направления "Прикладная математика и информатика" ( в обиходе - ПМИ). Это название направления , профиль , который реализуется у нас на факультете, называется "Математическое моделирование и вычислительная математика" . Чтобы поступить, надо, как минимум, сдать ЕГЭ по математике (профиль), информатике и русскому языку, как максимум - набрать приличную сумму баллов. Проходные баллы , как известно, в разных вузах в разные годы разные, поэтому их вам лучше уточнить в приемной комиссии.
Примерно так мои студенты рассказывают (и показывают) работу операционных систем. Фото из личного архива.
Примерно так мои студенты рассказывают (и показывают) работу операционных систем. Фото из личного архива.
Все изучаемые предметы делятся на блоки: есть обязательные блоки, есть ряд дисциплин, которые определяет вуз, есть те, что выбирает студент из предложенного вузом. Обязательные дисциплины - это те предметы, которые вы будете учить, поступив на ПМИ в любом вузе нашей страны. Это матанализ, алгебра и геометрия, базы данных, иностранный язык, история, экономика, теория вероятностей и математическая статистика, право и т.д. - то есть предметы, обязательные для университетского образования и всестороннего развития, а также те, которые образуют ядро подготовки будущего выпускника. Особенность же профиля состоит в том, какие спецкурсы и кто вам будет рассказывать.
Давайте посмотрим детально по всем четырем годам обучения на основе учебного плана.
Вот предметы за первый курс : История, Иностранный язык, Экономика, Социология, Алгебра и геометрия, Математический анализ, Практикум по математическому анализу, Дискретная математика, Языки и методы программирования, Физическая культура и спорт, Русский язык и культура речи, Основы программирования, Практикум по основам программирования, Практикум по языкам и методам программирования и одна практика - Практика по получению первичных профессиональных умений и навыков.
Вот второй курс: Философия, Иностранный язык, Математический анализ, Практикум по математическому анализу, Физика, Дифференциальные уравнения, Языки и методы программирования, Концепции современного естествознания, Комплексный анализ, Основы информатики, Теория фракталов, Практикум по языкам и методам программирования, Практикум по информатике, Практикум по объектно-ориентированному программированию, Введение в вычислительную математику, Архитектура компьютеров, Операционные системы, Прикладная физическая культура.
По сути, продолжение первого курса с плавным уклоном в сторону информатики и программистских курсов.
Переходим к третьему курсу. Здесь есть:
1. Общие для всех студентов предметы: Теория вероятностей и математическая статистика, Методы оптимизации, Базы данных, Численные методы, Функциональный анализ, Компьютерная графика, Уравнения математической физики, Введение в вычислительную математику, Прикладная физическая культура.
2. Две практики - "Компьютерный практикум" и "Научно-исследовательская работа" (т.е. курсовой проект на тему, выбранную индивидуально - например, в минувшем году у меня было 2 студента-курсовика и их курсовые назывались «Современный фреймворк Wasaby и его применение в прикладных задачах» и «Анализ больших данных»).
3. Предметы по выбору студента из предложенных 2-3 альтернатив. Приведу их все.
- "Современная культурология" или "Политология"
- "Конфликтология" или "Основы предпринимательской деятельности"
- "Актуальные задачи нелинейной динамики" или "Классические модели теории приближений" или "Web-программирование"
- "Пакеты прикладных математических программ" или "Некорректные задачи" или "Теория игр и исследование операций"
- "Теория устойчивости" или "Алгоритмы кодирования" или "Асимптотические методы"
- "Методы анализа динамических систем" или "Программирование в системе Oracle" или "Математические методы принятия решений"
- "Кодирование информации" или "Методы компьютерного исследования динамических систем" или "Качественные методы исследования динамических систем на плоскости"
- "Издательская система TeX" или "Системы контроля версий" или "Быстрые алгоритмы"
Дальше 4-й курс, которым завершается обучение по программе бакалавриата .
1. Общие для всех студентов предметы: Численные методы, Безопасность жизнедеятельности, Психология, Право, Дополнительные главы уравнений в частных производных.
2. Две практики - "Практика по получению профессиональных умений и опыта профессиональной деятельности" и "Преддипломная практика"
3. Предметы по выбору студента из предложенных 2-3 альтернатив. Приведу их все.
- "История христианства" или "Религиозные традиции мира"
- "Функциональное программирование" или "Динамические системы и случайные процессы" или "Криптографические методы"
- "Теория уравнений с запаздыванием" или "Дополнительные главы численных методов" или "Компьютерная безопасность"
- "Динамика дискретных систем" или "Визуальные системы программирования" или "Избранные задачи вычислительной математики"
- "Сплайны в вычислительной математике" или "Выпуклое программирование" или "Математическое моделирование"
- "Теория размерности и хаотическая динамика" или "Алгоритмы теории приближений" или "Разностные уравнения"
- "Дополнительные главы методов оптимизации" или "Интерфейсы графической разработки" или "Прикладной функциональный анализ"
- "Качественная теория дифференциальных уравнений" или "Методы исследования математических моделей" или "Теория устойчивости линейных систем"
- "Геометрическая теория динамических систем" или "Всплесковый анализ" или "Задачи аппроксимации".
4. Еще есть факультативные дисциплины (то есть можно их изучать, а можно не изучать): "Технологии многомерного анализа данных" и "Триангуляции Делоне и симплициальные сетки"
5. И, пожалуй, ключевой момент вашего обучения - защита дипломной работы. Вот лишь некоторые темы дипломных работ, успешно защищенных всего три недели назад:
Википедия определяет цель Computer science как изучение процессов, которые взаимодействуют с данными и которые могут быть представлены в виде программ, дабы создавать и использовать алгоритмы для манипулирования, хранения и передачи цифровой информации. Специалист по компьютерным наукам изучает теорию вычислений и практику проектирования программных систем.
Давайте посмотрим, чему вы сможете научиться, если станете студентом этого направления.
"Математика и компьютерные науки", в обиходе - МКН . Это название направления . Чтобы поступить, надо как минимум - сдать ЕГЭ по математике (профиль), информатике и русскому языку , как максимум - набрать приличную сумму баллов. Проходные баллы , как известно, в разных вузах в разные годы разные, поэтому их вам лучше уточнить в приемной комиссии.
Вот предметы за первый курс : История, Иностранный язык, Экономика, Математический анализ, Практикум по математическому анализу, Алгебра, Аналитическая геометрия, Практикум по языкам программирования, Языки программирования, Физическая культура и спорт, Русский язык и культура речи, Информатика, Практикум по информатике, Концепции современного естествознания, Социология, Введение в теорию множеств и логическую символику.
Как и на ПМИ , основное внимание - базовым и общекультурным дисциплинам, дабы всесторонне развить личность университетским образованием. Ну и куча практикумов, чтобы студенты с первых дней привыкали к основам будущей профессии.
Вот второй курс: Философия, Иностранный язык, Математический анализ, Практикум по математическому анализу, Линейная алгебра, Компьютерная алгебра, Дифференциальная геометрия, Дискретная математика, Дифференциальные уравнения, Практикум по языкам программирования, Языки программирования, Методы трансляции, Практикум по методам трансляции, Основы программирования, Дополнительные главы математического анализа, Дополнительные главы геометрии, Прикладная физическая культура, Теория групп.
Переходим к третьему курсу. Здесь есть:
1. Общие для всех студентов предметы: Численные методы, Теоретическая механика, Функциональный анализ, Комплексный анализ, Стохастический анализ, Математическая логика и приложения в информатике и компьютерных науках, Безопасность жизнедеятельности, Топология, Базы данных, Операционные системы и сети, Уравнения с частными производными, Прикладная физическая культура.
2. Две практики - "Практика по получению первичных профессиональных умений и навыков" и "Научно-исследовательская работа" (т.е. курсовой проект на тему, выбранную индивидуально).
3. Предметы по выбору студента из нескольких альтернатив. Приведу их все.
- "Математические методы в экономике" или "Линейное программирование и геометрия выпуклых множеств" или "База данных Oracle 11g: основы SQL, передовые методы и программирование на PL/SQL"
- "Алгоритмы теории приближения" или "Общая алгебра" или "Основы хранения и управления информацией" или "Математические методы принятия решений"
- "Современная геометрия" или "Алгоритмы на графах" или "Компьютерные сети, курс CCNA. Часть 1"
- "Финансовая математика" или "Теория кодирования" или "Компьютерные сети, курс CCNA. Часть 2"
Дальше 4-й курс, которым завершается обучение по программе бакалавриата . Здесь будет тоже несколько блоков:
1. Общие для всех студентов предметы: Численные методы, Теоретическая механика, Компьютерная геометрия и геометрическое моделирование, Комбинаторная оптимизация, Психология, Основы права, Физика, Методы оптимизации, Пакеты математических программ и математическое моделирование, Теория массового обслуживания и статистическое моделирование.
2. Две практики - "Практика по получению профессиональных умений и опыта профессиональной деятельности" и "Преддипломная практика"
3. Предметы по выбору студента:
- "Теория чисел" или "Численные методы решения экстремальных задач"
- "Информационная безопасность" или "Криптографические методы"
- "Теория изображений" или "Компьютерная гидродинамика"
- "Информационные технологии" или " Web-программирование"
- "Сплайны в вычислительной математике" или "Введение в коммутативную алгебру и элементы алгебраической геометрии"
- "Быстрые алгоритмы" или "Математические методы в логистике".
4. Еще есть факультативные дисциплины (то есть можно их изучать, а можно не изучать): "Технологии многомерного анализа данных" и "Триангуляции Делоне и симплициальные сетки"
5. Защита дипломной работы. К примеру, в июне 2019 года ребята (те, что на фото ↓ ) защитили работы на темы:
- Метод адаптивного прогнозирования и его применение
- Системы массового обслуживания с относительным приоритетом
- Примарное разложение идеалов
- Моделирование и краткосрочное прогнозирование курса валют
- Численное моделирование течения вязкой жидкости в канале с препятствием
Все сказанное выше - это рассказ о месте моей работы , разумеется, в части спецкурсов в разных вузах могут быть (и будут!) расхождения, ибо профили внутри одного направления бывают разные. Но надеюсь, что после прочтения данной статьи у вас появилось понимание, чему вас будут учить.
После получения диплома бакалавры могут работать в компьютерных лабораториях, интернет-компаниях, в аналитических и IT-департаментах банков, могут выполнять функции системных аналитиков, проектировщиков баз данных, бизнес-аналитиков, заниматься развитием и модернизацией всевозможных компьютерных систем, и прочее, и прочее, и прочее. Вариант профессионального развития — научная карьера. Отрасль активно развивается, постоянно появляются новые разработки, которые становятся возможными, в том числе благодаря деятельности ученых этой сферы.
И, разумеется, терпения вам в период ожидания и удачного поступления в вуз мечты !
Рано или поздно старшеклассники и их родители задумываются о высшем образовании. К выбору специальности и вуза нужно подходить ответственно и думать не только об обучении, но и о будущей работе.
Из списка 25 самых перспективных профессий США по версии ресурса Glassdoor 12 относятся к сфере информационных технологий. Среди них:
- Архитектор высоконагруженных web-серверов;
- Разработчик пользовательских интерфейсов;
- Аналитик данных;
- Специалист по машинному и глубокому обучению;
- Продакт-менеджер и другие.
«Высокие финансовые перспективы в профессии влияют на стоимость образования. На западе большинство программ высшего образования платные. Но в России в ведущих технических вузах больше половины мест на программы бакалавриата — бюджетные. При этом некоторые программы в России имеют международные аккредитации, а значит ничем не уступают по качеству. Можно сделать вывод, что у российских школьников есть возможность получить качественное образование международного уровня вне зависимости от финансовых возможностей семьи».
IT-специальности
В сфере IT множество программ обучения. В этой статье разберемся, какие базовые специальности представлены в российских технических вузах.
Условно все специальности можно разделить на три категории:
Компьютерные науки — в этой категории происходит создание или улучшение программных продуктов, а не физических устройств. Например, разработка интерфейсов, тестирование программного обеспечения, анализ данных, информационная безопасность. К этой категории относятся специальности «прикладная математика и информатика», «программная инженерия», «информационная безопасность».
Инженерные специальности — для тех, кому нравится «работать с железом» и при этом немного программировать. Эти специальности обычно объединяет то, что для поступления надо сдавать ЕГЭ по физике, а не по информатике. Например, это специальность «Инфокоммуникационные технологии и системы связи» или «Информатика и вычислительная техника».
Управление — если есть желание работать с людьми. Например, управлять командой разработки или командой, осуществляющей внедрение продукта.
Здесь и далее перед названием специальности будет указан числовой код — это код специальности по ОКСО ( Общероссийский классификатор специальностей по образованию ). По нему можно найти интересующую специальность в любом вузе России.
Компьютерные науки
- Линейная алгебра и геометрия;
- Математический анализ;
- Функциональный анализ;
- Дискретная математика и другие.
- МФТИ — 301
- НИУ ВШЭ — 303
- МГУ — 440 (нужно сдать 5 экзаменов)
- МГТУ им. Баумана — 238
В связи с этим базовые математические дисциплины занимают меньший объем в учебных планах по сравнению с предыдущей специальностью. Зато больше времени уделяется различным языкам и методам программирования.
- НИУ ВШЭ — 300
- МГТУ им. Баумана — 289
- МАИ — 260
Другая часть сотрудников занимается «Яндекс.Поиском», разрабатывает поисковые алгоритмы — например, в каком порядке информация будет ранжироваться в результатах выдачи. Перед ними каждый день стоит большое количество сложных математических задач. В случае если вам интересна математика, анализ данных, машинное обучение, искусственный интеллект, создание наукоемких программ, то вам стоит присмотреться к «Прикладной математике и информатике». Если вам ближе технологический процесс, который состоит из большого количества этапов, начиная с выявления предпочтений пользователей и заканчивая выводом продукта на рынок, то вам прямая дорога в «Программную инженерию».
2.10.03.01. Информационная безопасность — программа ориентирована на подготовку специалистов, обладающих современными методами защиты информации. Студенты этой программы изучают базовый курс математических дисциплин, общую физику, а также криптографию, защиту информации и передачу данных в качестве профильных дисциплин. В ВШЭ часть курсов по этой специальности ведется на английском языке. Не путайте с компьютерной безопасностью: она похожа по названию, но находится в инженерном блоке. Эта специальность больше про защиту информации на уровне «железа», а не на уровне программ.
Чтобы стать профессионалом в этой области, необходимо иметь широкое понимание разных разделов фундаментальной математики и представление обо всех отраслях информационных технологий, а также знать все текущие тренды. Такие специалисты ищут уязвимости в программных продуктах, которые зачастую находятся в использованных в них технологиях. Например, в JavaScript библиотеке, которую используют все, допущена уязвимость: если мы про нее знаем, то можем получить данные из всех web-приложений, которые ее используют.
Инженерные специальности
11.03.02 Инфокоммуникационные технологии и системы связи — программа, ориентированная на работу в сфере инфокоммуникационных технологий, в области технологии и разработки технических средств обработки и хранения всех видов информации, ее приема и передачи на любые расстояния. Будущим специалистам необходимо будет разбираться в работе операционных систем и в элементах программирования. В основном они работают с физическими устройствами, а не с программами.
02.09.03.01. Информатика и вычислительная техника — программа для инженеров, специализирующихся на робототехнике и проектировании систем реального времени. Кроме математических дисциплин в программу входит курс физики. Выпускники этого профиля создают программно-аппаратные комплексы, закладывая в него программные решения. OCR — программно-аппаратный комплекс (сочетание железа и софта), именно их учатся делать на этой специальности.
Управление
5.38.03.05 Бизнес-информатика. Что обычно изучают студенты: менеджмент, бизнес-аналитику, бизнес-процессы, а также интеграцию информационных систем в процесс работы. Целевой выпускник программы — сотрудник консалтинговой компании с навыками бизнес-аналитики и автоматизации бизнес-процессов, с хорошим пониманием возможностей информационных технологий и их спектра, но без прикладных навыков программирования (либо на базовом уровне).
02.09.03.03. Прикладная информатика — можно сказать, что программа тоже ориентирована на подготовку управленцев в области информационных технологий и интеграторов, но более узкоспециализированных. В чистом виде специальность «Прикладная информатика» встречается редко, гораздо чаще встречаются, например, «Прикладная информатика в экономике» или «Прикладная информатика в строительстве» — это всегда применение специализированных для этой отрасли программ и подходов автоматизации и цифровизации.
В современном мире не только университеты участвуют в образовании будущих программистов. Во многих крупных IT-компаниях есть бесплатные программы обучения и стажировок, ориентированных на студентов старших курсов. Обычно приложения о стажировках публикуют на сайтах и в социальных сетях университетов.
В пользу программирования
Новички в сфере информационных технологий окружены стереотипами и из-за этого им бывает сложно начать учиться. Ведь многие считают, что хорошими программистами становятся только очень умные и талантливые люди. На самом деле IT-специалисты — это обычные люди, которые испытывают страсть к созданию компьютерных программ, игр и приложений. Чтобы писать код не обязательно быть гением. Куда важнее иметь интерес к сфере и быть дисциплинированным. Люди не выигрывают олимпийские игры просто благодаря хорошей генетике. Их спортивные достижения — это, в первую очередь, результаты упорных тренировок. Так что и программистами не рождаются, ими становятся.
Тем более программирование само помогает приобрести особый тип мышления, благодаря которому IT-специалисты так легко справляются с математическими и логическими задачами. Они обращают внимание на детали, легко моделируют ситуации в повседневной жизни и способны оценивать объекты, полагаясь на большое количество факторов. Ученые при помощи МРТ установили, что во время работы над кодом активируются те же отделы мозга, что отвечают за естественные языки. Так что программирование положительно влияет как на мыслительные процессы, так и на память.
Не забывайте, что программирование — это не просто владение одним языком. На самом деле это целый набор навыков: работа с кодом, эффективное взаимодействие с членами команды, декомпозиция задач, оформление и ведение документации, тестирование, само кодирование на языке программирования, причем часто не на одном.
Как мы видим, любой желающий, приложив достаточно усилий, может стать «тем самым программистом, который родился гением и поэтому работает в лучшей IT-компании».
Что поможет?
Не стоит игнорировать возможности саморазвития. Тем более, сегодня всю необходимую информацию о программировании можно найти в интернете. Студенты, которые еще до поступления в вуз успели собрать десяток сайтов и приложений, в будущем будут на голову выше своих одногруппников. Онлайн-курсы, книги, форумы, тематические сайты — все это позволит собрать хорошую базу знаний и для этого даже не нужно выходить из дома.
Подбирая материалы для чтения, обращайте внимание на год выпуска издания. В сфере информационных технологий все меняется очень быстро, поэтому не стоит приобретать материалы десятилетней давности. Например, книга Роберта Мартина «Чистый код» учит грамотно писать на языке программирования.
«Искусство программирования» — фундаментальная монография известного американского математика и специалиста в области компьютерных наук Дональда Кнута, посвященная рассмотрению и анализу важнейших алгоритмов, используемых в информатике. В 1999 году книга была признана одной из двенадцати лучших физико-математических монографий столетия.
Если у вас в ходе изучения возникают вопросы, то вы всегда можете задать их более опытным пользователям. На ресурсе «Хабр» желающие публикуют собственные статьи на компьютерные темы, рассказывают, с какими трудностями столкнулись во время работы и как с ними справились. На сайте можно найти ответы практически на все вопросы начинающих специалистов.
Некоторые Youtube-каналы прорабатывают сразу несколько тем. Например, канал «Гоша Дударь», в первую очередь, о Game Development. На канале много видеоуроков по созданию игр на различных движках (Unity, Unreal Engine, Game Maker, Corona SDK), а также по играм без движков (С++, Java или Python). При этом автор охватывает и разработку сайтов, и мобильную разработку, и веб-программирование, и языки программирования. Еще у некоторых факультетов бывают свои каналы, куда они выкладывают часть лекций.
Некоторые предпочитают более развлекательные форматы обучения. Например, игры. Одна из самых известных — это JavaRush. Это многопользовательская браузерная игра, которая помогает выучить языки программирования. Курс разбит на 40 уровней. Вы можете перейти на следующий уровень, только если решили большую часть задач текущего уровня. Начиная с маленьких и легких и заканчивая большими и очень полезными. Каждый, дошедший до конца, получит 500+ часов практического опыта. Так что это хороший вариант совместить приятное с полезным.
Также можно попробовать присоединиться в профессиональному сообществу. В Москве, например, действует Московский клуб программистов. Здесь можно неформально пообщаться со специалистами, которые собираются каждые две недели, чтобы обсудить интересные им темы и поделиться знаниями.
Не стоит концентрироваться на одном направлении. Наиболее эффективно будет выбрать несколько способов, например, онлайн-курсы + книги + изучение материалов на специализированных ресурсах. Помните, что чем больше времени вы будете посвящать программированию, тем быстрее вы наберетесь знаний и опыта.
Выводы
IT-сфера очень разнообразна и требует различных навыков: веб-разработка, построение интегрированных корпоративных систем, создание нейросетей и моделей машинного обучения. Сейчас наибольших спрос рынка на фронтенд и мобильных разработчиков, растет спрос на специалистов по анализу больших данных и машинному обучению.
Для наукоемких отраслей программирования хорошая подготовка по базовым математическим дисциплинам необходима также, как навыки программирования на языке и навык постоянного самообучения.
Для того, чтобы понять, какую именно специальность выбрать, нужно проанализировать учебный план и дополнительные возможности, которые предоставляет вуз.
Самое главное, о чем стоит помнить — программист создает себя сам. Очень важно участвовать в проектах, получать практический опыт начиная с первого курса, проходить дополнительные онлайн курсы на открытых образовательных платформах, участвовать в олимпиадах по программированию и хакатонах.
Насколько трудно там учиться? Дадут ли на этом направлении базу, необходимую для программиста? Кем реально устроиться после окончания бакалавриата или магистратуры по данному направлению?
Я выбирал между ПМ и специальностью на факультете вычислительной техники в Политехе (СамГТУ). Выбрал ПМ. Это было до бакалавриата и магистратуры. Учились 5 лет. Все пять лет учили разную математику. Было и программирование, но то, что преподавали, я уже знал на то время. В общем, программирования мало, математики много.
Почему выбрал ПМ. Через родителей мы знали людей с обоих факультетов и ведущих кафедр. Зав. кафедрой ПМ (как человек) внушал доверие. Пошел туда. В этом плане выбор полностью оправдался, это оказался один из лучших учителей, кто мне когда-либо встречался. Он также был куратором группы. Было абсолютное уважение со стороны группы.
Специальность считалась самая сложная. Отбирались туда кто посильнее. Специально собирали хороших ребят с олимпиад, лицеев. Мы уж точно считали себя круче других (кстати, это хорошо сплачивает группу). Во время учебы часть ребят отсеялась, пожалуй, было тяжело. Несколько человек защитились по 05.13.05 к.т.н. и по какой-то спец. на к.ф.-м.н.
Кто куда пошел работать. Многие подрабатывали программистами во время учебы. После окончания по линии IT пошло около половины+ группы. Один человек остался преподавать математику (специальность это позволяет). Остальные пополнили ряды менеджеров (многие близко к IT) и т.д. Пошел ли кто-то заниматься тем, для чего готовят прикладных математиков. Из нашего выпуска я таких ребят не знаю. Только один работает с близкими вещами.
Велика ли польза ПМ для программирования? Скорее нет. Такое количество программистов в выпускниках объясняется тем, что ребята с техническим уклоном, сообразительные, сами занимались компьютерами - соответствующий исход сложился естественно. Математика в программировании используется мало. Есть области, где она нужна (математическое моделирование), но, если вы видите себя веб-программистом или 1с-ником, то пользы от нее не будет.
Для чего эта специальность? Для приложения разнообразной математики выше стандартного уровня в самих разных направлениях. Такие области есть.
Мне не очень нравилось то, что в изучаемой математике нет практической "реализации". Мне нравится математика, но учить много лет одну, другую, а потом еще и еще. скучно, что ли. Есть мнение, что "математика ставит мозги на место". Это во многом правда.
Стоит ли оно того? Да, если есть желание работать в соответствующей области. Стоит учитывать, что математику "легко" научиться программированию (это больше ремесло, чем наука), а вот обратный переход едва ли будет успешен. Самому набрать столько математических знаний не получится. Изучить конкретные вопросы - безусловно, но воспринять все в комплексе - едва ли. Если сама математика не столь интересна, я бы смотрел на специальности более ориентированные на программирование.
Читайте также: