Русский
Русский
English
Статистика
Реклама

Вуз

Форма 16

19.05.2021 14:18:09 | Автор: admin

Преподаватели, работающие в российских ВУЗах, периодически сталкиваются с необходимостью предоставить администрации список своих научных и учебно-методических работ. Например, для (пере)избрания на должность, присвоения звания и т. д. Формат представления информации, форма 16, разработан невесть когда и до сих пор используется в бюрократических недрах Министерства Науки и Высшего Образования РФ. Мне стало лень заполнять эту форму вручную и я написал небольшой python сценарий, который генерирует нужную таблицу на основе информации, полученной из научной электронной библиотеки elibrary.ru. Возможно, кому-то это будет интересно, так что ниже приведено описание этой процедуры...

Итак, для начала нужно зайти на сайт elibrary.ru, авторизоваться, перейти в раздел авторам и далее в мои публикации. Справа на экране есть колонка инструменты, в которой есть кнопка Вывести на печать список публикаций автора. Нажимаем на нее и в отдельном окне получаем таблицу со списком публикаций, которую сохраняем себе на диск в виде html-файла, который для простоты назовем index.html. Каждая публикация в этом списке выглядит примерно так:

Строка таблицы от elibrary.ruСтрока таблицы от elibrary.ru

Однако согласно приказу 268 Минобрнауки РФ (приложение 3 на с. 52) таблица зачем-то должна выглядеть иначе:

Строка таблицы в соответствии с формой 16Строка таблицы в соответствии с формой 16

Сценарий для преобразования формата таблицы основан на использовании библиотеки BeautifulSoup, с которой я ознакомился весьма поверхностно и использовал первый раз в жизни. Вот что у меня вышло:

#!/usr/bin/env python3from bs4 import BeautifulSoupfrom random import randintfrom re import findall YFrom, YTo = 2015, 2020                              # фильтр по годам публикацийdef NP(s): # функция для непредвзятого определения количества страниц в статье  pages = s.split()[-1]  if '-' in pages:    P = pages.split('-')    np =  1 + int(float(P[1])-float(P[0]))  else:    np = randint(5, 10)  return '%d' % np # возвращает строку с числом  def Year(s, FROM, TO): # функция для отбора по году публикации  Ys = findall(r'\s\d{4}\.', content)                 # форма записи года ' 2020.'  if not Ys: Ys = findall(r'\s\d{4}', content)        # форма записи года ' 2020'  if not Ys: return False        # если ничего не нашлось - выбрасываем                               for y in Ys: Y = int(float(y)) # в случае более чем одного совпадения берем последнее  if Y<FROM or Y>TO: return False   else:              return Truewith open('index.html', 'r') as fp:   soup = BeautifulSoup(fp, 'html.parser')              # загружаем исходный файлsoup.head.style.decompose()                            # убираем заголовок, css и т.д.aname = soup.title.get_text().split('-')[1]            # имя автораaname = f'СПИСОК опубликованных и приравненных к ним научных и учебно-методических работ {aname:s}\n'soup.title.string = aname                              # новый заголовокsoup.find('span').string = aname                       # новый заголовокsoup.find('i').decompose()                             # убираем что-то лишнееsoup.find('table').decompose()                         # находим и удаляем первую таблицуtable = soup.find('table')                             # находим вторую таблицуtable['border'] = 1                                    # меняем оформлениеtable['width']  = '100%'                               # меняем ширинуN = 1                                                  # новый счетчик rows = table.find_all('tr')                            # ищем все строки в таблицеfor i in range(len(rows)):                             # цикл для замены содержимого строк  cols = rows[i].find_all('td')                        # ищем все столбцы  if len(cols)==3 and cols[1].find('span'):            # проверка на соответствие стандартному шаблону    content = cols[1].get_text()                       # читаем запись из второго столбца    title   = cols[1].find('span').get_text()          # тут название    authors = cols[1].find('i').get_text()             # тут авторы    cites   = int(cols[2].get_text())                  # количество цитирований статьи    content = content.replace(title, '')               # убираем навзвание, убираем список авторов:    content = content.replace(authors, '')             # в content остаются только выходные данные    thesis  = content.replace('В сборнике: ','')       # далее идет определение типа публикации    abbook  = content.replace('В книге: ','')          #     if   thesis != content:                            #      title += ' (тезисы)';      content = thesis      #    elif abbook != content:                            #      title += ' (тезисы)';      content = abbook      #    else:                                              #      if 'автореф'  in content: title+= ' (монография)'#      elif 'диссер' in content: title+= ' (монография)'#      else: title += ' (статья)'                       #    authors = authors.split(', ')                      # получаем список авторов    if cites<10 or not Year(content, YFrom, YTo):      # некоторые записи можно выбросить      rows[i].decompose()                              #    else:                                              # для других - определить кол-во соавторов       anumber = len(authors)      if anumber<5: PS = ''      else:         PS = f' и др., всего {anumber:d} чел.'      authors = ', '.join(authors[0:5]) + PS      cols[0].string = f'{N:3d}'                        # показания счетчика      cols[1].string = title                            # название      cols[2].string = "печ."                           # тип работы      for info in [content, NP(content), authors]:      # еще три столбца         A = soup.new_tag('td');  A.string = info ; rows[i].append(A)      N+= 1  else:    rows[i].decompose()tr = soup.new_tag('tr') # вставляем заголовок таблицыnames = [' п\п', 'Наименование работы, её вид', 'Форма работы', 'Выходные данные', 'Объём в п.л. или с.', 'Соавторы']for name in names:  th = soup.new_tag('th')   th.string = name  tr.append(th) table.insert(0, tr)  with open('table.html', 'w', encoding='utf-8') as fp: fp.write(str(soup))    

