Данный курс предназначается для студентов 3-4 курсов (бакалавров и специалистов), специализирующихся на программной инженерии. В какой-то момент я осознал, что лекционных занятий нашим студентам хватает через чур, равно как и узкого практического опыта (почти все они к этому времени успевают уже где-то поработать – кто больше, кто меньше). А вот интересных практических курсов, которые бы восполняли у студентов пробелы в практических навыках, у нас практически нет. Вместе с тем, в западных университетах популярной формой проведения таких занятий является групповой проекты. Студенты делятся на группы и занимаются реализацией программных систем, акцентируясь на тех или иных активностях процесса разработки.
Я решил построить и провести такой практический курс, делая упор на следующем:
Основной упор в рамках курса делался на следующем.
Подобные курсы целесообразно «пристёгивать» к различным инициативам, программам и т.д. для того, чтобы получить источник задач и дополнительную экспертизу. Темы курса в 2012 и 2013 годах были взяты из русско-финского исследовательского проекта Improving Social Services , в котором я принимал деятельное участие.
В этом году я взял как основную тему курса открытые данные (open data). В рамках студенческой школы в феврале 2013 года мы уже затронули эту тему, и показалось целесообразно продолжить.
Ниже представлены получившиеся сайты.
А вот презентации студенческих рабочих групп, рассказывающие о проектах. Эти презентации были выполнены, к сожалению, не в самом конце – самый конец заняли сами сайты, – а после завершения постановки задачи, написания документов и разработки первого прототипа. Постановка задачи в этот раз заняла неожиданно много времени, поскольку первичные задания, взятые со студенческой школы проекта Improving Social Services, на поверку оказались трудно реализуемыми из-за проблем с доступом к открытым данным. В связи с этим задачи пришлось переформулировать, а от некоторых и вовсе отказаться, заменив их на те, где открытые данные оказались доступными. При этом студенты были активной стороной – они предлагали альтернативы и детально прорабатывали разные варианты. В процессе этой работы им приходилось продираться через многочисленные трудности, в том числе осознать главные требование данного курса – открытые данные должны быть, задача должна быть правдоподобной и иметь перспективу практического использования, представить соображения о коммерциализации разработки надо. При этом я выступал в роли заказчика и старался действительно быть заказчиком, адресуя возникающие трудности для разрешения самим ребятам. Вот этот путь от исходной постановки задачи до реального технического задания студентам и было предложено воссоздать и осмыслить, а результат представить в виде презентации (ретроспектива произошедшего – не простая задача, особенно, если ситуация была запутанная). Многие рабочие группы далеко не с перового раза вспоминали о тех реальных проблемах, с которыми они сталкивались и которые разрешали, кое-кто так и смог вспомнить.... Мне кажется, что проделанная ребятами работа была максимально приближена к тому, как оно бывает в жизни. Презентации, представленные ниже, дают представление о том, в каком объёме студентам удалось вспомнить и осознать работу с постановкой задачи (в случае удачной ретроспективы из презентаций можно получить также представление о самой этой работе).
Я предложил ребятам, чтобы сайт был не просто переведённым в html документов про предметную область. Каждый сайт должен был обладать какой-то интересной функциональностью. Кроме того, предлагалось направить творческую мысль на интеграцию с имеющимися ресурсами – картами, сервисами и пр. И чтобы это была не просто гиперссылка на чужой сайт. Ниже представлены получившиеся сайты.