КурсоWeek

kypcoweek@progmeistars.lv

#135    10.12.2015.

                                   ®

Бюллетень SIA

 

 Pulkveža Brieža 6-1,

tel. 67336035, 26428902, www.progmeistars.lv

                                                                                                                             

 


Поступление на курсы

                    Без собеседования принимаются: на прикладное отделение - ученики, начиная с 5-го класса; на начальное и основное отделения программирования - призеры олимпиад и ученики с отличными отметками по математике (поступающий предъявляет администрации диплом или табель); на начальное и основное отделения программирования - курсанты других отделений, получившие рекомендации преподавателей.

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

http://www.progmeistars.lv/index.php?lang=ru&act=testing

 

Сезон Латвийской олимпиады по информатике уже начался.

С.И.Мельник

Да, действительно, с 7 по 13 декабря уже проходит первый этап LIO’2016. Да, конечно, первый этап, как обычно в последние годы, носит, главным образом, тренировочный характер. Тем более, очень полезно в нем поучаствовать. По двум причинам. Во-первых, порешать задачи, попробовать себя; а для тех, кто раньше не участвовал в LIO, - это ещё и возможность познакомиться с системой проведения соревнований. Во-вторых, это ценный организационный опыт. Дело в том, что участников на эти соревнования должен регистрировать школьный учитель информатики  или другое ответственное лицо. К сожалению, этого не всегда легко добиться. Учитывая, что 2-й (районный) этап LIO’2016 состоится уже 12 января – практически через неделю после начала второго семестра, то надо быть готовым к тому, что времени на регистрацию для участия в районном туре будет немного. Соответственно, хорошо бы этот прорепетировать процесс регистрации. Надеюсь, что решения можно будет засылать на тестирующий сервер LIO и после 13 декабря, но это уже не будет официальное участие.

Напоминаю, что для того, чтобы получить доступ к системе проведения соревнования, представитель школы должен отправить по адресу  askola_at_latnet.lv  письмо, содержащее фамилию и имя ответственного лица и название представляемой школы. В первом этапе предусмотрена возможность “самовыдвижения” - если кто-то из учеников хочет участвовать, но в его школе нет человека, который может зарегистрировать его, то школьник может заявиться для участия в тренировочном  соревновании самостоятельно, используя упомянутый адрес  askola_at_latnet.lv   Учтите, во втором этапе такой возможности обычно нет. И, последнее и главное: следите за новостями на сайте LIO:

www.lio.lv

 

Новый спецкурс Ruby on Rails

по воскресеньям.

Ruby on Rails (RoR) - современный фреймворк для разработки веб-сайтов и сервисов.

В курсе вы познакомитесь с языком программирования Ruby (кстати, сам Ruby on Rails написан на Ruby). Создатель языка Мацумото при разработке Ruby сделал акцент на малое время разработки, понятность и простоту синтаксиса. И ему действительно это удалось.  Вы увидите насколько просты и элегантны синтаксические конструкции языка. Вы это поймёте, если станете на путь Руби (Ruby Way).

Программирование будет весёлым и продуктивным. Вместе с рубином (Ruby) вы получаете и 6392 драгоценных камней* (gems - так называют библиотеки для Руби).  Один из самых ценных камней это Ruby on Rails.

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

Веб-сайты используют большое количествово технологий, мы сконцентрируем своё внимание на серверной (back-end) части. HTML, CSS, Javascript - всё это тоже встречается, но практически всё это сделает фреймворк за нас.

Нам нужны будут только минимальные знания. Поэтому от вас требуется только: 0) желание (будет много материала для самостоятельного изучения); 1) знание ООП; 2) навык программирования на любом языке с С-подобным синтакисом (С, C++, Java и т.д.)

Высокоуровневые детали курса: мы разберёмся как работает веб; познакомимся с Unix средой (фреймворк кроссплатформенный, поэтому вы сможете всё то же делать и в среде Windows); рассмотрим паттерн ActiveRecord (работа с базой данной), будем отсылать письма, загружать файлы, займёмся интернационализацией страниц (i18n), поговорим о тестировании и отладке, о безопасности веб-систем. Это даст нам возможность построить небольшой социальный сайт: посты, комментарии, друзья, лайки, лента и др. Будут в курсе и интерактивные уроки: консоль в браузере - требуется написать программный код, чтобы пройти дальше. Кому нравится решать загадки, то почему бы не делать это на Руби. Мы будем использовать только open source программы, вы всегда сможете заглянуть им внутрь. И, кстати, В мире Ruby приветствуется, если вы видите код. Документация к ним есть и довольно хорошая,  но ещё лучше видеть код.

 

*кол-во библиотек на официальном сервере rubygems

 

Практическая статистика.

В современном мире трудно найти более прикладную науку, чем математическая статистика. Будь вы экономистом, геологом, социологом, медиком, программистом или психологом, для полноценного освоения профессии вам придется столкнуться со статистическим анализом – эффективным инструментом для обработки больших массивов данных. В нашем курсе прикладной статистики мы научим  вас  сначала «раскладывать исходную информацию по полочкам» - групприровать данные. Затем  вы освоите, как устанавливать  взаимозависимости между  частями полученной структуры, строить модели, и, наконец, делать на их базе  прогнозы. Все это позволит сделать мощная среда программирования R.  Поскольку  этот программный продукт  является  свободным программным обеспечением, то его можно совершенно легально использовать бесплатно и во время обучения и потом для решения реальных задач. На сегодняшний день  R является безусловным лидером среди свободно распространяемых систем статистического анализа.

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

