Sunteți pe pagina 1din 11

Proiecte

Aspecte prioritare privind evaluarea proiectelor ........................................................................... 1 Net ........................................................................................................................................................ 2 Games .................................................................................................................................................. 7 Misc ..................................................................................................................................................... 9

Aspecte prioritare privind evaluarea proiectelor


Desfurarea activitilor: Pentru stabilirea proiectului fiecare student se poate prezenta n ziua de consultaii stabilit n prealabil (vineri, orele 10-13, sala A15), pentru nregistrarea i eventual, precizarea mai detaliata a tematicii. Proiectele se dezvolt n echipe de maxim 2 persoane. Orele de consultaie (ore de proiect) se desfoar conform planificrii stabilite n ziua de joi (la laborator) pentru ziua de vineri a sptmnii curente. Evaluarea proiectului: pentru fiecare proiect se va prezenta programul funcional i o lucrare - referat. respectarea cerinelor temei alese: 25% instalarea, compilarea i funcionarea programului: 10% coninutul proiectului (program i referat): 25% verificarea cunotinelor teoretice legate de realizarea proiectului: 40% Aspecte grave care diminueaz rezultatul evalurii 1. Inexistena unui meniu principal, excepie fac aplicaiile full screen. 2. Lipsa interfeei grafice 3. Interfa grafic confuz, inconsistent 4. Tratarea superficiala a problemei 5. Neacoperirea tuturor specificaiilor prezentate 6. Apariia unei excepii netratate n rularea programului 7. Folosirea de metode nvechite (deprecated) 8. Funcionarea anormala a aplicaiei pentru diverse cazuri 9. Scrierea neclara a codului sursa i lipsa comentariilor 10. ntrebare fr rspuns adecvat 11. Prezentare general urt 12. Lipsa codului surs.

Net
1. Link Spider application Scriei o aplicaie Java cu interfa grafic care primete ntr-un TextField o adres de site i afieaz toate link-urile gsite n acea pagin. Folosii un fir de execuie i furnizai posibilitatea pentru abandon. punei la dispoziie o modalitate de a alege adncimea cutrii. Adncimea maxim s fie nivelul 3; rezultatele cutrii s poat fi salvate ntr-un fiier la vizualizarea i salvarea link-urilor gsite adoptai un mod de reprezentare care evideniaz ierarhie nivelelor (arborescena).

2. Full Link Spider application Scriei o aplicaie Java cu interfa grafic care primete ntr-un TextField o adres de site si afieaz recursiv toate link-urile gsite n acel site. Cutarea link-urilor se face doar de la directorul web curent in jos. Un link spre alt adres se afieaz dar nu se urmrete mai departe. La afiare folosii o reprezentare care indic ierarhia link-urilor. Dotai programul cu posibilitatea salvrii listei de link-uri ntr-un fiier. Folosii un fir de execuie pentru a nu bloca interfaa grafic i implementai abandonul.

3. Image Spider application Scriei o aplicaie Java cu interfa grafic care primete ntr-un TextField sau fiier, o adres de site i afieaz toate imaginile gsite pe ea. Nu folosii pentru ncrcarea fiecrei imagini un fir de execuie plus o conexiune. Creai un vector i apoi ncrcai ntr-un fir de execuie imaginile printr-o singur conexiune la un moment dat. Implementai posibilitatea pentru abandon. n fiier pot fi mai multe link-uri, prelucrai-le secvenial.

4. Image Spider applet Scriei un applet Java cu interfa grafic care primete ntr-un TextField sau fiier, o adres de site i afieaz toate imaginile gsite pe ea. Nu folosii pentru ncrcarea fiecrei imagini un fir de execuie plus o conexiune. Creai un vector i apoi ncrcai ntr-un fir de execuie imaginile printr-o singur conexiune la un moment dat. Implementai posibilitatea pentru abandon. n fiier pot fi mai multe link-uri, prelucrai-le secvenial.

5. Server File Spider Scriei o aplicaie client/server unde clientul este un applet care primete ntr-un TextField o cale i afieaz toate fiierele i directoarele de pe server din aceea locaie sau un mesaj de eroare dac nu exist pe server. Folosii TCP pentru implementare. Furnizai posibilitatea de abandon. Implementai o modalitate de salvare a liste de directoare/fiiere la clint. Aplicaia server are de asemenea interfa grafic i protocoleaz toate accesele i activitile clienilor. Informaiile protocolate despre un client cuprind: a) la conectare: data/ora/minutul/secunda conectrii, adresa client, cererea client, b) la deconectare: data/ora/minutul/secunda deconectrii, adresa client, succesul sau eecul cererii. Aceste informaii se afieaz i se salveaz instantaneu ntr-un fiier log. folosii fire de execuie pe server i pe client.

