Cuprins

Indicații pentru realizarea proiectului de diplomă

Informații complete despre proiectul de diplomă (date, comisii, indicații) găsiți pe wiki-ul Departamentului de Calculatoare.

Pentru înscrierea la proiectul de diplomă trebuie să urmați pașii de aici.

Într-o lucrare de diplomă este important ca studentul să demonstreze înțelegerea literaturii (state-of-the-art = SotA), apoi să aplice tehnologii/metode/abordări pentru a replica ceva din literatura domeniului ales, să dezvolte plecând de la SotA, și apoi să compare/evalueze coerent (folosind aceleași metrici) cu rezultatele din SotA. Rezultatele calitative și/sau cantitative obținute pot fi pozitive sau negative, cel mai important fiind ca explicațiile/motivațiile să fie coerente și relevante în contextul domeniului specific abordat.

Pentru realizarea documentului lucrării de diplomă recomandăm să folosiți template-ul Microsoft Office sau template-ul LaTeX.

Ce este o lucrare bună?

Lucrarea trebuie să fie într-o formă bună, să fie valoroasă, pentru a fi susținută în iulie. Altfel, amânăm pentru susținere în septembrie. Nu este nici o problemă asta; e un lucru bun pentru că veți aduce proiectul și lucrarea într-o formă cât mai bună.

Pentru a fi într-o formă bună, lucrarea trebuie să prezinte foarte bine și convigător motivația, obiectivele şi rezultatele proiectului. Adică răspunsurile la întrebările „De ce?“ și „Ce?“:

  1. De ce este relevant proiectul? (de ce este relevant domeniul proiectului, ce creșteri sau evoluții determină rezolvarea proiectului)
  2. Ce neajunsuri există (pe care proiectul le va rezolva)? (Ce aspecte din domeniul proiectului nu există implementate/dezvoltate? Ce aspecte sunt rezolvate ineficient sau neoptim? Ce aspecte merită îmbunătățite?)
  3. De ce alte proiecte nu le rezolvă? (Ce alte proiecte/abordări/idei sunt dezvoltate? Ce rezolvă fiecare? Ce nu rezolvă și își va propune proiectul curent să rezolve?)
  4. De ce sunt relevante neajunsurile/problemele? (Cum va fi soluționarea lor utilă utilizatorilor? Care vor fi beneficiarii acestei soluții? Cum le va face viața mai bună?)
  5. Ce soluție propui? (Ce propui cu adevărat? Ce abordare/idei propui? - Nu detalierea utilitarelor și a tehnologiilor e importantă, ci abordarea si ideea propusă de autor.)
  6. Ce obții în final? (Care sunt obiectivele proiectului/soluției/abordării/ideii? Care vor fi rezultatele sale (palpabile sau teoretice)? Ce va exista în final ce până acum nu există?)
  7. De ce este soluția propusă (cea) mai bună? (De ce altă abordare/idee nu ar fi mai potrivită?)
  8. Ce diferențiatori are soluția (față de alte soluții comparabile sau cercetări anterioare - open source sau proprietare)? (Cum te compari cu alte soluții? Dacă alte soluții/abordări rezovlă aceeași problemă cum te compari cu ele, ce aduci în plus? Dacă nu există soluții pentru problema curentă, insistă pe problemă și pe faptul că doar tu o soluționezi în modul pe care-l consideri cel mai potrivit.)
  9. Ce cazuri de utilizare sunt avantajoase pentru soluție? (Care sunt scenariile de utilizare în care soluția este relevantă și este folosibilă? De ce în aceste scenarii soluția propusă este superioară altora? - scenariile sunt o întărire a diferențiatorilor)

Observați că este mai puțin important răspunsul la întrebarea „Cum?“. Implementarea e relevantă, dar contează motivația („De ce ?“) rezultatul/obiectivele („Ce?“-ul). Demonstrarea relevanței se face prin evaluarea rezultatelor (cel mai bine să fie comparativă: before/after, comparație cu alte soluții) pe diverse criterii: performanță, spațiu ocupat, memorie folosită, ușurință în utilizare, portabilitate etc. Grafice, tabele, rezultate numerice sunt foarte importante în evaluare pentru a demonstra utilitatea soluției.

În măsura în care proiectul/lucrarea nu răspunde într-un mod convingător la întrebările de forma „De ce?“ și „Ce?“, atunci trebuie să mai lucrați la el pană cand raspundeti satisfăcător la aceste intrebări.

Să aveți în permanență răspunsul la întrebări de forma „De ce?“. Adică să-i fie clar cititorului:
  • De ce este util proiectul tău?
  • De ce este nevoie de funcționalitățile X și Y în proiect?
  • De ce ai ales tehnologia X, Y sau Z?
  • De ce ai luat o anumită decizie de proiectare sau implementare?
  • De ce vorbești despre subiectul X?
  • De ce vorbești despre subiectul X acolo/în acel loc?
  • Cu ce este util subiectul X în cadrul lucrării?
  • Care parte/componentă/atribut al subiectului X este cel mai relevant în cadrul lucrării?

Structură lucrare de diplomă