Для выполнения задачи нужно запустить сценарий в папке, в которой содержится файл index.html, в который мы сохранили таблицу с elibrary.ru. На выходе генерируется файл table.html, который можно легко загрузить в google docs, где и подвергнуть окончательным правкам типа изменения ширин столбцов, выбора шрифтов и т.д.

Подробнее..
Категории: Html , Python , Вуз , Beautifulsoup , Форма №16

Честный рассказ об образовании в IT. Стоит ли оно того?

19.07.2020 18:07:47 | Автор: admin
Привет, Хабр! Сегодня бы я хотел честно поговорить об IT-образовании в России. Вопрос этот крайне неоднозначен, абитуриенты вузов ежегодно спорят о том что, где и как лучше всего изучать, чтобы не оказаться за бортом. Хотелось бы очень постараться дать подробную обратную связь на то, что произошло со мной за 4 года бакалавриата компьютерных технологий.

Статья может быть крайне интересна всем тем, кто хочет получить профильное IT-образование, и просто всем неравнодушным.

Вместо предисловия


Почему я вообще имею право говорить об этом? 4 года обучения по специальности информационные системы и технологии за плечами. Живу в сравнительно небольшом городе (до миллиона жителей) и обучался в местном университете.

Я больше чем уверен, что опыт в передовых вузах страны разительно отличался бы от того, что есть на данный момент у меня, однако далеко не у всех есть возможность связать свою жизнь с топовыми IT-вузами, поэтому наверняка многие студенты, текущие и бывшие, поддержат мое видение. Если заинтересовало, то добро пожаловать под кат!

Приемная кампания


Кажущийся уже далеким 2016 год. Я узнал результаты ЕГЭ, не был ими сильно доволен, но и расстроенным меня не назвать. В моем городе, если ты хочешь получить специальность в области информационных технологий, то есть всего 2 вуза (и 2 факультета соответственно). Из-за страха ли, глупости или же не самых высоких баллов возможность уехать из города исчезла, поэтому после начала приемной кампании мои документы оказались в обоих вузах.

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

Первый курс


Мы, первокурсники, все с горящими глазами пришли на пары, готовые впитывать знания, словно губка. Мы готовы были свернуть горы. Мы изучали алгебру и квантовую физику, готовили рефераты по Грозному и играли в волейбол на физкультуре. Но на первом курсе наш корабль победа впервые ударился о риф действительности. И первые две буквы пошатнулись.

Тогда мы пришли на профильные пары, предмет назывался просто информатика и призван был рассказать нам что к чему и научить писать простейшие программы на языке си. Преподаватель честно спросил: Поднимите руку те, кого сюда насильно запихнули родители.

Надо ли говорить, что ни одна рука в аудитории не была поднята.

Тогда преподаватель сообщил нам, что коль скоро все пришли учиться по своей воле, то и спрашивать со всех будут в полном объеме. Что же, справедливо, конкуренция и жестокие требования должны взрастить из нас матерых программистов.

За первые 2 месяца мы узнали как создать неразрывный пробел в ворде, поставить 3 вида дефиса, как создать график в экселе, как автоматически создать список литературы. Но мы не унывали, все на благо.

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

К концу первого курса у нас начались основы веб разработки. HTML, CSS, JavaScript. И тогда в наши головы начали закрадываться мысли, что преподаватели знают не все. Но пришлось отмести все подозрения, впереди ждало еще 3 увлекательных года.

Второй курс


Тут началось самое интересное. Веб-разработка, базы данных, программирование различных систем, ООП. Иными словами полный набор всего, от чего заинтересованный студент будет возбужденно бегать и не спать ночами. Мы с энтузиазмом обменивались кусочками кода и решениями, обсуждали лекции, пробовали разные библиотеки и фреймворки. Жизнь бурлила и небо на горизонте было чистое.

Но как всегда не обошлось и без ложки дегтя во всем этом техническом безумии. У нас начались курсовые и расчетно-графические работы. Для тех, кто не знает или просто уже подзабыл, суть этих пугающих слов заключается в том, что нужно сделать большую работу по теме, оформить ее с титульным листом, использованной литературой и прочим необходимым, записать на диск и сдать в архив. Тогда мы впервые столкнулись с тем, что обычно зовется бюрократией. Помимо самой работы, которая обычно была интересной, предстояло выполнить еще тонну неинтересной работы. Но и тут мы не унывали. До нас прошли десятки тысяч студентов, пройдем и мы.

