|
| 1 | +# Указания към проектите за курса "Програмиране с Python" |
| 2 | + |
| 3 | +## Общи насоки |
| 4 | + |
| 5 | +- Проектите ви трябва да могат да бъдат пуснати на друга машина - кратък INSTALL.md или инструкции в README.md биха ни свършили работа, освен requirements.txt/pyproject.toml |
| 6 | +- Може да използвате всякакви библиотеки, но очакваме да имате достатъчно функционалност написана от вас |
| 7 | +- Трябва да имате тестове |
| 8 | +- Трябва да използвате Git и проектът да е качен в сайт като Github, Gitlab, или Bitbucket |
| 9 | +- Добър error handling е очакван |
| 10 | +- Очакваме демонстрация на проекта - 5-10 минути демонстрация и 5 минути за въпроси |
| 11 | + |
| 12 | +## Как да си избера тема проект ? |
| 13 | + |
| 14 | +1. Избирате си тема и вариант от списъка по-долу |
| 15 | +2. Записвате я в канала `projects` в Дискорд заедно с име и ФН - например: "Любослав Карев - 2B" |
| 16 | +3. Ако темата е свободна и може да я изберете, получавате зелено тикче. |
| 17 | + - Една тема и вариант може да бъде избрана максимум от един човек. |
| 18 | + - First come, first serve |
| 19 | + |
| 20 | +**Крайният срок за избирането на тема е края на семестъра - 18.01.2026**. **Крайният срок за проектите е 08.02.2026** |
| 21 | + |
| 22 | +## Тема по ваш избор |
| 23 | + |
| 24 | +1. Измисляте си тема |
| 25 | +2. Записвате я в канала `projects` в Дискорд |
| 26 | +3. Обсъждате я с нас |
| 27 | +4. Одобряваме я или я пращаме за rework |
| 28 | + |
| 29 | +## Какви са критериите за проект ? |
| 30 | + |
| 31 | +**Total**: 40 точки |
| 32 | + |
| 33 | +- **Защита** - 10 точки |
| 34 | +- **Функционалност** - 10 точки |
| 35 | +- **Разделение на модули** - 3 точки |
| 36 | +- **Използване на "Питонизми"** - 3 точки |
| 37 | + - list comprehensions, generators, any/all, slicing |
| 38 | + |
| 39 | +- **Използване на type hints** - 3 точки |
| 40 | + - Автоматично оценено, чрез `mypy` |
| 41 | +- **PEP-8** - 3 точки |
| 42 | + - Автоматично оценено, чрез `pylint` |
| 43 | +- **Тестове** - 5 точки |
| 44 | + - Автоматично оценено, чрез `coverage` |
| 45 | +- **requirements.txt** - 1 точка |
| 46 | + - Автоматично оценено |
| 47 | + |
| 48 | +- **Git** - 1 точки |
| 49 | +- **README** - 1 точка |
| 50 | + |
| 51 | +## Списък с темите за проекти към курса по "Програмиране на Python" |
| 52 | + |
| 53 | +### Уеб приложения |
| 54 | + |
| 55 | +1. Сайт за информация + ревюта в стил Goodreads/IMDB |
| 56 | + - Книги |
| 57 | + - Филми |
| 58 | + - Сериали |
| 59 | + - Игри (бордови или компютърни) |
| 60 | + - Музика |
| 61 | +2. Онлайн магазини |
| 62 | + - Автомобили |
| 63 | + - Техника |
| 64 | + - Дрехи и мода |
| 65 | + - Хранителни стоки |
| 66 | +3. Social media |
| 67 | + - Групи |
| 68 | + - Събития |
| 69 | + - Истории |
| 70 | + - Анкети |
| 71 | +4. To-Do lists |
| 72 | + - Екипи |
| 73 | + - Граф |
| 74 | +5. Тракер на ... |
| 75 | + - Разходи |
| 76 | + - Хранене |
| 77 | + - Навици |
| 78 | + - Тренировки |
| 79 | +6. Електронен дневник |
| 80 | + - Имейл известия |
| 81 | + - Визуализация на статистики |
| 82 | +7. Управление на резервации |
| 83 | + - Лекари |
| 84 | + - Кино |
| 85 | + - Салони за красота |
| 86 | + - Ресторанти |
| 87 | + - Хотели |
| 88 | + - Сервизи |
| 89 | + - Зали |
| 90 | +8. Посредник за услуги наблизо |
| 91 | + - Таксита (като Uber) |
| 92 | + - Домашни любимци (като PetStay) |
| 93 | + - Майстори |
| 94 | + - Частни уроци |
| 95 | + - Детегледачки |
| 96 | + - Freelancers |
| 97 | + - Имоти |
| 98 | + |
| 99 | +### Desktop и конзолни приложения |
| 100 | + |
| 101 | +9. Редактор на изображения |
| 102 | + - Векторна графика |
| 103 | + - Undo/redo & layers |
| 104 | +10. Интерпретатор на Prolog |
| 105 | + - Визуализация на заявки |
| 106 | + - Множество файлове |
| 107 | + - Import/export |
| 108 | + - Собствени предикати |
| 109 | +11. Интерпретатор на Brainfuck |
| 110 | + - Визуализация на паметта |
| 111 | + - Зареждане и изпълнение на няколко програми |
| 112 | + - Дефиниране и използване на макроси |
| 113 | +12. Password manager |
| 114 | + - Import/export към криптиран файл |
| 115 | + - Двуфакторна автентикация |
| 116 | + - Логване на действията за сигурност |
| 117 | +13. Tracker & webcrawlers |
| 118 | + - Онлайн магазин |
| 119 | + - Имоти |
| 120 | + - Автомобили |
| 121 | + - Самолетни билети |
| 122 | +14. Music player |
| 123 | + - Плейлисти import/export |
| 124 | + - Потребителски профили и индивидуална статистика |
| 125 | +15. Spellchecker |
| 126 | + - Работа с файлове и логове |
| 127 | + - Уеб приложение |
| 128 | +16. Криптиран messenger |
| 129 | + - Приятели и контакти |
| 130 | + - Редактиране и изтриване на съобщения |
| 131 | + - Файлове и изображения |
| 132 | + |
| 133 | +### Игри |
| 134 | + |
| 135 | +17. Шах |
| 136 | + - Мултиплейър |
| 137 | + - Връщане на ходове + стартиране от конкретна позиция |
| 138 | +18. Snake |
| 139 | + - Множество нива и препядствия |
| 140 | + - Мултиплейър |
| 141 | + - Бонуси и специални предмети |
| 142 | +19. Platformer game |
| 143 | + 1. Функционални варианти |
| 144 | + - Co-op |
| 145 | + - Level editor |
| 146 | + - Нови герои |
| 147 | + 2. Тематични вариации |
| 148 | + - Огнени топки |
| 149 | + - Ключове и врати |
| 150 | + - Ледени препядствия |
| 151 | + - Джунгла |
| 152 | +20. Wordle |
| 153 | + - PVP |
| 154 | + - PVE |
| 155 | +21. Triviador |
| 156 | + - Мултиплейър режим |
| 157 | + - Игра срещу AI |
| 158 | +22. Покер |
| 159 | + - Ботове с различни стратегии |
| 160 | + - Автоматичен режим |
| 161 | + - Човек срещу човек |
| 162 | + - Турнир |
| 163 | +23. Code names |
| 164 | + - Срещу, вариант 1 |
| 165 | + - Срещу, вариант 2 |
| 166 | + - Тандем |
| 167 | + |
| 168 | +### Библиотеки |
| 169 | + |
| 170 | +24. Работа с графи |
| 171 | + - GUI |
| 172 | + - Бази от знания |
| 173 | +25. Работа с крайни автомати |
| 174 | + - GUI |
| 175 | + - Вериги на Марков |
| 176 | + |
| 177 | +### AI / ML / Data Science |
| 178 | + |
| 179 | +26. Trading backtesting система |
| 180 | + - Акции |
| 181 | + - Крипто |
| 182 | + - Форекс |
| 183 | + - Опции |
| 184 | +27. Machine Learning |
| 185 | + - Предсказване на възраст/пол/настроение по снимка |
| 186 | + - Сегментиране на потребители/клиенти |
| 187 | + - Откриване на аномалии/измами |
| 188 | + - Засичане на природни бедствия (наводнения, пожари, нефтени разливи или др.) или обекти (облаци, ниви, т.н.) по сателитни снимки |
| 189 | + - Класифициране на ревюта (на хотели, книги, филми или др.) или коментари/постове в соц. мрежи |
| 190 | + - Откриване на медицински заболявания (напр. рак, тумори, паркинсон или др.) |
| 191 | + - E-Mail spam detector |
| 192 | + - Генериране на описания на изображения (image captions) |
| 193 | +28. RAG системи |
| 194 | + - Обобщение на новини и статии от интернет по дадена тема |
| 195 | + - Асистент за пазарни анализи и финансови новини |
| 196 | + - Персонализиран гид за пътувания (събира информация за дестинации, атракции, ресторанти) |
| 197 | + - Асистент за сравнение на продукти и цени от различни онлайн магазини |
| 198 | + - Чатбот за техническа поддръжка (Support Chatbot) |
| 199 | + - Персонализиран асистент за учене |
| 200 | +29. AI-базирани приложения / агентизирани системи |
| 201 | + - Brainrot video generator |
| 202 | + - Video/podcast summarizer |
| 203 | + - AI софтуерен екип |
0 commit comments