6. Client/Server BigCalculator Scriei o aplicaie Java client/server care simuleaz un calculator rudimentar pentru numere mari. Toate operaiile vor fi executate de un server accesat prin TCP. Implementai posibilitatea citirii/scrierii numerelor din/n fiier. Severul este aplicaie iar clientul applet (sau tot aplicaie). Folosii fire de execuie att pe server ct i pe client. Aplicaia server are de asemenea interfa grafic i protocoleaz toate accesele i activitile clienilor. Informaiile protocolate despre un client cuprind: a) la conectare: data/ora/minutul/secunda conectrii, adresa client, cererea client, b) la deconectare: data/ora/minutul/secunda deconectrii, adresa client, succesul sau eecul cererii. Aceste informaii se afieaz i se salveaz instantaneu ntr-un fiier log.

7. Client/Server arithmetic expression calculator Scriei o aplicaie client/server care simuleaz un calculator de expresii aritmetice. Pentru comunicare folosii UDP Ex. (3+1)*5+1. - Punei la dispoziie posibilitatea pentru citirea expresie din fiier. - inei cont i de cazul n care o expresie nu este bine format. - Funciile calculatorului sa nu fie mai puine dect cele oferite de calculatorul din Windows. - Severul este aplicaie iar clientul applet (sau tot aplicaie). - Aplicaia server are de asemenea interfa grafic i protocoleaz toate accesele i activitile clienilor. Informaiile protocolate despre un client cuprind: a) la conectare: data/ora/minutul/secunda conectrii, adresa client, cererea client, b) la deconectare: data/ora/minutul/secunda deconectrii, adresa client, succesul sau eecul cererii. Aceste informaii se afieaz i se salveaz instantaneu ntr-un fiier log. - Folosii fire de execuie att pe server ct i pe client.

8. Clietn/Server TCP Chat Scriei o aplicaie client/server de chat folosind comunicarea prin TCP. Ea va permite comunicarea ntre maxim 2 utilizatori. Un client poate avea ca parametru adresa serverului portul i numele clientului. implementai faciliti pentru: legarea unui utilizator cu altul, tergerea legturii ntre doi utilizatori i pentru terminarea programului. Severul este aplicaie iar clientul tot aplicaie. Pe sever este gestionat lista de utilizatori. Clientul conectat s poat vizualiza i alege din lista de utilizatori. Pentru a comunica cu mai multe persoane deschidei cte o fereastr (sau aplicaie) pentru fiecare. Aplicaia server are de asemenea interfa grafic i protocoleaz toate accesele i activitile clienilor. Informaiile protocolate despre un client cuprind: a) la conectare: data/ora/minutul/secunda conectrii, adresa client, cererea client, b) la deconectare: data/ora/minutul/secunda deconectrii, adresa client, succesul sau eecul cererii. Aceste informaii se afieaz i se salveaz instantaneu ntr-un fiier log. Folosii fire de execuie att pe server ct i pe client.

9. Clietn/Server UDP Chat Scriei o aplicaie client/server de chat folosind comunicarea prin UDP. Ea va permite comunicarea ntre maxim 2 utilizatori. Un client poate avea ca parametru adresa serverului portul i numele clientului. implementai faciliti pentru: legarea unui utilizator cu altul, tergerea legturii ntre doi utilizatori i pentru terminarea programului. Severul este aplicaie iar clientul applet. Pe sever este gestionat lista de utilizatori. Clientul conectat s poat vizualiza i alege din lista de utilizatori. Pentru a comunica cu mai multe persoane deschidei cte o fereastr (sau aplicaie) pentru fiecare. Aplicaia server are de asemenea interfa grafic i protocoleaz toate accesele i activitile clienilor. Informaiile protocolate despre un client cuprind: a) la conectare: data/ora/minutul/secunda conectrii, adresa client, cererea client, b) la deconectare: data/ora/minutul/secunda deconectrii, adresa client, succesul sau eecul cererii. Aceste informaii se afieaz i se salveaz instantaneu ntr-un fiier log. Folosii fire de execuie att pe server ct i pe client.

