Devdays Осень 2016

Материал из SEWiki
Версия от 21:29, 27 октября 2016; E.erohina (обсуждение | вклад) (Темы проектов)

Перейти к: навигация, поиск

Темы проектов

Чтобы править эту страницу, нужно залогиниться в Sewiki. Тогда сверху будет кнопочка "править". Если у вас нет учётной записи - напишите Мише Кольцову желаемый логин.

Редактировать wiki одновременно нескольким людям стоит осторожно: после внесения правки проверьте, что она действительно сохранилась.

Проекты нумеруются автоматически. Можно вписывать свои идеи проектов в порядке, отличном от "первый вписал - меньше номер".

Определение проплаченных отзывов к товарам

В интернете представлено много товаров и услуг. Часто потенциальные клиенты ориентируются на отзывы (на сайте компании или на тематических каталогах). Отсюда появился бизнес по "накрутке" отзывов: себе пишем получше, конкурентов втаптываем.

Я и сам смотрю на отзывы. Поэтому есть интерес в том, чтобы они были "честными".

Давайте возьмём русскоязычные отзывы из конкретной области и научимся определять, какие из них являются проплаченными. Или подозрительными. Скажем, возьмём все отзывы к микроволновкам с Я.Маркета.

Технологии: python (библиотеки: sklearn, NLTK, bs4, ...), анализ текстов (Mystem, ...)

Предложил: Михаил Кольцов

Поиск деликатных данных в открытых источниках

Есть много сайтов, на которых пользователи могу добавлять свои документы и медиафайлы. Иногда другие неавторизованные пользователи могут смотреть на эти файлы. Некоторые люди думают, что если ни у кого нет ссылки, то никто не видит их файлов. Давайте это исправим!

Сделаем программу, которая тыкается в случайные страницы на ideone, paste.ubuntu.com, google drive, cloud.mail.ru, ..., и собирает с них информацию. Пароли, конфигурация, топология локальной сети, обнажённые фотографии - что угодно.

Например, я случайно ткнулся на paste.ubuntu.com и получил информацию о чьей-то сломанной файловой системе.

Технологии: python

Предложил: Михаил Кольцов

Twitter-бот для ответов на жалобы

Сейчас у многих компаний есть представительство в Twitter. К примеру, если какой-то пользователь пишет "вот ведь в мегафоне чудаки", то специально обученные сотрудники Мегафона ему могут ответить: что не так, как нам исправить свою ошибку и т.п.

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

Технологии: python

Предложил: Михаил Кольцов

Генератор скриптов для контрольных по bash

Многие задачи на контрольной и в домашних работах были достаточно шаблонными и можно было их разбить на подзадачи (например: получаем данные | выделяем регулярное выражение | обработка sed'ом/awk | вывод). Почему бы и не попробовать написать и обучить систему, которая может решать такие простые задачи?

Технологии: python, bash

Предложил: Мыров Владислав


GrammarMan

Fig1.jpg

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

Технологии: C# ( или Qt )

Предложила : Малютина Катя


Приложение "что мне делать"

У всех есть дела, которые нужно делать.

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

Идея — сделать приложение, у которого можно спросить "чем я могу заняться прямо сейчас?" и оно предложит какие-то варианты. Если дедлайны по каким-то делам близко, оно будет показывать только эти дела. Если вы много работали, а дедлайны не очень близко, будут показаны скорее дела для души.

Уведомления вида "пора бы заняться делом", если не заходишь в приложение. Во время выполнения дела, уведомления "сделай перерыв".

Технологии: Android

Предложил: Антон Гардер

Планировщик студента

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

1. Возможность задавать расписание + даты дедлайнов + первое приближение для времени выполнения каждого типа домашки.

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

3. Напоминалки о том, что хорошо бы отдохнуть каждые n минут, когда ты делаешь домашку.

4. Напоминалки о том, что ты офигел ничего не делать, если ты ничего не делаешь (:

5. Какие-нибудь графички, статистику, все дела.

6. Рисовала гробик, если ты физически ничео не успеваешь ):

Технологии: да что угодно python, Qt?..

Предложила: Аня Явейн

Генерация сообщения для знакомств

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

Технологии: python

Предложил: Мыров Владислав

WhipLash

WhipLash.png

Наверное, большинство из вас замечало, что почти все игры "залипалки" имеют крайне простую идею (например, стройка из тетриса, танчики, angry birds, cut the rope и др.). Предлагается дерзнуть и написать что-то подобное. Идея следующая: есть прямоугольное поле, на котором изначально хаотичным образом размещены квадраты разных цветов (пусть черного и белого). У каждого квадрата есть плетка, для удара, ее необходимо какое-то время раскручивать. Ударив несколько раз плетью в квадрат с другим цветом, можно перекрасить его в свой цвет. Цель каждого квадрата сохранить свой цвет, игра заканчивается когда все квадраты одного цвета.

Игра многопользовательская (чтобы не писать AI).

Технологии: Java

Предложил: Кручинин Дмитрий

Своя эволюция

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

Технологии: Машинное обучение, Python

Предложил: Симиютин Борис

Сортировщик почты

Мы поговорили с Антоном и выяснили, что у нас таки одинаковые проекты.

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

Технологии: python, Qt

Предложила: Аня Явейн

3D представление для Graphviz

Есть Graphviz — набор программ для визуализации графов, заданный на языке DOT. Однако представление непланарных графов довольно неинформативно. При этом, любой граф можно вложить в трехмерное пространство без самопересечений. Цель: научиться по файлу в формате Graphviz'а строить трехмерное представление графа с использованием WebGL (или чего-то другого, позволяющего получить доступное для просмотра в браузере представление).

Технологии: Language agnostic, поскольку библиотеки для парсинга .dot есть для почти любого языка, и также многие языки транслируются в JavaScript; немного WebGL. Например, Python + JavaScript/TypeScript (хотя интересно было бы попробовать связку Haskell + Elm).

Предложил: Святослав Грязнов


Карта Мародёров

Очень сложно ориентироваться в новом месте и запоминать, куда именно идти на пару. Предлагается сделать приложение, которое по загруженным расписаниям групп и планам зданий университетов выдаёт на карте группы людей, которые в данный момент "направляются" в нужную аудиторию. Можно добавить разные эффекты и функционал (например, возможность перетаскивать студентов или бросаться оскорблениями).

Технологии: Python || Javascript

Предложила: Колесниченко Лара

Сборщик досье

Интересно, насколько много информации можно узнать о человеке из открытых источников (соцсети, участие в различных мероприятиях итп). Можно автоматизировать поиск и фильтрацию результатов и сохранить, что получилось.

Технологии: python

Предложила: Ерохина Лена

Навигатор по зданию АУ

По введенным двум номерам аудиторий пишет инструкцию, как добраться от одной до другой. Кажется, подобная штука функционировала(ет) в ИТМО.

Технологии: пусть python

Предложила: Ерохина Лена