Nota finală este formată din:
Examen final | 4 puncte; |
Laborator | 6 puncte. |
Pentru a promova materia este necesar să se obțină minimum 50% atât în laborator (minim 3p), cât și în examenul final (minim 2p).
Scopul laboratorului este de a testa abilitățile practice ale studenților și de a fixa cunoștințele predate la curs. Întrucât considerăm că este foarte important ca studenții să se descurce în situații practice, am pus un accent deosebit pe laborator, oferindu-vă posibilitatea de a acumula un bonus de 1 punct peste cele 6 puncte destinate acestei activități.
Astfel, punctajul aferent laboratorului este distribuit după cum urmează:
Teme | 2×1.25 puncte + 2×0.25 puncte bonus |
Proiect | 1 punct + 1 punct bonus |
Test Practic | 1 x 1.5 puncte |
Activitate Laborator | 1 punct |
După cum se poate observa, în timpul anului se poate ajunge la o notă maxima de 7.5 puncte. Deși nota maximă în laborator va fi de 6 puncte, oricine acumulează un punctaj mai mare de 6 puncte, va beneficia de diferența aceasta ca bonus în examen. Totuși, vă atragem atenția că pentru a lua nota 10 la PA, nu este suficient să aveți 7 puncte în laborator și 2,5 puncte în examen, ci este necesar să aveți minim 3 puncte în examen pentru a putea lua nota 10.
La fel ca și în anii anteriori, se poate acorda un bonus suplimentar pentru rezultate bune la concursuri de programare (precum ACM ICPC, ONIS, si altele semnalate de catre voi). Dacă ați participat într-o activitate extra-școlară și ați obținut rezultate foarte bune, contactați-l pe Traian Rebedea pentru a discuta daca puteți primi un bonus. Trebuie menționat că bonusul maxim este de 1.5 puncte, și se poate obține doar în următoarele situații: pentru calificarea la ACM SEERC sau pentru un loc pe podiumul ONIS.
De-a lungul semestrului vor fi propuse 2 teme. Valoarea temelor va fi egala (1.25 puncte / tema).
Limbajele de programare acceptate pentru rezolvarea acestora sunt: C/C++ sau Java. Dacă doriți să rezolvați tema într-un alt limbaj, vă rog să luați legătura cu Traian Rebedea. Dacă el este de acord cu propunerea voastră, puteți rezolva tema în limbajul dorit.
Fiecare temă va avea fixat un termen limită. Temele vor putea fi uploadate pe site și după expirarea acestui termen limită, însă cu o penalizare de 0.5 puncte pe zi (din 10 puncte). Temele trimise cu o întârziere mai mare de 7 zile nu vor fi notate.
Notarea temelor se va face astfel (considerând puntajul maxim pentru o temă a fi 10 puncte):
Dacă vor exista teme care se vor abate de la acest barem generic, acest lucru va fi specificat în enunțul temei.
Pentru a asigura o notare uniformă a temelor, există o singură persoană care este responsabilă de corectarea unei teme la nivelul unei serii. Pentru fiecare temă propusă, se vor specifica responsabilii pentru enunț și corectarea ei în formularea enunțului de pe site.
Toate temele vor fi corectate folosind același set de teste. Pentru a veni în ajutorul vostru și a testa corectitudinea și eficiența implementării temelor, vom folosi vmchecker (http://github.com/vmchecker/vmchecker, http://svn.rosedu.org/vmchecker) pentru fiecare temă, astfel încât orice student să poată avea feedback înainte de trimiterea rezolvării temei. Toate temele vor fi testate automat de către noi folosind vmchecker, dar și prin verificarea codului și citirea readme-ului. Atenție! Chiar dacă treceți toate testele de pe vmchecker, nu înseamnă că veți lua nota 10 dacă nu acumulați și cele 2 puncte pentru comentarii, readme, claritate și lizibilitate cod.
Configurația mașinii virtuale de pe vmchecker poate fi inspectata aici.
Încercările de copiere se punctează cu -1.25 (se penalizează toți participanții la procesul de fraudare cu punctajul maxim ce poate fi obţinut pentru tema respectivă). Prin copiere se înțelege preluarea unei secvențe de cod, de la alt student, sau dintr-o altă sursă, și prezentarea acesteia drept realizare proprie, în formă integrală sau modificată.
În cazul împrumutului de idei, vă rugăm să treceți, la sfârșitul fișierului README, aferent temei, în secțiunea Referințe, elementele preluate, alături de sursele utilizate. Acestea din urmă pot fi proprii colegi, cărți, articole de pe internet etc.
De asemeni, dorim să descurajăm generarea automată a temelor folosind modele bazate pe inteligență artificială. Astfel, dacă folosiți aceste modele dar documentați detaliat maniera în care le-ați folosit în Readme (ex: cum ați interacționat, ce prompt-uri ați folosit) veți primi o penalizare de până la 33% din punctajul temei. Folosirea unui model fară documentarea acestui fapt în Readme atrage penalizarea maximă corespunzătoare unei teme fraudate.
În schimb, este permisă folosirea modelelor pentru realizarea proiectului, fără penalizare, dacă documentați cum le-ați folosit în Readme.
Detaliile despre proiect sunt disponibile pe paginile dedicate acestuia: http://ocw.cs.pub.ro/courses/pa/proiect
Toate informațiile legate de testul practic sunt disponibile pe pagina: https://ocw.cs.pub.ro/courses/pa/test_practic. Veți găsi menționate data testului practic, materiale pe care le puteți folosi, pași pe care trebuie să îi urmați înainte de a veni la test.
Ne dorim ca activitatea de laborator să vă ofere ocazia să vedeți care este utilitatea algoritmilor discutați în cadrul cursului, experimentând rezolvarea unor probleme mai simple, ce pot fi abordate în cadrul unui laborator.
Pentru ca laboratoarele să se desfășoare cât mai bine pentru voi, este recomandat să citiți materialele de laborator măcar o data înainte de ora de laborator. Dacă aveți întrebări sau observații legate de conținutul vreunui laborator, vă rugăm să îl contactați pe Darius Neațu sau/și pe asistentul(a) de la semi-grupa voastră.
La fiecare laborator studentul poate obține unul din următoarele punctaje:
Important: Pentru 10 puncte nu este necesar să terminați laboratorul (sau un anumit număr de probleme). Ne interesează să fiți activi, să puneți și să răspundeți la întrebari pe parcursul laboratorului, respectiv să încercați să rezolvați efectiv problemele propuse. Partea practică a laboratorului vă oferă o experiență foarte utilă, atât pentru teme/teste, cât și ulterior în activitatea de programatori.
In cadrul laboratorului, veți găsi instalat atât Windows, cât și Ubuntu. Sperăm ca pentru fiecare sistem de operare să găsiți editoarele și compilatoarele cu care sunteți obișnuiți (puteți alege între C, C++, Python, Java, C# și Haskell).
In laboratorul 0, speram să găsiți alte detalii utile despre PA.
Cărți utile:
Cursuri similare: