• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Лучшие проекты студентов

Разработка компьютерной игры WitchCraft

WitchCraft – игра, разработанная кампанией Brainy Studio для мобильной платформы Windows Phone 8. Для выпуска игры под платформы iOS и Android было решено перенести игру на движок Unity. Выбор игрового движка обусловлен наличием в Unity удобных инструментов для разработки 2D-игр и возможностью сборки проекта для основных операционных систем.

Подробнее...

 Главное меню игры

Игра повествует о приключениях ведьмы Рутгрид, открывшей лавку магических зелий. В данной игре имеется 5 уровней с 5 различными заданиями в каждом. Задания в каждом уровне похожи, но имеют различную сложность. Каждый уровень представляет собой мини-историю, в которой ведьме необходимо приготовить зелье. Сначала производится сбор ингредиентов, затем приготовление самого зелья, но каждый раз приготовленное зелье дает неправильный эффект и ведьме необходимо сбежать от разъяренного заказчика. Поскольку задания в каждом уровне похожи в игре можно выделить 5 основных игровых механик.

 

Пример диалога

 

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

Пример уровня с жуками 

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

Пример уровня с поиском предметов 

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

Пример уровня с приготовлением зелья

Далее необходимо собрать картинку или расположить предметы в правильном порядке. Данная игровая механика подобна логической игре «Пятнашки».

Пример уровня со сборкой картинки

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

Пример уровня с полетом

Автор разработки: Виноградова Татьяна – студентка 3 курса образовательной программы «Программная инженерия».

Telegram бот для поиска лекарств в аптеках города Перми

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

Подробнее...

Целью данной работы является разработка бота для поиска лекарств в аптеках Перми.

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

 

Графическое представление работы программы

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

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

 Имя созданного бота @PharmacyAssistantBot, его можно найти через поиск диалогов в Telegram.

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

Автор разработки: Спасская Полина – студентка 1 курса образовательной программы «Программная инженерия».

Проект "Клуб староста"

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

Подробнее...

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

Стартовая страница веб-сервиса

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

  1. Работодатель оставляет вакансию на сайте.
  2. Староста просматривает список открытых вакансий и закрепляется за теми, для которых он готов предложить кандидатов.
  3. Староста предоставляет доступ к описанию вакансии своим кандидатам.
  4. Кандидаты просматривают вакансию и в случае заинтересованности оставляют резюме.
  5. Работодатель просматривает резюме предложенных ему кандидатов и открывает контакты тех, с кем хочет пообщаться лично.

Форма информации о вакансии

На сегодняшний день проект задействует 576 старост из 5 вузов (НИУ ВШЭ‑Пермь, ПГНИУ, ПГГПУ, ПНИПУ, ПГСХА) и сотрудничает с 15 компаниями на постоянных условиях.
Работа над проектом велась в команде, членами которой являются:
  1. Недочетов Александр, основатель и руководитель проекта, специалист по работе с представителями бизнеса.
  2. Соснин Константин, специалист по работе со студенческим сообществом, студент 3 курса образовательной программы «Менеджмент».
  3. Красноперова Анастасия, главный инженер, студентка 3 курса образовательной программы «Программная инженерия».
  4. Кучев Андрей, back-end разработчик, студент 2 курса образовательной программы «Программная инженерия».
  5. Березин Максим, front-end разработчик.

Сайт медицинского центра Консилиум

Сайт разработан студентами образовальных программ "Программная инженерия" и "Бизнес-информатика" специально для медицинского центра «Консилиум». С его помощью пользователь (пациент) может решать следующие основные задачи:

  • узнать цены на услуги медицинского центра;
  • узнать какие специалисты ведут прием в медицинском центре;
  • записаться на прием к конкретному специалисту или на определенную услугу.

Подробнее...

Стартовая страница сайта для персональных компьютеров

Для создания веб-сайта медицинского центра было принято решение использовать клиент-серверную архитектуру. В качестве клиента выступает веб-приложение, разработанное с помощью javascript-фреймворка AngularJS, что предоставляет возможность пользователям работать с сайтом без перезагрузки страниц. Сервер представляет собой RESTful API, работающий на PHP-фреймворке Laravel.
Помимо версии для настольных компьютеров была разработана и мобильная версия сайта. При разработке сайта был использован фреймворк Bootstrap, который позволил обеспечить удобную верстку страниц для обеих версий.

Страница мобильной версии сайта

В проектировании и разработке сайта принимали участие:
  1. Каландаров Тимур, студент 2 курса образовательной программы "Программная инженерия", руководитель проекта и back-end разработчик.
  2. Новиков Николай, студент 2 курса образовательной программы "Бизнес-информатика", проектироващик интерфейса и front-end разработчик.

Система расчета финансовой состоятельности бизнес-плана

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

Подробнее...

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

Целевая аудитория: люди, начинающие заниматься бизнесом или имеющие «сжатые» доходы, выделенные на построение бизнес-плана.

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

 

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

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

Автор разработки: Гильман Максим – студент 1 курса образовательной программы «Программная инженерия».

Реализация компьютерной игры "Music Catch" на платформе Unity

