Hard projects
Список этих здач будет дополняться, так чтобы больше людей нашли проект по вкусу.
Если вы хотите делать один проект в течение месяца, вместо многих мелких, то вы можете выбрать проект из этого списка, сказать вашему преподавателю и мы подготовим детальное описание проекта, критериев приемки и количество баллов которое оно даст. Типичный расчет баллов - это сумма балов, которую вы могли бы получить решая мелкие задачи в классе и дома плюс бонусная наценка.
Беритесь за эти проекты если вы более менее уверены в себе. Но мы обещаем, это будет очень интересно и полезно.
- Нечёткий поиск (https://habrahabr.ru/post/114997/)
- Визуализация данных в matplotlib(можно в jupyter делать)
- word count, биграммы, и что-то еще, тематика
- матзадача???
- Машинное обучение
- написать нейросеть (обычный перцептрон потом трехслойную и решить ею задачу распознавания рукописных цифр MNIST)
- Решающие деревья. Детальное описание
K
ближайших соседей (kNN)K
средних (kMeans)
- реализация in-memmory БД (b-tree, hash-tree)
- стейт машина (чего?) АСИНХРОННАЯ(зачем?) - эмуляция физического процесса
- Написать свои простые регэкспы
- Написать интерпретатор FORTH(стековая машина)
- Реализация реактивного вычисления, как в excel ячейки.
- Детальное описание. Реализация функциональных коллекций (как java-stream, scala-collections). Например:
collection.map(modifier).filter(...).reduce(...)
. Чтобы было lazy и оптимально: два последовательных фильтра схлапываются в один. Проходные:map
,filter
,flatMap
,zip
,take
. Терминальные:reduce
,fold
,forEach
. - Написать декоратор над функцией для хвостовой рекурсии в питоне - http://www.datchley.name/recursion-tail-calls-and-trampolines/ http://code.activestate.com/recipes/474088-tail-call-optimization-decorator/
- свой маленький блокчейн (благо есть описание как это сделать)
- выводить все последние новости с набора сайтов по rss(или не только) с фильтрами по ключевым словам.
- загрузить граф друзей из вк(рекурсия!), сохранить его и визулизировать в matplotlib. (https://habrahabr.ru/post/243229/ https://habrahabr.ru/company/hh/blog/263313/ https://habrahabr.ru/post/258713/ ) - тут даже очереди можно наворотить! Потом париться с тем как всё затолкать в память и быстро нарисовать.
- Интерпретатор Lisp на питоне. http://pythonpracticeprojects.com/lisp.html How to write a lisp interpretator in Python http://norvig.com/lispy.html Actual example - https://github.com/fogus/lithp