Lucrarea de diplomă, la fel ca alte lucrări științifice, urmează, de regulă, următoarea structură:

La partea de State of the Art/Background + Related Work + Motivație + Cazuri de utilizare, poate fi avut în vedere următorul plan:

Organizare pe capitole

Înainte de a începe o nouă secțiune sau capitol trebuie să fi anticipat secțiunea/capitolul. Adică, în secțiunile anterioare trebuie să fie prezentat cadrul și motivația prezentării acestui nou capitol: dacă trebuie să vorbesc despre un modul de import dintr-o bază de date în alta, trebuie inainte să precizez de ce este nevoie de asta, la ce este util, în ce context activează. Trebuie ca cititorul să nu fie luat prin suprindere de un capitol nou; acesta trebuie să vină natural și să fie bine motivat, să nu prezentați lucruri doar de dragul de a le prezenta.

Introducere

În capitolul de introducere trebuie să prezentați motivația, obiectivele și o scurtă descriere a proiectului. Trebuie să reiasă cât mai bine la ce este util proiectul. Trebuie să răspundeți la întrebarea „De ce?“. Oricine citește acel capitol trebuie să prindă din primele paragrafe ceea ce ați făcut și să fie convins că este util ceea ce veți prezenta în continuare. În general în introducere veți avea:

În capitolul de început introduceți gradual noțiunile. Un astfel de capitol trebuie să poată fi parcurs și înțeles și de cineva cu o pregătire tehnică redusă.

Stăpânul vostru este cititorul vostru. Documentul trebuie să fie ușor de parcurs și de înțeles. Puneți-vă în pantofii cuiva care nu știe despre ce este vorba, poate un continuator al proiectului vostru – cineva care îl parcurge, e interesat, se uită la capitolul de „Concluzii și dezvoltări ulterioare“ și vrea să îl continue. Trebuie să capete cât mai mult know how din parcurgerea documentului vostru. Gândiți-vă la cititorul vostru. În mod ideal, veți da lucrarea voastră cuiva care nu are legătură cu proiectul și îl/o veți întreba: „Înțelegi ce zic acolo?“

Apare adesea o confuzie legată de „State of the Art“ și „Related Work“. „State of the Art“ se referă, de regulă, la nivelul curent de dezvoltare: care este starea curentă a domeniului, unde ne găsim, care este contextul. „Related Work“ se referă la activități curente, similare abordării noastre, care încearcă să împingă state of the art-ul la următorul nivel. „State of the Art“ se referă la stare/stadiu. „Related Work“ se referă la acțiuni/activități.

Implementare, testare și evaluare

În mod tipic un proiect răspunde la urmatoarele trei cerințe:

  1. să meargă (să existe o funcționalitatea nouă și aceasta să funcționeze, să pornească aplicația, să rezulte ceva din rularea ei)
  2. să meargă corect (conform specificațiilor)
  3. să meargă repede, eficient, scalabil (adică să fie performantă, să fie comparată cu alte soluții disponibile)

Prima cerință (reprezentand funcționalitățile aplicatiei) este prezentă în capitolul/capitolele de „Implementare“. Celelalte două sunt prezente în capitolul/capitolele de „Testare și evaluare“.

Testare înseamnă un test din care rezulta un DA sau un NU, checked sau non-checked, passed sau failed. Adică dacă acele funcționalități au fost implementate corect sau nu.

Evaluarea rezultă în procente, timpi, cantitate, numere. Poate fi vorba de viteză, de overhead, de resurse consumate, de cât de bine scalează pe un număr de procesoare, etc. Aici apar tabele cu procente, rezultate numerice și grafice. În mod obișnuit, aici se fac comparații și teste comparative cu alte proiecte similare (dacă există) și se extrag puncte tari și puncte slabe.

Evaluarea spune cât de bine merge aplicatia. Ții cont de avantajele pe care le-ai menționat și demonstrezi viabilitatea abordării / aplicației, de dorit prin comparație cu alte abordări (dacă acest lucru este posibil). Trebuiesc utilizate niște criterii de evaluare care să demonstreze acest lucru (overhead, memorie ocupată, timp de rulare, ușurință în utilizare etc.). Cuvântul cheie la evaluare este „metrică“: trebuie să aveti noțiuni măsurabile si cuantificabile. Dacă nu numere, măcar niște calificative, intr-o scară valorică. În evaluare, explicați datele, tabelele și graficele pe care le prezentați și insistați pe relevanța lor, in urmatorul stil: „e bine așa pentru că …“; explicați cititorului nu doar datele ci și semnificația lor și cum sunt acestea interpretate. Și din această semnificație și interpretare să rezulte că proiectul vostru este bun, sau care sunt lucrurile ce s-ar putea face pentru a il imbunatati in continuare.

Dezvoltări ulterioare

Cele trei cerințe de mai sus (să meargă, să meargă corect, să meargă repede) constituie punctul de plecare pentru capitolul de „Dezvoltări ulterioare“. Este vorba de trei tipuri de activități ulterioare posibile:

  1. Este utilă o nouă funcționalitate; de implementat.
  2. Unele funcționalități au fost testate și au probleme; există defecte, issues, neajunsuri, buguri care trebuie rezolvate.
  3. În unele scenarii de evaluare performanța este redusă sau se comportă mai slab decât soluții similare; este de dorit să fie rezolvate aceste neajunsuri pentru asigurarea unei performanțe ridicate sau comparabile sau mai bune decât alte soluții.