Игра "Music Catch" была выпущена компанией Reflexive Entertainment в 2008 г. Выпустив одну игру, разработчики не закончили работу над ней: продолжается работа над улучшением интерфейса и функционала с целью выпуска обновлений (это касается преимущественно игр для мобильных устройств) и издания новых частей игры.

Подробнее...

Целью данной работы является реализация компьютерной игры "Music Catch" для операционной системы Windows с помощью платформы Unity с внесением модификаций в игровой процесс. В частности, в разработанном приложении существует выбор режима игры. Помимо настройки режима, можно выбрать музыкальную дорожку. Также в игре реализована возможность проигрыша, которая отсутствует в оригинале "Music Catch".

В игре присутствует два режима: "Классика" – игра длится до тех пор, пока не закончится музыкальная дорожка и "Аркада" – игра продолжается бесконечно.

Главное окно приложения приведено на рисунке:

Основной игровой экран

Новизна данной работы состоит в выявлении новых направлений изменения функционала компьютерной игры "Music Catch", а также реализации некоторых из выявленных в оригинальной игре ограничений.

Автор разработки: Баранова Мария – студентка 1 курса образовательной программы «Программная инженерия».

Система поиска плагиата в исходном коде программ

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

Подробнее...

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

Целевая аудитория приложения – студенты и преподаватели.

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

Разработанная программа имеет интуитивно-понятный интерфейс.

Главное меню программы поиска плагиата в коде программы

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

Окно вывода результата работы программы

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

Автор разработки: Щукин Дмитрий – студент 1 курса образовательной программы «Программная инженерия».

Программы для решения задачи коммивояжера на основе алгоритма Кристофидеса

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

Подробнее...

Цель работы – изучить алгоритм Кристофидеса для решения задачи коммивояжера. Объектом изучения является алгоритм Кристофидеса. Предмет изучения – погрешность алгоритма, которая для евклидовых графов не превосходит 50%, а для неевклидовых графов может быть сколь угодно большой.
Новизна исследования заключается в том, что найдены такие характеристики графа, как коэффициент неэвклидовости и степень нарушения неравенства треугольника, которые влияют на погрешность алгоритма Кристофидеса.
Коэффициент неевклидовости графа определяется отношением количества неевклидовых треугольников в графе к общему числу треугольников в графе. Также была введена степень нарушения неравенства треугольника, которая вычисляется по формуле:

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

Скриншот программы для решения задачи коммивояжера
на основе алгоритма Кристофидеса

Для евклидовых графов была экспериментально продемонстрирована теорема о том, что погрешность алгоритма Кристофидеса не превосходит 50%.
Для неевклидовых графов получены зависимости погрешности от таких параметров как степень нарушения неравенства треугольника и коэффициент неевклидовости графа. Собраны статистические данные погрешности алгоритма для конкретных значений характеристик графа.

Зависимость погрешности алгоритма Кристофидеса от неевклидовости и
нарушения неравенства треугольника

Практическая значимость результатов заключается в том, что определены значения характеристик графа, которые позволяют определить применимость алгоритма Кристофидеса для конкретных графов. Результаты исследования можно использовать для прогнозирования погрешности алгоритма Кристофидеса для определенных графов.
Автор разработки: Чусовлянкин Алексей, студент 1 курса образовательной программы «Программная инженерия».
Работа получила диплом I степени на Всероссийской конференции с международным участием «Фундаментальные и прикладные проблемы математики, механики, информатики» (г. Пермь, май 2015 г.) в секции «Математическое и программное обеспечение, информационная безопасность».

Сервис HSETimetable

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

Подробнее...

Целевая аудитория приложения – студенты и преподаватели.
Для студентов доступны функции:
  • просмотр расписания;
  • поиск свободной аудитории;
  • поиск преподавателя (в каком корпусе и аудитории у преподавателя проходят занятия в указанное время).
Для преподавателей доступны функции:
  • просмотр личного расписания на несколько недель;
  • поиск свободной аудитории.
Приложение имеет быструю и удобную навигация: пользователю достаточно выбрать группу из списка выбора, после чего он попадает в меню с расписанием на текущую неделю. В данном меню, пользуясь кнопками «Предыдущая неделя» и «Следующая неделя», может переключаться между ними.

Отображение расписания

Приложение имеет клиент-серверную архитектуру. Клиентская часть системы имеет две реализации:
  • веб-приложение
  • мобильное приложение для платформы Android.
Веб-приложение обеспечивает доступность к сервису практически с любого устройства, имеющего выход в сеть Интернет и веб‑браузер.
Мобильное приложение облегчает и ускоряет работу с сервисом, так как все необходимые для отображения ресурсы находятся у пользователя на мобильном устройстве. Таким образом, трафик расходуется только на отправку запросов и получения информации из базы данных.

Главное меню тонкого клиента

Серверная часть приложения выполняет загрузку и парсинг Excel‑документов, содержащих расписание, с сайта НИУ ВШЭ – Пермь через определенные промежутки времени, занесение данных в базу данных и формирование ответов на запросы клиентов.
Авторы разработки: Губайдулин Данил – студент 2 курса образовательной программы «Программная инженерия», Капгер Анна – студентка 3 курса образовательной программы «Программная инженерия».