10. nregistrarea surselor Scriei o aplicaie care va funciona ca un server, ce va primi, prin intermediul unui applet, una din comenzile: add i urmtoarele informaii: numele autorului; coninutul unui fiier sursa java aflat local; un nume asociat sursei respective. Sursa va fi salvat de ctre server intr-un director specificat, intr-un subdirector cu numele autorului, respectiv ntr-un fiier cu numele asociat sursei respective. load i va primi numele autorului i numele unui fiier surs i va afia coninutul fiierului specificat. Att serverul ct i clientul au interfa grafic. Aplicaia server are de asemenea interfa grafic i protocoleaz toate accesele i activitile clienilor. Informaiile protocolate despre un client cuprind: a) la conectare: data/ora/minutul/secunda conectrii, adresa client, cererea client, b) la deconectare: data/ora/minutul/secunda deconectrii, adresa client, rspunsul cererii. Aceste informaii se afieaz i se salveaz instantaneu ntr-un fiier log. Folosii fire de execuie la client i la server pentru ateptarea de rspunsuri. Pentru comunicare putei folosit TCP sau UDP.

11. Rezervare de locuri la hotel (JSP, JDBC) Sa se realizeze o aplicaie de rezervare a locurilor la un hotel folosind pagini JSP. Datele de rezervare se vor stoca intr-o baza de date iar programele JSP vor fi gestionate de serverul de Web i vor comunica cu baza de date folosind un driver JDBC si componente JavaBeans. Clientul va opera prin intermediul unui browser. 12. nchiriere maini (JSP, JDBC) S se realizeze o aplicaie de nchiriere maini folosind pagini JSP. Datele de nchiriere se vor stoca intr-o baza de date iar programele JSP vor fi gestionate de serverul de Web i vor comunica cu baza de date folosind un driver JDBC i componente JavaBeans. Clientul va opera prin intermediul unui browser. 13. Magazin online Sa se realizeze o aplicaie Web pentru cumprturi online dintr-un magazin (de exemplu, o librrie). Se va folosi serverul Web i un server de baze de date. Clientul va opera prin intermediul unui browser. 14. Gestiune conturi (RMI) S se realizeze o aplicaie de gestiune a conturilor unui client al bncii folosind Java RMI. Fiecare client al bncii deine mai multe conturi administrate de serverul bncii. Conturile se memoreaz pe server intr-o forma simpla (ca fiier care conine numrul contului i valoarea disponibila in cont) sau ca o baza de date. Clientul prezint o interfaa grafic (AWT sau Swing) si poate opera modificri n propriile conturi (transferuri, pli ctre ali clieni), dup ce a fost

identificat printr-o parola introdusa printr-un dialog. La client se va implementa si o comanda prin care acesta va obine de la server ntreaga situaie a conturilor sale. 15. Gestiunea stocurilor uni depozit (RMI) S se realizeze o aplicaie de meninere a gestiunii stocurilor unor depozite folosind Java RMI. Stocurile se memoreaz pe server intr-o forma simpla (ca fiier care conine numele produselor si stocul disponibil) sau ca o baza de date. La fiecare depozit se executa un program client (aplicaie Java cu interfa grafica AWT sau Swing) care transmite serverului orice modificare intervenita in depozit (consumul anumitor produse, intrarea unor produse noi). La client se va implementa si o comanda prin care acesta va obine de la server ntreaga situaie a stocurilor (pe ntreaga reea de depozite).

Games
16. Turnurile din Hanoi Scriei o aplicaie Java care s vizualizeze ntr-un mod sugestiv problema turnurilor din Hanoi. Aplicaia s ruleze n dou moduri: modul manual n care utilizatorul mut discurile pe tije; i n modul automat n care calculatorul rezolv problema. Lucrai n modul full screen folosind FullScreen API de la Sun. Punei algoritmul din modul automat ntr-un fir de execuie pentru a nu bloca interfaa. Furnizai pentru modul manual/automat un contor care msoar timpul necesar utilizatorului pentru a rezolva problema. Implementai posibilitatea abandonului. Permitei specificarea numrului de discuri. Insistai asupra reprezentrii grafice, s fie ct mai sugestiv. Setai viteza de lucru n modul automat adecvat percepiei umane. S fie uor sesizabil fiecare micare fcut. Afiai discul mutat i pe drumul fcut n timpul micrii.

17. Bingo Scriei o aplicaie n regim client-server. Serverul ateapt conectarea unor clieni, pornete jocul - trimite clienilor un set de 15 numere, intre 1 si 90, generate aleator, dup care, la intervale regulate de timp, genereaz cte un numr intre 1 si 90 pe care l transmite tuturor clienilor (numrul respectiv nu va mai fi transmis din nou). Fiecare client recepioneaz numerele transmise de server i le compar cu numerele primite iniial. Jocul se termina cnd unul dintre clieni face bingo i transmite aceasta serverului. Serverul trebuie s verifice daca bingo-ul este corect i s reiniializeze jocul sau sa-l continue, n cazul n care nu e corect. Daca un client transmite de 3 ori incorect ca a fcut bingo, acesta va fi exclus din joc. Att clientul ct i serverul au interfa grafic. Clientul poate fi i applet. Aplicaia server are de asemenea interfa grafic i protocoleaz toate accesele i activitile clienilor. Informaiile protocolate despre un client cuprind: a) la conectare: data/ora/minutul/secunda conectrii, adresa client, cererea client, b) la deconectare: data/ora/minutul/secunda deconectrii, adresa client, rspunsul cererii. Aceste informaii se afieaz i se salveaz instantaneu ntr-un fiier log. Folosii fire de execuie la client i la server pentru ateptarea de rspunsuri. Pentru comunicare putei folosit TCP sau UDP.

