• Contact
  • Site Map
logo utcluj
Skip navigation
  • Home
  • Site Map
  • Contact
 

Miniproiect

General

Skip navigation
  • Home
  • Publications
  • Site Map
  • Contact
 

Teaching

Skip navigation
  • Image Processing - En
  • Programare Orientata pe Obiecte - Ro
    • Curs
    • Laborator
    • Miniproiect
  • Procesarea Imaginilor - Ro
 

Related Links

Skip navigation
  • ICCP Conference
  • www.scti.ro
  • ASTR Cluj
 
Andrei Vatavu > Teaching > Programare Orientata pe Obiecte - Ro > Miniproiect

Miniproiect

Despre Miniproiect

1. Despre Miniproiect

Miniproiectul trebuie sa reflecte capacitatea de a utiliza practic limbajul Java prin realizarea unui program de-sine-statator sau a unui applet. Timpul alocat pentru realizare trebuie sa fie de maximum 40 ore (inclusiv lucrul în laborator).

 

2. Pasii de urmat pentru realizare

Pasii sugerati în realizare sunt urmatorii:
1. Realizarea unui document de cca. 1 pagina care sa descrie elementele esenţiale ale problemei (document MS-Word).
2. Descoperiţi clasele necesare rezolvarii folosind cartele CRC (Clase Responsabilitaţi
Colaboratori)
3. Realizaţi o diagrama preliminara de clase (d.e. folosind StarUML sau argoUML). Exportaţi diagrama de clase ca şi imagine şi inseraţi-o direct în document.
4. Determinaţi algoritmii fiecărei metode din fiecare clasă. Descrieţi succint algoritmii sau logica aplicaţiei.
5. Implementaţi, depanaţi si testaţi soluţia aleasa.
6. Finalizaţi documentaţia si creaţi un fisier .jar cu cele ce trebuie livrate
7. Împachetaţi documentaţia .doc împreună cu codul sursă si compilat într-un fisier .jar distribuibil.
8. Încercaţi să executaţi aplicaţia pe o altă masină pentru a verifica dacă poate fi distribuit.

 

Documentul şablon pentru scrierea documentaţiei miniproiectului (paşii 1-4 de mai sus).

Sablon miniproiect.doc Sablon miniproiect.doc (356.9 kB)

3. Ce trebuie livrat la susţinerea proiectului.

La susţinerea proiectului trebuie livrat un fisier .jar numit după regula:
<număr_grupa>_<nume_student>_<prenume_student>.jar
unde:
– < număr_grupa> reprezintă numărul grupei. D.e. 3219
– <nume_student> reprezintă numele de familie Dvs. D.e. Ionescu
– <prenume_student> reprezintă prenumele Dvs. D.e. Alexandru
Astfel, studentul Ionescu Alexandru din grupa 3219 va livra rezultatul proiectului in fisierul numit 3219_Ionescu_Alexandru.jar Conţinutul fisierului arhivă .jar:
– pachetul care conţine programul, inclusiv sursele si documentarea generată de javadoc.
– un document creat cu Microsoft Word si salvat în format .rtf/ .doc / .docx etc. care să conţină specificarea temei (ceea ce aţi scris la primul pas de realizare) si diagrama de clase (si diagrame de obiecte, dacă e cazul) pentru program

 

4. Termen de predare

Penultima sau ultima săptămână din semestru.


5. Criterii de evaluare

La evaluare vom urmări următoarele criterii:
– Calitatea si claritatea concepţiei
– Fidelitatea implementării
– Corectitudinea implementării
– Robusteţea implementării
– Complexitatea temei
– Originalitatea ideii
– Calitatea documentaţiei
– Respectarea stilului de programare recomandat

 

 

Sugestii teme miniproiect

1. Simularea operaţiilor pe arbori 2-3 (mai multe detalii aici)
2. Simularea operaţiilor pe arbori AVL - poate fi proiect lucrat în pereche (mai multe detalii aici)
3. Simularea unui lanţ de semafoare coordonate într-un oraş (mai multe detalii aici)
4. Simularea traficului pe un mic aeroport (vedere aeriană) - poate fi proiect lucrat în pereche (mai multe detalii aici)
5. Manevre într-un triaj de cale ferată (vedere aeriană) (mai multe detalii aici)
6. Simularea funcţionării unor circuite numerice (SSI, MSI) - poate fi proiect lucrat în pereche (mai multe detalii aici)
7. Simularea unei competiţii auto pe circuit (vedere aeriană, posibilitate de mărire [zoom]) - poate fi proiect lucrat în pereche
8. Aplicaţie pentru scalarea imaginilor si adnotarea cu text peste imagine (mai multe detalii aici)
9. Simularea căutarilor în grafuri - partea 1 - căutarea în adâncime (mai multe detalii aici)
10. Simularea căutarilor în grafuri - partea 2 - căutarea în lăţime (mai multe detalii aici)
11. Jocul Hammurabi cu dezvoltare şi interfaţă grafică.
12. Deplasarea unui robot într-un labirint - reprezentare 2D cu interfaţă grafică. Imaginea despre lume a robotului trebuie să fi partea cunoscută a labirintului (mai multe detalii aici).
13. Joc Tic-Tac-Toe cu 2 sau mai mulţi jucători (inclusiv un jucător automat) şi interfaţă grafică.
14. Simularea operaţiilor pe liste dublu înlănţuite cu santinelă (mai multe detalii aici)
15. Simularea unui puzzle - proiect lucrat în pereche (mai multe detalii aici)
16, Simularea operaţiilor pe heap (mai multe detalii aici).
17. Simularea funcţionării algoritmului lui Kruskal pe grafuri orientate şi neorientate (mai multe detalii aici).
18. Simularea funcţionării algoritmului lui Prim  pe grafuri orientate şi neorientate. (mai multe detalii aici).
19. Simlulation funcţionării algoritmului lui Floyd-Warshal pe grafuri orientate şi neorientate(mai multe detalii aici).
20. Simularea problemei rucsacului în care se pot pune doar obiecte întregi folosind programarea dinamică (mai multe detalii aici).
21. Simularea construirii şi codificării/decodificării pentru coduri Huffman (mai multe detalii aici).
22. Simularea funcţionării algoritmului de căutare a ciclurilor hamiltoniene în grafuri (mai multe detalii aici). 
23. Simularea funcţionării algoritmului de căutare a ciclurilor euleriene în grafuri (mai multe detalii aici).
24. Simularea aplicării metodei ramifică-şi-limitează (branch and bound) la problema rucsacului în care se pot pune doar obiecte întregi (mai multe detalii aici).
25. Simularea funcţionării algoritmului pentru aflarea celei mai scurte subsecvenţe comune (mai multe detalii aici).
26. Simularea construirii şi funcţionării unui arbore de căutare optimal (proiect lucrat în pereche - mai multe detalii aici).
27. Simularea funcţionării algoritmului de sortare prin interclasare (mai multe detalii aici).
28. Un alt fel de sokoban (mai multe detalii aici).
29. Dezvoltarea unei aplicaţii pe Android, pornind de la cursul online: https://www.udacity.com/course/developing-android-apps--ud853.


Observaţie: Se pot propune si alte teme de miniproiect, la alegere, insă este necesar ca aceste propuneri să aibă un grad de dificultate similar miniproiectelor propuse în lista de mai sus.

UTCN | Formulare | Regulamente si proceduri | Telefoane | Intranet | Cercetare | Contact
© 2023 Technical University of Cluj-Napoca. Computer Science Department.