Skip to content

Commit 82f9eca

Browse files
committed
Add the course project options and requirements
1 parent 37add52 commit 82f9eca

14 files changed

Lines changed: 1557 additions & 0 deletions

course-projects/README.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
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

Comments
 (0)