18. Calul pe tabla de ah Scriei o aplicaie Java care s determine toate modalitile ca un cal s parcurg toate ptratele tabelei de ah de dimensiune NxN (4 <= n <= 20), o singur dat pornind dintr-un ptrat dat. Setarea poziii iniiale a calului se face printr-un clic cu mouse-ul pe ptratul dorit. Nu exist restricii asupra culorilor alese. Lucrai n modul full screen cu Full Screen API. Artai micrile calului pe fiecare drum. Setai viteza de deplasare la un nivel rezonabil sau permitei prin intermediul uni Slider setarea aceasta. Afiai timpul necesar pentru calcul i apoi toate micrile fcute. Salvai micrile i poziie iniial a calului. Extindei problema pentru mai muli cai i asociai fiecrui cal o alt culoare. Atenie s nu se calce.

19. Nu te supara frate 20. Scrable 21. Remi 22. Memory 23. Slider /Puzzle 24. Volei

Misc
25. Afisaj electronic 26. Calendar 27. BigCalculator applet Scriei un applet care simuleaz un calculator de numere mari. Punei la dispoziie posibilitatea pentru citirea/scrierea numerelor mari din/n fiier. Funciile calculatorului sa nu fie mai puine dect cele oferite de calculatorul din Windows.

28. Arithmetic expression calculator applet Scriei un applet care simuleaz un calculator de expresii aritmetice. Ex. (3+1)*5+1. - Punei la dispoziie posibilitatea pentru citirea expresie din fiier. - inei cont i de cazul n care o expresie nu este bine format. - Funciile calculatorului sa nu fie mai puine dect cele oferite de calculatorul din Windows. 29. Calculator Clone Scriei o aplicaie care s poat funciona i ca applet i care reprezint un clon al calculatorului din Windows. - Punei la dispoziie posibilitatea ca toate operaiile executate s fie reinute n form text ntr-un fiier log. - Funciile calculatorului sa nu fie mai puine dect cele oferite de calculatorul din Windows. 30. Notepad Clone Scriei o aplicaie Java care reprezint un clon al Notepad-ului din Windows. - Funcionalitatea aplicaiei s fie cel puin egal cu Notepad. - Folosii fire de execuie pentru a nu bloca interfaa la texte lungi. 31. File Browser Scriei o aplicaie de tip navigator de directoare/fiiere. Din punct de vedere al interfeei grafice s fie asemntor lui Norton Commander sau Total Commander (dou Panel-uri). Aplicaia s permit navigarea prin directoarele discurilor din sistem i s vizualizeze directoarele/fiierele n manier arborescent i list. Furnizai operaiunile standard pe fiiere i directoare, de exemplu: tergere, redenumire, creare, copiere, proprieti, cutare etc. Folosii fire de execuie pentru operaii care pot necesita timp de calul ndelungat. De exemplu: cutarea sau popularea liste de directoare/fiiere. Permitei ntreruperea aciunilor de durat lung.

32. Image Browser Scriei o aplicaie Java de tip browser de imagini car se permit navigarea prin structura de directoare de pe discurile accesibile. Vizualizai fiierele cu extensiile png, jpg, gif. Crearea unor albume (seturi de imagini) cu posibilitatea salvrii/ncrcrii lor. Vizualizarea unui album (slide-show). Folosii fire de execuie pentru a nu bloca interfaa i furnizai opiunea de abandon.