Начиная с 1 курса мы ходили на всякие конференции, митапы, лекции, хакатоны. Там были настоящие профессиональные разработчики, спецы своего дела. Те, кого можно назвать амбассадорами местного IT. Мы, затаив дыхание, впитывали каждое их слово. И где-то там, на задворках сознания, студенты 2 курса начали понимать, что настоящая разработка и университет сильно отличаются. Профессора и разработчики говорят о разных вещах. И живут разными идеями. В университете слово GraphQL вызывало недоумение, а на конференциях фраза 3 нормальная форма базы данных влекла за собой странные искривления лиц у профессиональных разработчиков. Словно их попросили заполнить 25 бланков в МФЦ.

Тогда и случилась моя первая работа. Я пришел на проект, воодушевленный и частично возвеличенный тем, чему я научился в универе. Я знал многое об ООП, знал про триггеры в базах данных и что такое декартово произведения множеств. А вот как пользоваться git-ом я не знал. Первые 2-3 месяца на работе больно ударили по моей самооценке. Пришло осознание, что я ничего почти не умею. А вуз хоть и дает знания, но немного другие, их трудно применить в реальной разработке. Для этих знаний даже слово особое есть академические.

Третий курс


Третий курс можно назвать бессонным. Задания становились сложнее, теперь нужно было сделать не 3 класса и соединить их, а реализовать целую систему. Теперь появились нейронные сети и экспертные системы. Java и С# уступили пальму первенства LISP-у и PROLOG-у. От последнего волосы на затылке до сих пор напряженно шевелятся.

Но тут мы все почувствовали, что что-то не то. Наш код больше не смотрели (да и как посмотреть 40 систем студентов и все оценить). Смотрели на то, что мы принесли. А еще больше оценивалось то, насколько быстро и грамотно оформлен отчет. Бумаги стали главенствовать в мире вуза. Объем текста, правильная ученая степень принимающего курсовую, нумерация страниц с нужной стороны и список литературы не меньше 15-30 пунктов. Казалось, что все забыли, что мы здесь учимся компьютерным технологиям. Мы все думали, что нас хотят плавно переквалифицировать в офисных клерков, которые перекладывают бумаги со стола на стол. Мы словно попали в Замок Кафки, где все так заняты, что бумаги лежат на полу и упираются в потолок.

Тем временем все новые знания, которые нас драйвили, мы получали на работе. Правильно выстроенные абстракции, уместное наследование, Event Loop и незаметные, но такие важные http заголовки. Университет все больше расходился с тем, что мы делали. Это удручало. Нам хотелось узнавать нечто такое, что сделает из нас настоящих гуру, однако этого не случалось. Познавать все самое сложное приходилось самим.

Четвертый курс


Мы забыли что значит программировать в вузе. Мы делали все больше отчетов, мы изучали различные IDEF диаграммы, UML диаграммы, стандартизацию ПО. Я искренне надеюсь, что это было не зря и когда-то эти знания придут на помощь.

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

А в университете мы делали отчеты. Все это напоминало какую-то странную игру, где все играют друг против друга. И казалось, что 70% процентов того, что мы делали, не нужно никому. И все хотят просто проскочить эти формальности, чтобы двинуться дальше. Универ начал отходить на 2 план жизни, там больше не было того, что заставляло глаза гореть.

Иногда мы программировали. Но код наш был уже никому не интересен. Главное, чтобы что-то работало. И отчет был написан. Да, это во многом похоже на современные реалии. Но в вуз идут учиться, чтобы грамотный профессор указал на то, в чем ты не прав. А это случалось все реже.

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

2 месяца дома. 12 часов за компьютером (работа, диплом), сон, 12 часов за компьютером. Было не легко. И вот ПО написано с применением самых свежих технологий, лучшие подходы реализованы, такое не стыдно показать лиду. Дальше осталось месяц писать бумаги. Отчеты по практикам, диплому, бесконечные исправления, доработки. Трижды я исправлял формат подписи к картинкам во всех документах.

Zoom, защита, вопросы. Пять.

Спустя месяц мне вручают корочку. Пусть синюю, но заслуженную. Взгляд на нее запускает в голове целый калейдоскоп мыслей, воспоминаний и эмоций.

Очень грустно было осознавать, что текст твоего диплома прочитали дважды и больше его не увидит никто. Никто и никогда. Код реализованной системы вряд ли смотрели. 2 месяца разработки лишь создали багаж опыта. Но я и этому рад.

Итоги


В заглавии был вынесен вопрос стоит ли оно того. Объективный ответ дать трудно. Это прекрасная академическая база. Университет дал уйму знаний, которые не даст работа. Я до сих пор помню об алгоритме Форда-Фалкерсона, пусть это и вряд ли мне пригодится. Можно эффектно козырнуть в курилке. Университет закаляет, учит действовать быстро и четко в сложных и порой абсурдных ситуациях, учит воспринимать неидеальную действительность, жить с нею, работать и побеждать.

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

