
Для начала немного о себе. Я аспирант первого года обучения в Смоленском филиале НИУ «Московский Энергетический Институт» – ВУЗе хорошем (особенно по Смоленским меркам), но далеко не топовом. По этой причине, я был очень удивлен, что вообще попал в Intel Summer School. Еще больше я был удивлен тем, что летние школьники Intel – это не представители всем известных ВУЗов Москвы и Питера (в большинстве своем), но жители провинций. География в этом году вышла весьма впечатляющей: от Смоленска до Хабаровска, от Архангельска до Сочи. Этот факт, если и не доказывает, то хотя бы заставляет задуматься о том, что даже будучи студентом ВУЗа, о котором знают разве что в вашей области, стоит участвовать в конкурсе в летнюю школу (да и конкурсах вообще), если не жалко потратить лето на приобретение новых знаний, нового опыта и новых знакомств. Однако сразу хочу предупредить: ваша девушка может не одобрить сей затеи :).
Обучение
Чему учат в летней школе Intel? Прошу прощения заранее за некоторое «капитанство», но Intel для разработчика – это в первую очередь параллельное программирование. С него и начну. В этом году преподаватели Нижегородского Государственного Университета (ННГУ) читали курс лекций о технологиях и инструментах распараллеливания программ. В нем речь шла о TBB, Cilk+, Parallel Studio XE и об общих принципах High Performance Computing. OpenMP и MPI были вынесены на самостоятельное изучение, что, на мой взгляд, правильно, т.к. многим эти технологии уже известны. Несмотря на это, курс оказался слишком обзорным. Главным образом из-за отсутствия практики. Но как обзорный, курс следует признать полезным: тем, кто плохо знаком с параллельным программированием, он может дать отправную точку для дальнейшего развития.Чтобы не быть голословным, приведу список лекций:
- Архитектуры, аспекты параллелизма;
- Операционные системы, аспекты параллелизма;
- Технологии для параллельных вычислений: TBB;
- Технологии для параллельных вычислений: Cilk+;
- Инструменты для параллельного программирования. Intel Parallel Studio XE. Простые числа. Сортировки;
- Инструменты для параллельного программирования. Intel Parallel Studio XE. Умножение разреженных матриц.
Стоит так же сказать, что курс является сертификационным. Успешно прошедшим тестирование, выдавался сертификат Intel Parallel Programming Professional уровня Basic. К сожалению, тестирование классическое – вопросы с вариантами ответов. Код писать никто не просит, хотя в некоторых вопросах надо понять, как он работает. Так что сертификат, на мой взгляд, говорит лишь о наличии теоретических знаний у его обладателя.
Помимо параллельного программирования в «учебном плане» летней школы были и, например, такие вот занятия:
- Введение в Business Intelligence.
- Алгоритмы физического моделирования в современных компьютерных играх.
- Введение в Agile.
- Серия лекций по computer vision: зрение роботов, распознавание прозрачных предметов и др.
- TBB Flow Graph.
- Presentation skills.
- Технологическое предпринимательство.
- Коды, исправляющие ошибки.
- Криптография с открытым ключом.
Кроме них были еще беседы о самой компании Intel, ее истории и современности, экскурсия в Itseez с серией докладов, посвященных алгоритмам компьютерного зрения и их практическому использованию и демонстрацией приложений, разрабатываемых компанией. Отдельно хочется упомянуть еще два мероприятия: семинар летней школы и конкурс идей.

Стажировка
Если знания в летней школе Intel добываются из учебной программы, то основный опыт приобретается в работе над проектом. Выше я говорил, что Intel для разработчика – это в первую очередь параллельное программирование (еще, правда, компиляторы, о которых я умолчал). Но это только в первую очередь – задачи, которые предлагалось решить летним школьникам, были очень разнообразными. Это не только C++, и не только технологии распараллеливания. Среди направлений, в которых работали летние школьники, оказались компьютерное зрение, разработка мобильных приложений, разработка вэб-приложений, Business Intelligence, Data Mining, дизайн GUI и вэб-дизайн [полный список задач]. Приятен и тот факт, что примерно половина задач, так или иначе, включала в себя исследовательскую составляющую по факту, а не только по постановке: надо было проверить какой-то подход, испытать что-то на практике, найти новое и более эффективное решение. Другая половина, в основном связанная с разработкой web-приложений, – это хорошие инженерные задачи, наработки по которым возможно скоро будет можно увидеть в продуктах Intel.Intel – это и работа в хорошей команде (во всяком случае такова команда TBB, в которой довелось работать мне), от которой быстро перенимаешь опыт. С точки зрения профессионального роста для меня два месяца работы в Intel по количеству полученного опыта можно приравнять к году работы на моем текущем рабочем месте (это без учета самообразования, только знания, полученные от команды или из проекта – книжки везде читать можно).
Заключение
Разумеется, летом кощунственно только работать и только учиться. Был и отдых: поездка на озеро Светлояр, прогулка на теплоходе, но главное – общение друг с другом и приобретение новых знакомых и единомышленников.Если подводить итог и задаваться вопросом о том, в чем изюминка летней школы Intel, то ответом на него будет практический подход, ориентированность на нужный кому-то результат, которых не хватает, на мой взгляд, российскому образованию и российской науке. Если вам интересен подход и люди его культивирующие (не только из Intel), приезжайте в летнюю школу Intel ;).