33. SlideShow applet Scriei un applet de tip Slide Show care s permit deschiderea/ncrcarea unui director de imagini. Imaginile s fie derulate pe ecran la un interval de timp variabil, specificat de utilizator. 34. Test gril Scriei o aplicaie Java care s implementeze un sistem pentru teste gril. Ea s permit crearea/ncrcarea unor fiiere cu teste gril. Un test gril este compus din: mai multe ntrebri cu rspuns simplu; variantele posibile de rspuns la fiecare ntrebare; varianta corect i timpul maxim de rspuns la fiecare ntrebare. Permitei lansarea unui test gril cu urmrirea corectitudinii i a timpului pentru rspuns la fiecare ntrebare. Fiierele pot fi n modul text sau octet cu o structur fix aleas de programator. Afiai rezultatul final (1=rspuns corect, 0=lips rspuns, -1=rpsuns greit) Afiai un raport cu ntrebrile i rspunsurile greite/corecte. Raportul s poat fi salvat ca fiier text sau html. Eventual criptai fiierele cu testele pentru a nu permite manipularea datelor. n momentul utilizrii lor n aplicaie ele pot fi decriptate instantaneu prin stream. Pentru fiecare imagine se afieaz i unele proprieti, de exemplu, numele, dimensiunea etc. Folosii un fir de execuie pentru ncrcarea imaginilor nainte de a le vizualiza. Furnizai posibilitatea de abandon.

35. Evidenta angajailor unei companii Scriei o aplicaie Java care s in evidena angajailor unei companii. Informaiile care vor trebui memorate pentru fiecare angajat sunt: cod, nume, salar, data angajrii, adresa, telefon. Codul trebuie sa fie unic pentru fiecare persoana si nu poate fi null. Programul trebuie sa permit: salvarea/ncrcarea angajailor pe/de pe un suport extern; actualizarea angajailor, operaiuni de cutare, listare, ordonare dup oricare din primele patru atribute, tiprire. Punei operaiile costisitoare de timp n fire de execuie. Pentru reprezentarea informailor folosii liste sau tabele.

10

36. Bibliotecar Scriei o aplicaie Java care va implementa o bibliotec de cri. Pentru fiecare carte vor fi memorate informaiile cot, titlu, autor, raft, stare, cititor, unde stare poate avea una din valorile: raft, sala, afara si va descrie locul unde se gsete cartea. Daca o carte nu este in raft va fi reinut cititorul cruia i-a fost mprumutata. Cota unei cri trebuie sa fie unic. Implementai: salvarea/ncrcarea crilor pe/de pe un suport actualizarea bibliotecii, operaiuni de cutare, listare, tiprire pentru cri. Modul de organizare a fiierelor este la atitudinea programatorului. Folosii fire de execuie pentru operaii de durat lung. Eventual realizai o criptare pentru a asigura securitatea informailor. Furnizai posibilitatea salvrii unor rapoarte in format text sau html. extern,

37. Gestionar de CD-uri Scriei o aplicaie Java pentru gestionarea CD-urilor. Aplicaia trebuie s permit: scanarea unui CD i memorarea tuturor fiierelor de pe el; memorarea CD-urilor scanate i a fiierelor coninute pe suport extern, tergerea unui anumit CD (i a fiierelor coninute) din list; operaiuni de listare, respectiv cutare a unui anumit fiier/text; crearea unui document HTML sau text cu coninutul tuturor CD-urilor. Organizarea fiierelor este la atitudinea programatorului. Folosii fire de execuie la citiri complexe i cutri.

38. Gestionar Internet Cafe Scriei o aplicaie pentru gestionarea unui numr de n calculatoare, fiecare avnd doua tarife specificate, reprezentnd costul pe ora pentru navigare Internet, respectiv jocuri. Programul trebuie sa permit: specificarea tarifelor pentru fiecare calculator i salvarea lor intr-un fiier de iniializare, de unde vor fi ncrcate la fiecare lansare, cu posibilitatea modificrii lor; evidena nchirierii fiecrui calculator utilizatorilor; stabilirea cuantumului ce trebuie achitat de un utilizator, n funcie de numrul de minute i de tipul activitii (internet/jocuri); afiarea n permanen a totalului ncasrilor din ziua curent; salvarea totalurilor din fiecare zi pe suport extern. Folosii fire de execuii pentru operaii costisitoare de timp. Implementai generarea de rapoarte sub form text sau html.

39. Gestionar prezent/activitate Scriei o aplicaie Java care va gestiona prezenta si activitatea la laboratoare pentru o mulime de studeni pe o perioada de n sptmni. Fiecare student va fi identificat prin nume, an, grup. Programul va permite introducerea ntr-o maniera facil a prezenei i activitii de la fiecare laborator. Trebuie memorate informaiile: prezena, absena, recuperare, numrul de probleme/exerciii prezentate, bonus pentru soluii deosebite, minus pentru frauda. - Programul va genera un fiier HTML cu situaia curent a prezenei/activitii similar cu acesta. - Principala facilitate a programului trebuie sa fie uurina n exploatare. - Folosii fire de execuii pentru operaii costisitoare de timp.

11

S-ar putea să vă placă și