|
| 1 | +# Указания за разработка на курсов проект |
| 2 | + |
| 3 | +1. Курсовите проекти са индивидуални. |
| 4 | + |
| 5 | +2. Може да изберете един от предложените проекти или да измислите и предложите собствена идея. Проекти по собствена тема се приемат след предварително одобрение – изпратете предложението си на екипа на курса. |
| 6 | + |
| 7 | +3. Всички курсови проекти трябва да покриват следните общи изисквания: |
| 8 | + - Демонстрират знания и умения за: |
| 9 | + - работа с вход-изход и файлове |
| 10 | + - многонишково програмиране |
| 11 | + - мрежова комуникация. |
| 12 | + - В сървърната част, обработката на клиентските команди и бизнес логиката се извършва отделно от мрежовата комуникация, като решението е многонишково и работи коректно в concurrent среда. |
| 13 | + - Включват unit тестове с поне 50% line code coverage. |
| 14 | + - Осигуряват коректна валидация на входните данни. |
| 15 | + - Имат ясен и добър обектно-ориентиран дизайн. |
| 16 | + - Използват подходящи изключения за коректно докладване и обработка на грешки. |
| 17 | + - Прилагат подходящи структури от данни и ефективни алгоритми. |
| 18 | + - Съдържат четлив и добре структуриран код. |
| 19 | + - Използват единствено Java SE и външни библиотеки и API-та, разглеждани в курса или изрично указани в условието. При необходимост или желание за използване на допълнителни технологии, това следва предварително да се обсъди с екипа на курса. |
| 20 | + - Съдържат кратка техническа документация (README), описваща архитектурата на решението, основните компоненти и начина, по който е организирано concurrent изпълнението и гарантирана коректността му. |
| 21 | + |
| 22 | +### 🤖 Отговорно използване на AI и академична почтеност |
| 23 | + |
| 24 | +Използването на генеративни AI инструменти (напр. GitHub Copilot, ChatGPT и др.) е допустимо като помощно средство в процеса на учене, но не и като заместител на самостоятелното мислене, проектиране и разработка. Всеки студент носи отговорност за разбирането, тестването и аргументирането на кода, който предава. |
| 25 | + |
| 26 | +При използване на AI инструменти това **задължително** следва да бъде ясно и коректно декларирано в документацията на проекта – с описание кои части са генерирани или подпомогнати от AI, с каква цел, и как е проверена тяхната коректност. Изискването важи както за продуктивния код, така и за тестовете. |
| 27 | + |
| 28 | +Положителната оценка на проекта предполага, че съществената част от кода и тестовете е разработена самостоятелно, без AI асистенция. Степента и характерът на използване на AI се вземат предвид при формирането на крайната оценка. |
| 29 | + |
| 30 | +Представянето на заимстван или автоматично генериран код, който не е коректно деклариран, както и невъзможността той да бъде обяснен, защитен или самостоятелно рефакториран по време на защитата, ще се третира като нерегламентирано подпомагане или плагиатство и ще води до санкции съгласно правилата на курса и университета. |
| 31 | + |
| 32 | +Целта на тези изисквания не е да ограничи използването на съвременни инструменти, а да насърчи отговорната им употреба, реалното усвояване на материала и поддържането на високи стандарти на академична почтеност. |
| 33 | + |
| 34 | +# Варианти за теми |
| 35 | + |
| 36 | +| # | Тема | |
| 37 | +|:---|:--------------------------------------------------------- | |
| 38 | +| 1 | [Authentication Server](auth-server.md) | |
| 39 | +| 2 | [Bookmarks Manager](bookmarks.md) | |
| 40 | +| 3 | [Dungeons Online](dungeons.md) | |
| 41 | +| 4 | [Uno](uno.md) | |
| 42 | +| 5 | [Food Analyzer](food-analyzer.md) | |
| 43 | +| 6 | [Split(NotSo)Wise](splitwise.md) | |
| 44 | +| 7 | [Spotify](spotify.md) | |
| 45 | +| 8 | [Torrent Server](torrent.md) | |
| 46 | +| 9 | [Password Vault](password-vault.md) | |
| 47 | +| 10 | [Todoist](todoist.md) | |
| 48 | +| 11 | [Cryptocurrency Wallet Manager](cryptocurrency-wallet.md) | |
| 49 | +| 12 | По ваш избор | |
0 commit comments