Не стоит ждать, что университет сделает из студента разработчика уровня senior. Этот путь у каждого свой. У ВУЗа своя дорога, своя цель. Это самобытная культура, тут свои ритуалы, множественные запреты и табу. Порой даже кажется, что это сумасшедший дом. Но друзья говорят, что я оптимист, и я считаю, что многое не прошло даром.

Да, в университете много минусов. Да, все не идеально. Да, бюрократия и отчеты. Да, есть самодуры и звезды, с которыми невозможно общаться. Но есть и динамика. И она положительная.

Я искренне верю, что наше образование преодолеет все барьеры на своем пути и придет к финишу в числе первых.

P.S.


Хотелось бы отметить, что это первая моя публикация, поэтому очень приветствуется обратная связь, критика и указания на недочеты :)
Подробнее..

Где учиться программированию в Петербурге программы при поддержке JetBrains

22.06.2020 16:10:43 | Автор: admin
Мы заинтересованы в том, чтобы повышать образовательный уровень в IT-сфере, и готовы строить высшее образование вместе с вузом.

В этом посте мы расскажем об образовательных проектах в Петербурге, которые поддерживает JetBrains: о бакалаврских и магистерских программах в НИУ ВШЭ, ИТМО, СПбГУ и о Computer Science Center.



Бакалаврские программы:
Прикладная математика и информатика в НИУ ВШЭ Санкт-Петербург
Современное программирование в СПбГУ

Магистратура:
Разработка программного обеспечения / Software Engineering на базе Университета ИТМО
Машинное обучение и анализ данных в НИУ ВШЭ Санкт-Петербург
Программирование и анализ данных в НИУ ВШЭ Санкт-Петербург

Дополнительное образование:
Computer Science Center

В чем особенность наших программ?


Участие IT-компаний в обучении


Учебные программы разрабатываются при участии IT-компаний, чтобы давать действительно полезные знания. Курсы читают действующие программисты и учёные. Наши преподаватели: Виталий Брагилевский, Дмитрий Ицыксон, Александр Куликов, Евгений Линский, Денис Москвин, Александр Храбров, Алексей Шпильман.

Индивидуальный подход


Студенты изучают обязательные дисциплины, которые дают необходимые базовые знания, и самостоятельно выбирают спецкурсы по интересующим их направлениям. Эти спецкурсы складываются в индивидуальные для каждого студента образовательные траектории.

Практические занятия проходят в небольших группах.

Обратная связь


Каждый семестр студенты участвуют в анонимных опросах, в которых они высказывают свое мнение о прослушанных курсах. Отзывы учитываются при выборе преподавателей и разработке программ.

В течение семестра можно обратиться к кураторам, которые помогут решить организационные вопросы или выбрать проекты и спецкурсы для изучения.

Проектная деятельность


Студенты всех программ работают над семестровыми научно-исследовательскими проектами под руководством преподавателей или сотрудников компаний-партнёров. Так они получают опыт разработки в условиях, максимально приближенных к реальным. Задачи, которые они решают в рамках проектной работы, имеют научную или практическую ценность: например, магистранты Машинного обучения и анализа данных работали над плагином для улучшения поддержки естественного языка в IntelliJ IDEA. Смотрите примеры проектов студентов Computer Science Center или студентов Питерской Вышки: здесь, здесь и здесь.

Бакалавриат


Прикладная математика и информатика в НИУ ВШЭ Санкт-Петербург


Программа направлена на подготовку специалистов в области разработки программного обеспечения, языков программирования, анализа данных, машинного обучения. Программирования здесь очень много: за четыре курса студент пробует десяток-другой технологий и языков, проходит code review от опытных разработчиков (не всегда с первой попытки), работает над практическими или научно-исследовательскими задачами от компаний-партнеров, углубляется в какую-то тему и в итоге защищает диплом. А летом студенты могут постажироваться в российских офисах IT-компаний или съездить на стажировку в другую страну.

На Прикладной математике и информатике очень напряжённое расписание и много домашних заданий, которые нужно регулярно сдавать в течение модуля, поэтому учиться нелегко. Но в результате выпускники программы поступают в магистратуры ведущих университетов мира или находят работу в IT как в России, так и за рубежом.


Подробнее
Программа состоит из двух больших частей. На первом и втором годах обучения студенты проходят общеобразовательные дисциплины. Сразу начинаются математика, курс алгоритмов и программирование (на первом курсе годовой курс С++, затем годовой курс Java, а также Unix, Python, функциональное программирование и Haskell, операционные системы и так далее). С третьего года обучения у каждого студента появляется индивидуальная образовательная программа. Можно выбирать спецкурсы из нескольких базовых треков: машинное обучение и анализ данных, software engineering, языки программирования, теоретическая информатика, биоинформатика, низкоуровневое программирование.