Курс будет вести   профессиональный математик-аналитик, занимающийся  математическим и статистическим моделированием. В круг его интересов входят также data mining и финансовый анализ. Всего  будет   15 занятий продолжительностью по 2,5 –  3 часа.    Язык преподавания – русский.   Чтобы записаться, нужно зарегистрироваться на нашем сайте  по адресу:

http://www.progmeistars.lv/index.php?lang=ru&act=registerentrant

В комментариях  напишите слово «статистика». Вам позвонят, и скажут, когда нужно  произвести оплату.

 

 

Жизнь после университета: что значит работать программистом?

(Окончание, начало в Курсовике #134)

Александр Шантар

Александр - выпускник  2000 года элитной группы курсов «Progmeistars», выпускник   University of Waterloo (Канада)  2005 года. Во время учебы начал работать в IBM. Сейчас работает  программистом там же.

 

 

Обзор компаний с точки зрения программиста.

Разделим компании на крупные, средние и малые по количеству уровней связанного с программированием менеджмента, имея ввиду, что  один уровень - это менеджер и его подчиненные. Три и больше уровня  менеджмента - это крупная компания,  два - средняя и один уровень - малая. При такой градации, например, отдел IT-поддержки крупного банка  можно отнести, однако,  только  к  средним компаниям. Чем выше уровень начальства, тем меньше  оно знает/волнуется о программировании, а больше о деньгах, и просто становится отделом продаж.

Работа в малой компании самая динамичная. Очень скоро вы станете мастером «на все руки». Результаты ваших усилий  будут видны везде. В таких фирмах у вас есть идеальная возможность попробовать себя во всевозможных качествах. В том числе (без всякого риска!)  можно получить опыт управления  компанией и, даже, ее создания, что весьма пригодится, если задумете создать свою фирму. Кроме того, появляется хорошая возможность быстро выбиться в менеджеры (это, правда, на любителя). Однако, возможности малой компании... крайне малы, поэтому шедевров из под вашей клавиатуры выйдет немного. Малая компания - отличное место для начинающего программиста, который хочет определиться "а что же мне от программирования нужно", а также для человека, играющего по своим правилам. Зарплата обычно невысока, но есть хороший шанс получить значительную премию, если дела резко пошли вверх.

Средние компании. Самый интересный вариант, когда эта компания  - часть чего-то крупного, например: ИТ-отдел, служба техподдержки, разработка юзер-интерфейса. Работая в такой среде, вы можете стать экспертом сразу в двух отраслях: программирование и, например, финансы, если это IT-отдел банка. А это, фактически, вполне  сопоставимо с двойным образованием, и ваше резюме  становится значительно весомее для дальнейшей карьеры, так как большинство программистов наняты как раз в аналогичных компаниях. В частности,  такое резюме   дает положительные ответы по  пунктам 1-3 требований   работодателя  к персоналу (см. в   Курсовике #134). Предупреждаю, что самой большой вашей проблемой будет ужасающая некомпетентость в вопросах программирования людей, принимающих решение  на тему "что сейчас самое важное". Отсюда и весь день, потраченный на встречи, где ничего не решается, бросание с головой в проект, который может быть сделан не меньше, чем за год и точно не будет закончен, и передача клиентам кода, который   на удивление работает. Средняя компания - идеальное место, чтобы познать корпоративный мир и трансформироваться из программиста в консультанта/контрактника или менеджера среднего/крупного звена. Зарплата хорошая или очень хорошая, особенно у контрактников.

Крупные компании. Вы можете прикоснуться и даже под-полировать один из столпов, на котором держится мир. Масштабы всего поражают: и размеры/количество машин, и количество людей вокруг них, и разнообразие/изобилие экосистем клиентов, и количество статей в специализированнх СМИ про вашу компанию. Вы разрабатываете будущее, и самые продвинутые клиенты пользуются кодом, который вы написали несколько лет тому  назад и котороый сами уже успели основательно забыть. С другой стороны, эти масштабы налагают огромную ответственность за ошибки. Даже одна ошибка компиляции легко может стоить $100000. Поэтому главное правило работы - не навреди. Вот почему все двигается и разрабатывается со скоростью улитки. Работа в крупной компании - огромная платформа для применения  всех своих знаний  и, часто, для приобретения новых,  идеальное место, чтобы внести свой вклад в историю, и... выйти на пенсию. Зарплата обычно средне-хорошая.

 

Эпилог.

Все что связано с работой всегда пересчитывается на ДЕНЬГИ. И, как показывает практика, самое выгодное - это продать немного, но ВСЕМ. То есть концентрируемся на  задачах ПРОСТЫХ и ВЫПОЛНИМЫХ в ближайшем будущем (1-6 месяцев). Это разительно отличается от академической среды, где самое важное  - сложное и... непонятное. Компромисс состоит в следующем: процесс создания (и поиска) может быть сколь угодно сложным, но результат -  должен быть доступным и простым. Поэтому не старайтесь писать умный код, старайтесь найти умный способ написать простой код.

Желаю вам успехов  в  карьерном росте!