Concluzii

În capitolul de Concluzii nu discutați despre starea domeniului (state of the art). Se trece la propoziții afirmative despre cele realizate: În acest proiect am realizat, am implementat, am testat, am obținut. Aspecte precise legate de activitatea realizată și de rezultatele obținute. De obicei se cuplează cu „Dezvoltări ulterioare“; din activitățile realizate și rezultatele obținute, se pot extrage idei pentru dezvoltare ulterioară.

În concluzii descrieți în paragrafe: ce ați obținut, ce obiective ați avut, cum este relevant proiectul, ce rezultate ați obținut, cum ați evaluat.

Realizare lucrare de diplomă

Template-uri

Urmăriți indicațiile generale de aici.

Utilitare

Predare lucrare de diplomă

Redactare lucrare de diplomă

Limbă și limbaj

Titulaturi

Număr de pagini lucrare

Citare surse

Figuri, tabele și snippet-uri de cod

Anexe

Organizare idei

Recenzie lucrare

Punctuație

Concretețea exprimării

Formatare

LaTeX

Dimensionare fraze și paragrafe

Verificare anti-copiere

Lucrările sunt verificate anti-copiere. Pentru aceasta conținutul lucrărilor trebuie să fie original. O lucrare având conținut neoriginal (adică paragrafe întregi copiate și necitate) va fi respinsă.

Parcurgeți indicațiile legate de citare.

Niște recomandări legate de etica publicării găsiți aici sau (mai detaliat) aici.

Realizare slide-uri pentru susținere/prezentare

Mindset

Mindset

Este recomdandat să vă organizați prezentare în afara laptopului / PC-ului. Stați undeva pe un scaun, afară, relaxați, cu o foaie și un pix în față. Gândiți-vă cum ați vinde cuiva ideea proiectului vostru, nu vă gândiți la document, nu atât de mult la CUM și CE ați făcut, mai mult pe DE CE e important și CE AM OBȚINUT. Faceți un astfel de plan pe hârtie. Luați o pauza de cel puțin 30 de minute. Iar uitați-vă peste plan? Are sens? E coerent? Are un fir narativ? E digerabil de audiență? E persuasiv? Treceți iar peste el. Apoi iar mai luați o pauză de cel puțin 30 de minute. Apoi iar uitați-vă peste plan. Abia după aceea traduceți astea pe slide-uri.

Doar în faza finală, după ce ideea este coerentă, lucrurile au sens, veți traduce pe slide-uri.

Mindset-ul vostru trebuie să fie unul: să insist la fiecare pas pe DE CE am făcut (motivație, obiective) și CE AM OBȚINUT (rezultate), mai puțin pe CE AM FĂCUT și CUM AM FĂCUT.

Succesiunea ideilor trebuie să fie de la concret la abstract. Arătați întâi ceva concret: use case, un exemplu de rezultat unde vrei să ajungi, o problemă concretă, apoi prezinți ideea (de rezolvare, de proiectare, de investigare). Când prezinți concretul prima oară, audiența va înțelege ce vrei și apoi prezinți ideea ta. În general (pot fi și excepții), ordinea ideilor / slide-urilor este

  1. de ce? (nevoie / utilitate / motivație, scenarii)
  2. ce? (ce urmărim să facem, unde vrem să ajungem obiective)
  3. cum? (cum am făcut, ce pași, arhitectură)
  4. ce a rezultat? (unde suntem, ce avem, ce vrem să mai facem)

Nu trebuie (ba chiar e contra-indicat) să aveți structura slide-urilor similară cu a documentului. Documentul este o informație completă, exhaustivă care poate fi parcursă în orice mod dorește cititorul. Slide-urile (și prezentare) sunt o selecție a ideilor puse într-o formă narativă, o poveste coerentă, cu legătură între slide-uri, care „vând“ audienței în primul rând IDEEA și REZULTATELE proiectului, abia apoi IDEEA DE IMPLEMENTARE sau PRINCIPIILE DE PROIECTARE.

Mindset-ul vostru nu trebuie să fie riguros și profesoral / pedagogic. Nu trebuie (ba chiar e contra-productiv) să insistați pe fiecare detaliu, să explicați fiecare parte tehnică și fiecare decizie; nu trebuie să aveți acoperire până la ultimul nivel de cunoaștere a ceea ce prezentați. Mindset-ul trebuie să fie unul de sales, de pitching, în care prezinți în linii mari idea și insiști pe IMPACT, MOTIVAȚIE, ORIGINALITATE, BENEFICII. Detaliile se găsesc în document. Prezentarea e mai mult un act de vânzare / de persuasiune a ideii proiectului vostru.

Indicații

Template-uri

Dimensionare

Organizare idei în slide-uri

Structură

Aspect

Limbă, limbaj și exprimare

Citare surse

Susținere/Prezentare lucrare de diplomă