Проектная деятельность начинается уже на первом курсе (на Хабре можно почитать статью первокурсников об игровом движке, который они написали на С++, другие примеры проектов есть в нашем Instagram). С третьего курса студенты решают практические задачи от компаний JetBrains, Яндекс, Ростелеком и др. Мы рассказали о некоторых проектах в нашем блоге на Хабре: Как учиться с помощью машинного обучения у экспертов в Dota 2, Как я научила робота бегать по видео с YouTube, Mountain Car: решаем классическую задачу при помощи обучения с подкреплением

Стипендии. Все студенты, которые сдают экзамены без троек, получают спонсорскую стипендию от JetBrains. Она составляет 9-15 тыс. рублей в месяц и зависит от среднего балла. Отличники, а также победители и призеры Всероссийской олимпиады школьников могут претендовать на дополнительные стипендии, и в сумме получать 20-25 тыс рублей в месяц.

Место. Все занятия проходят в отдельном корпусе (отремонтирован в 2019 году) по адресу ул. Кантемировская, д.3А.

42 бюджетных места, 40 платных мест

Полезные ссылки:
Чат программы в Telegram
Блог Питерской Вышки на Хабре
Отзывы студентов

Бакалавриат Современное программирование на факультете математики и компьютерных наук СПбГУ


Программа для тех, кому хочется заниматься промышленным программированием и созданием алгоритмов.

На первых курсах студенты изучают необходимые базовые предметы, а на третьем и четвертом составляют себе индивидуальную траекторию обучения, выбирая из ста с лишним математических спецкурсов. Курсы читают ученые из России и из-за рубежа и разработчики IT-компаний. Во время учебы можно посещать открытые научные семинары лаборатории имени П.Л. Чебышева под руководством С.К. Смирнова, лауреата премии Филдса.

Бакалавриат лидер по количеству призёров Всероссийской олимпиады школьников в 2015-2019 г. в России. Учиться сложно и интересно: рассказ студентки об обучении на первом курсе программы.

Подробнее
Что в программе. Алгебра, дискретная математика, математический анализ. Алгоритмы и структуры данных, C++, парадигмы и языки программирования, функциональное программирование, Java, принципы организации и архитектура компьютерных систем и другие курсы по математике и программированию. Смотрите подробный учебный план и список спецкурсов, доступных для выбора на третьем и четвертом годах обучения.

Помимо учёбы можно заниматься спортивным программированием под руководством тренера сборной СПбГУ.

Программа готовит IT-специалистов: бэкенд- и веб-разработчиков, аналитиков и не только.

Преподаватели: Александр Куликов, Виталий Брагилевский, Денис Москвин, Фёдор Бахарев, Дмитрий Ицыксон, Евгений Линский и другие.

Практические проекты. С первого курса ребята работают над проектами под руководством специалистов IT-компаний. Например, в этом году они сделали веб-приложение Big sister, которое отслеживает активность студентов в течение семестра. Другие проекты: ассистент поэта сервис генерации стихотворений на русском языке; игра в жанре 2D-платформер; тренажёр для публичных выступлений; графическая программа под Android.

Стипендии. Студенты, поступившие без вступительных испытаний, получают спонсорские стипендии JetBrains от 10 до 15 тысяч рублей. В дальнейшем спонсорская стипендия платится по результатам успеваемости. Студенты также получают дополнительные стипендии от государства (например, стипендию КНВШ).

Место. Лекции проходят в историческом центре Петербурга на Васильевском острове.

30 бюджетных мест, 8 платных мест

Полезные ссылки:
Статья о программе на РБК
Блог первокурсника СП
Чат с руководителями программы для поступающих в 2020 году

Магистратура


На Разработку программного обеспечения в ИТМО и на Машинное обучение и анализ данных в Питерскую Вышку могут попасть студенты с базовыми знаниями математики и программирования. При этом первая магистратура специализируется на разработке программного обеспечения и смежных областях, в том числе на теории языков программирования, а вторая на машинном обучении и анализе данных. Подробнее о сходствах и различиях между программами.

На Программировании и анализе данных в Питерской Вышке ждут выпускников бакалаврских программ с углубленным изучением программирования и математики. Здесь учится большинство выпускников Прикладной математики и информатики НИУ ВШЭ Санкт-Петербург.

Разработка программного обеспечения / Software Engineering на базе Университета ИТМО



В магистерской программе Разработка программного обеспечения / Software Engineering много очных занятий и самостоятельной работы над практическими задачами и проектами.

Учёба начинается с базовых курсов по математике, программированию и алгоритмам. Со второго семестра начинаются спецкурсы по выбору. Помимо профильных дисциплин есть занятия по эмоциональному интеллекту, креативным технологиям и английскому языку.

Отдельное внимание уделяется работе в команде. В первом и во втором семестре студенты в течение недели участвуют в хакатоне DevDays. Ребята сами придумывают проекты, объединяются в команды, распределяют роли и в конце недели презентуют результаты. Рассказы о проектах от первых лиц читайте здесь и здесь.

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

После первого семестра студенты самостоятельно выбирают одну из следующих образовательных траекторий:

  • промышленная разработка ПО,
  • машинное обучение,
  • теория языков программирования,
  • анализ данных в биоинформатике.

Во втором и третьем семестрах в дополнение к обязательным дисциплинам в учебный план добавляются спецкурсы выбранных траекторий.

В четвёртом семестре идёт работа над дипломом. Обязательных курсов нет, но нужно выбрать не менее трех предметов из обширного списка факультативов, в который входят анализ изображений, семантика языков программирования, мобильная разработка и другие. Программы курсов и примеры тем дипломных работ на сайте магистратуры.

Место. Почти все занятия проходят в офисе JetBrains у Кантемировского моста (Кантемировская ул., д. 2). В распоряжении студентов есть кухня, где можно отдохнуть между занятиями, выпить чай или кофе и разогреть еду, а также студенческие комнаты для работы над домашними заданиями и проектами.

Стипендии. Студентам магистратуры в зависимости от успехов в учёбе выплачивается дополнительная спонсорская стипендия от 10 000 до 15 000 рублей. Организаторы помогают с поездками на соревнования, конференции и другие образовательные мероприятия.

30 бюджетных мест, 5 платных мест

Полезные ссылки:
Чат программы в Telegram
Интервью со студентами

Машинное обучение и анализ данных в НИУ ВШЭ Санкт-Петербург


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

Подробнее
Программа. На первом году обучения во время осеннего модуля магистранты проходят базовые курсы по алгебре, теории вероятности и математической статистике. Затем базовые курсы по машинному обучению: Основы алгоритмов, Методы оптимизации и др. На втором году начинаются спецкурсы, и каждый студент выбирает те дисциплины, которые ему интересны. Например, магистранты учатся работать с алгоритмами и программным обеспечением для обучения беспилотных автомобилей, изучают Анализ данных на Python в примерах и задачах, проходят курс по нейробайесовским методам, чтобы создавать генеративные модели. В результате за 2 года магистранты постепенно осваивают область машинного обучения и анализа данных от азов до последних достижений науки.

Выпускники программы работают программистами-исследователями в российских и зарубежных компаниях или продолжают обучение в аспирантурах университетов мира.

Проекты. JetBrains тесно сотрудничает с программой Машинное обучение и анализ данных. Компания предлагает научно-исследовательские проекты для студентов, приглашает на стажировки, а часть ее сотрудников преподаёт дисциплины магистратуры. Ещё работать над проектами можно в Центре анализа данных и машинного обучения НИУ ВШЭ Санкт-Петербург. Им заведует Алексей Александрович Шпильман преподаватель Питерской Вышки и руководитель лабораторий Прикладное машинное обучение и глубинное обучение и Агентные системы и обучение с подкреплением в JetBrains Research. Студенты проходят летние стажировки и выполняют проекты в этих лабораториях или в других партнёрских компаниях программы.

Стипендии. Спонсорскую стипендию JetBrains от 10 000 до 15 000 рублей в месяц получают те, кто учится без троек. Размер стипендии зависит от успеваемости.

Место. Занятия проходят в отдельном корпусе (отремонтирован в 2019 году) по адресу ул. Кантемировская, д.3А

10 бюджетных мест, 10 мест за счет средств НИУ ВШЭ, 5 платных мест

Полезные ссылки:
Чат в Telegram
Статья о программе
Запись вебинара о программе

Программирование и анализ данных


На этой программе ждут выпускников бакалавриата с углублённым изучением программирования и математики. Это научная магистратура, куда приходят люди с серьёзной подготовкой в области программирования, а также в области машинного обучения и анализа данных. Упор сделан на продвинутые спецкурсы (их не так много: 5-6 занятий в неделю) и научно-исследовательскую работу, которая начинается с первого семестра.

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


Подробнее
Программа. Магистранты изучают фундаментальные аспекты разработки программного обеспечения, базовые и продвинутые модели машинного обучения и анализа данных, а также математические основы, методологии, методы и алгоритмы создания языков программирования. С осеннего семестра первого курса каждый студент работает над проектом. Как правило, это исследовательский проект в области машинного обучения и анализа данных, языков программирования, software engineering, теоретической информатики, биоинформатики или низкоуровневого программирования.

Учёбу в этой магистратуре можно совмещать с работой при условии, что задачи, которые студент решает на работе, имеют научную или практическую ценность. Партнёры программы компании JetBrains, Яндекс, Ростелеком, Газпромнефть и другие предлагают такие проекты.

Стипендии. Именные стипендии размером до 15 000 рублей выплачивают компании-партнёры.

Место. Занятия проходят в отдельном корпусе (отремонтирован в 2019 году) по адресу ул. Кантемировская, д.3А

15 бюджетных мест, 5 мест за счет средств НИУ ВШЭ, 5 платных мест

Полезные ссылки:
Чат в Telegram
Рассказ студентки о программе
Запись вебинара о программе

Дополнительное образование в CS центре


Computer Science Center это совместная инициатива Computer Science клуба, компании JetBrains и Школы анализа данных Яндекса.

Программа. Центр предлагает двух- или трёхлетние очные вечерние курсы в Санкт-Петербурге и Новосибирске, чтобы талантливые студенты и выпускники вузов развивались в направлениях Computer Science, Data Science или Software Engineering. Программа состоит из базовых курсов по каждому направлению, курсов по выбору и практики или научно-исследовательской работы. Примеры практических проектов наших студентов.

Преподаватели. Учёные, сотрудники JetBrains, Яндекса, выпускники центра. Чтобы познакомиться с программой и преподавателями, смотрите курсы, опубликованные на YouTube.

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

Студенты центра. В Computer Science Center ждут молодых специалистов, аспирантов, студентов средних и старших курсов, а также всех, кто увлечен компьютерными науками или программированием, хочет развиваться в этих областях и любит учиться. Вот что говорят о центре выпускники.

Полезные ссылки:
Видео об атмосфере в CS центре
Онлайн-курсы центра на Stepik
Записи открытых лекций центра
Канал для поступающих в 2020 году: там много ответов на вопросы

Набор на бакалаврские и магистерские программы уже начался. Приходите учиться!
Подробнее..

Как первокурсники Питерской Вышки за семестр написали торрент-клиент, анализатор кода, фоторедактор и не только

26.06.2020 14:09:33 | Автор: admin
Учиться программированию, изучая только теорию, это то же самое, что учиться играть на рояле, слушая лекции об игре на рояле. Первокурсники Прикладной математики и информатики в Питерской Вышке начинают изучать C++ в первом семестре. В дополнение к домашним работам с февраля они пишут на С++ семестровые командные проекты. Тему ребята придумывают самостоятельно, от игр и игровых движков до собственного анализатора кода.

Под катом подробности внутренней кухни: рассказ о том, как была устроена работа над проектами.



Кратко: каждой команде назначили менторов из числа действующих разработчиков или студентов старших курсов с опытом работы в IT-компаниях. Еженедельно первокурсники рассказывали о прогрессе и сложностях, с которыми пришлось столкнуться, в анкете и во время созвона с ментором. Чтобы команды потренировались выступать публично (а заодно чтобы установить дедлайны, к которым нужно готовиться), мы организовали две предзащиты. На финальной защите все команды успешно представили проекты, средний балл студентов 9,0 по 10-балльной шкале.

Теперь подробнее:

Об организаторах


Мы Наташа Мурашкина, Саша Орлова и Оля Лупуляк студентки старших курсов Прикладной математики и информатики в Питерской Вышке. Мы занимались организацией проектов под руководством куратора направления и лектора курса по С++ Егора Суворова.

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

О проектах


Цель проектов на первом курсе дать студентам попробовать силы в промышленном программировании, а также показать особенности длительной работы над проектом и разработки в командах.

Обучение программированию начинается с годового курса по С++, поэтому и проект нужно было написать на этом языке. Студентам не требовалось разработать продукт, готовый к использованию в реальном мире, или провести исследование, содержащее научную новизну. Однако проект должен был быть достаточно большим и сложным, чтобы работы в нем хватило на семестр для трех участников команды.


Демо-видео проекта Fivaproljo (мультиплеерный платформер)

К концу семестра необходимо было получить хотя бы MVP проекта, но многие команды успели добавить больше функциональностей, а кто-то даже написать тесты и оформить страницу на GitHub с описанием и инструкцией по запуску. Примеры: Моделирование и визуализация динамических систем, Анализатор кода UB-tester tool, Компьютерная версия игры Колонизаторы.

Подготовка


В начале семестра студенты разделились на 21 команду по 3 человека. Каждая команда самостоятельно выбрала тему проекта и согласовала ее с организаторами, после чего получила контакты своего ментора.

Ментор это сотрудник IT-компании или студент старших курсов с опытом промышленной разработки. Менторы помогали с распределением задач и решением технических проблем. Они еженедельно созванивались со студентами, чтобы обсудить прогресс и составить план работ на следующую неделю. В число менторов вошли стажеры и сотрудники JetBrains, Яндекса, ВКонтакте, Huawei, Google, Delightex, VeeRoute и других компаний, преподаватели Летней компьютерной школы (ЛКШ), а также студенты нашего факультета, московского кампуса Вышки и кафедры КТ университета ИТМО.

В качестве эксперимента мы даже пригласили мета-ментора (ментора для ментора): опытный сотрудник Google наставлял нашего старшекурсника в менторстве команды.

Работа в течение семестра


Каждую неделю студентам нужно было созвониться с ментором и заполнить анкету о проделанной работе.

Анкеты состояли из вопросов об эмоциональном состоянии, о том, насколько полезен был разговор с ментором, что успели за прошлую неделю и сколько времени на это потратили. Здесь наш расчет был прост: каждую неделю нужно что-то сделать, чтобы написать про это, потому что психологически тяжело не писать ничего. Так у студентов было меньше шансов отложить работу над проектом до конца семестра и пытаться все успеть за последнюю неделю.

Мы следили за строкой эмоциональное состояние и старались писать тем, кто загрустил. Если ничего не было сделано несколько недель подряд, мы связывались с командой и уточняли причины, помогали сформулировать и разрешить проблемы.

Воркшопы


За семестр студенты дважды тренировались выступать перед публикой и отвечать на вопросы во время воркшопов. Каждая команда представляла работу за 7 минут, показывала короткое демо-видео и еще 7 минут отвечала на вопросы аудитории.

Идея проводить репетиции не нова, и в нашем случае мы вдохновлялись воркшопами по публичным выступлениям, в которых Наташа участвовала во время стажировки в Google.

К первому воркшопу мы подготовили рекомендации по структуре доклада и оформлению: советовали сравнить разрабатываемый продукт с аналогами, провести сравнение технологий, описать задачи каждого участника команды, рассказать о текущем состоянии проекта и о планах на будущее.

Структура презентации для воркшопов


  • Титульный слайд
  • Введение в область
  • Краткое описание проекта
  • Сравнение с аналогами
  • Сравнение технологий
  • Разбиение на подзадачи для каждого участника (по слайду на участника)
    • Описание подзадачи, решение, выводы
  • Описание текущего состояния проекта (что было сделано с начала)
  • Описание прогресса с предыдущей презентации
  • Планы до конца разработки
  • Можно сделать демо-видео не длиннее 30 секунд

Кстати, в блоге Питерской Вышки на Хабре уже есть инструкция по подготовке коротких докладов от декана нашего факультета Александра Владимировича Омельченко.


Демо-видео проекта Моделирование и визуализация динамических систем

Как оценивали вклад каждого участника


Здесь нам помогали коммиты студентов на GitHub и анкеты менторов.

К первому воркшопу и к защитам мы попросили студентов залить код проекта на GitHub. Количество строчек кода это, конечно, нечестная метрика, и нельзя судить только по ней, но ее мы использовали как первый фильтр. После вчитывались в содержание.

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

Итоговая оценка каждого студента за семестр складывалась из трех частей:

  • 30% работа в течение семестра. Для хорошей оценки нужно вовремя сдавать анкеты.
  • 35% оценка ментора. Для хорошей оценки нужно, чтобы ментор оценил прогресс.
  • 35% оценка комиссии на защите. Для хорошей оценки нужно, чтобы в итоге что-то получилось.


Итоги


Защиты проектов прошли в июне по Zoom. Переход в онлайн сыграл нам на руку, так как мы смогли пригласить всех менторов, даже тех, кто живет не в Питере. После защит мы провели конкурс на приз зрительских симпатий, и победители получат призы после возвращения в Петербург.


Скриншот с защиты проекта TorrentX

Мы довольны результатами ребят. Трое студентов (из 61) получили оценку удовлетворительно, все остальные хорошо и отлично. Средний балл 9,0 по 10-балльной шкале.

Некоторые проекты превзошли наши ожидания. Вначале мы думали, что у каждого человека будет уходить около 5 часов в неделю на работу над проектом, но многие занимались гораздо больше.

Больше половины команд отважно согласились опубликовать свои финальные презентации и короткие демо-видео с защит. На всякий случай напомним, что проекты учебные и разрешалось даже изобрести велосипед с квадратными колесами. На старших курсах проекты уже посерьёзнее: раз, два, три.

Менторы, судя по обратной связи, получили удовольствие от работы.

Как и мы :) Так что в следующем году планируем продолжить.

Планы на будущее


  • Составить короткие тренинги или чек-листы ведения беседы для менторов. У многих менторов в этом году был управленческий или преподавательский опыт, но будет здорово, если мы сможем наладить систему и помочь тем, у кого такого опыта нет.

  • Найти англоязычных менторов. Такой запрос пришел от студентов, и в следующем году мы попробуем найти несколько англоязычных менторов через друзей и выпускников, работающих в заграничных компаниях.

  • Улучшить матчинг команда ментор, возможно, ввести собеседования между командой и ментором и маленькие тестовые задания. Учитывать пожелания менторов руководить более подготовленной (требует больше знаний) или менее опытной но не менее старательной! командой (требует лучших управленческих навыков).

  • Улучшить качество обратной связи на воркшопах. Планируем вовлечь менторов и создать список блиц-вопросов по содержанию, которые мы со студентами сможем задавать выступающей команде.

  • Давать обратную связь менторам и студентам, даже если все идет хорошо, чтобы не казалось, что анкеты отправляются в пустоту.

  • Форсировать написание тестов. Тесты были обнаружены в единицах проектов, однако первый курс это золотое время, когда нужно приучать к написанию тестов спинным мозгом.

И еще +100 заметок, которые мы бережно сохраняли в течение семестра.

Если вы хотели бы на волонтёрских основах побыть ментором студентов-первокурсников в следующем году, заполните форму или напишите нам в Телеграме (@murfel). Будем рады!
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru