Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pa:regulament-general [2020/05/20 09:35]
stefan.popa2209 [Teme]
pa:regulament-general [2024/03/20 12:35] (current)
radu.iacob [Laborator]
Line 1: Line 1:
-====== Regulament General PA 2020 ======+====== Regulament General PA 2023 ======
  
 ===== Notare ===== ===== Notare =====
Line 16: Line 16:
 Astfel, punctajul aferent laboratorului este distribuit după cum urmează: Astfel, punctajul aferent laboratorului este distribuit după cum urmează:
  
-| Teme | 2.puncte |+| Teme | 2x1.25 puncte ​+ 2x0.25 puncte bonus|
 | Proiect | 2 puncte | | Proiect | 2 puncte |
-| Test Practic | 1.5 puncte |+| Test Practic | 1 x 1.5 puncte |
 | Activitate Laborator | 1 punct | | Activitate Laborator | 1 punct |
  
-După cum se poate observa, în timpul anului se poate ajunge la o notă maxima de 7 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.+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. 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.
 +
 ==== Teme ==== ==== Teme ====
  
Line 30: Line 31:
 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. 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.
  
-Responsabilii de teme sunt: Ștefania Budulan ​și Ștefan Popa.+<​hidden>​Responsabilii de teme sunt: Cristian Pătrașcu ​și Victor Nonea.</​hidden>​
  
 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. 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): Notarea temelor se va face astfel (considerând puntajul maxim pentru o temă a fi 10 puncte):
 +
   * 5 puncte dacă se respectă cerințele temei, adică compilare și execuție fără erori astfel încât să se obțină rezultatele cerute;   * 5 puncte dacă se respectă cerințele temei, adică compilare și execuție fără erori astfel încât să se obțină rezultatele cerute;
   * 3 puncte pentru o implementare eficientă; se depunctează implementările ineficiente din punct de vedere al complexității algoritmului în timp și spațiu consumat;   * 3 puncte pentru o implementare eficientă; se depunctează implementările ineficiente din punct de vedere al complexității algoritmului în timp și spațiu consumat;
-  * 1 punct pentru comentariile din fișierele sursă, menționarea bibliografiei în **README** (dacă este cazul), respectiv conținutul propriu-zis al fișierului **README** (format text);+  * 1 punct pentru comentariile din fișierele sursă, analiza complexității, menționarea bibliografiei în **README** (dacă este cazul), respectiv conținutul propriu-zis al fișierului **README** (format text);
   * 1 punct pentru Coding Style. Restrictiile si depunctarile referitoare la Coding Style, dar si cateva recomandari sau exemple se gasesc {{::​pa::​codingstyle.pdf|aici}} si sunt, pe scurt:   * 1 punct pentru Coding Style. Restrictiile si depunctarile referitoare la Coding Style, dar si cateva recomandari sau exemple se gasesc {{::​pa::​codingstyle.pdf|aici}} si sunt, pe scurt:
     * [-0.2p] linii mai lungi de 80 de caractere (C/C++) sau 100 de caractere (Java)     * [-0.2p] linii mai lungi de 80 de caractere (C/C++) sau 100 de caractere (Java)
Line 48: Line 50:
     * [-0.1p] cod inghesuit     * [-0.1p] cod inghesuit
  
-Dacă vor exista teme care se vor abate de la acest barem generic, acest lucru va fi specificat în enunțul temei.+Dacă vor exista teme care se vor abate de la acest barem generic, ​**acest lucru va fi specificat în enunțul temei**. 
  
-Temele copiate se punctează cu -10 puncte (adică se penalizează toți participanții la procesul de fraudare cu punctajul maxim ce poate fi obţinut pentru tema respectivă). 
    
-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. Responsabilii pentru corectarea temelor sunt:+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.
  
-| |Seria CA|Seria CB|Seria CC| +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 puncte pentru comentarii, readme, claritate și lizibilitate cod.**
-|Tema 1| Adrian Harmasel| Stefan Cosmin Ciocan| Cristian Patrascu| +
-|Tema 2| Ștefan Popa| Andreea Cozuc | Andreea Oltean |+
  
-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 încerca să folosim ​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 temeiToate temele vor fi testate automat ​de către noi folosind vmcheckerdar și prin verificarea codului ​și citirea readme-ului. **Atenție! Chiar dacă treceți toate testele ​de pe vmcheckernu înseamnă că veți lua nota 10 dacă nu acumulați șcele 2 puncte ​pentru ​comentariireadmeclaritate șlizibilitate cod.**+Configurația mașinii virtuale ​de pe vmchecker ​poate fi inspectata ​[[pa:vmchecker_conf|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 codde 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țila 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ț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 proiectuluifără penalizaredacă documentațcum le-ați folosit în Readme.
  
-Modalitatea de utilizare a vmchecker-ului va fi prezentată într-un document ulterior. 
 ==== Tema - proiect ==== ==== Tema - proiect ====
  
 Detaliile despre proiect sunt disponibile pe paginile dedicate acestuia: http://​ocw.cs.pub.ro/​courses/​pa/​proiect Detaliile despre proiect sunt disponibile pe paginile dedicate acestuia: http://​ocw.cs.pub.ro/​courses/​pa/​proiect
- 
-Responsabilii pentru corectarea proiectelor sunt: 
-  * Seria CA: Ștefan Rușeți 
-  * Seria CB: Ștefan Rușeți 
-  * Seria CC: Ștefan Rușeți 
  
 ==== Testul practic ==== ==== Testul practic ====
 +
 Toate informațiile legate de testul practic sunt disponibile pe pagina: https://​ocw.cs.pub.ro/​courses/​pa/​test_practic. ​ 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. 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.
Line 81: Line 84:
  
 La fiecare laborator studentul poate obține unul din următoarele punctaje: La fiecare laborator studentul poate obține unul din următoarele punctaje:
-  * 11 sau 12 (excelent) - a rezolvat toate problemele și a lucrat la bonusurile din secțiunea de aprofundare. +  * 11-13 (bonus) - a rezolvat toate problemele și a lucrat la bonusurile din secțiunea de aprofundare. 
-  * 10 (foarte bine) - a rezolvat (aproape) tot și a depus un efort (să ințeleagă explicațiisă rezolve mai puține probleme, dar corect). +  * 10 - a fost atent și implicat pe toată desfășurarea laboratorului, a rezolvat ​sau înțeles rezolvarea ​majorității problemelor propuse 
-  * 7 sau 8 (bine) - a rezolvat ​aproximativ jumătate de laborator și încercat să ințeleagă/​știe ​rezolvarea ​pentru restul, dar nu a avut timp să se apropie de finalizarea laboratorului. +  * 5 - a avut o implicare minimă pe parcursul laboratorului 
-  * 5 (satisfăcător) ​- a rezolvat corect aproape jumătate de laborator. +  * - a fost absent/nu a participat deloc la activităț
-  * 3 (nesatisfăcător) ​- a încercat ceva, dar nu i-ieșit nimic în final (are hibe în a ințelege elemente de bază despre programare ​sau laboratorul respectiv). + 
-  * 1 (insuficient) - doar a venit la laboratorfără a scrie coddar a fost atent și implicat ​în cadrul explicațiilor.+Important: Pentru 10 puncte nu este necesar să terminați laboratorul (sau un anumit număr de probleme). Ne interesează să fiți activisă 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 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). ​
  
 +<​hidden>​
 **Deoarece în laborator nu sunt decât 12 sisteme funcționale,​ numărul studenților din fiecare semi-grupă este limitat la 16.** Împărțirea studenților dintr-o grupă în semi-grupe se va face alfabetic, dacă nu găsiți altă soluție cu care să fie de acord întreaga grupă. În măsura în care numărul de calculatoare și laptopuri ne permite, echipa de PA își dorește ca laboratoarele sa fie rezolvate individual! Prin acest lucru, **dorim să stimulăm rezolvarea individuală a problemelor de laborator**,​ acest lucru fiind util în special pentru voi întrucât veți căpăta experiența care vă va ajuta la rezolvarea temelor, a problemelor de la examen, precum și a altor probleme întâlnite în facultate sau în viața de zi cu zi. **Utilizarea laptopurilor pentru rezolvarea problemelor de laborator este permisă doar cu acordul asistenţilor,​ iar tentativele de fraudare (laboratoare rezolvate de altcineva sau în afara orelor) vor fi pedepsite!** **Deoarece în laborator nu sunt decât 12 sisteme funcționale,​ numărul studenților din fiecare semi-grupă este limitat la 16.** Împărțirea studenților dintr-o grupă în semi-grupe se va face alfabetic, dacă nu găsiți altă soluție cu care să fie de acord întreaga grupă. În măsura în care numărul de calculatoare și laptopuri ne permite, echipa de PA își dorește ca laboratoarele sa fie rezolvate individual! Prin acest lucru, **dorim să stimulăm rezolvarea individuală a problemelor de laborator**,​ acest lucru fiind util în special pentru voi întrucât veți căpăta experiența care vă va ajuta la rezolvarea temelor, a problemelor de la examen, precum și a altor probleme întâlnite în facultate sau în viața de zi cu zi. **Utilizarea laptopurilor pentru rezolvarea problemelor de laborator este permisă doar cu acordul asistenţilor,​ iar tentativele de fraudare (laboratoare rezolvate de altcineva sau în afara orelor) vor fi pedepsite!**
  
Line 95: Line 99:
  
 În final, vă rugăm să respectați faptul că **punctajul pentru activitate în laborator este folosit pentru a măsura activitatea în timpul orelor de laborator** și nu rezolvarea acestora acasa, după terminarea laboratorului,​ ca în cazul unei teme. Aveți voie însă să citiți laboratoarele și să rezolvați o parte (dar nu toate) din probleme în avans, dacă aveți timp și doriți să faceți acest lucru. În final, vă rugăm să respectați faptul că **punctajul pentru activitate în laborator este folosit pentru a măsura activitatea în timpul orelor de laborator** și nu rezolvarea acestora acasa, după terminarea laboratorului,​ ca în cazul unei teme. Aveți voie însă să citiți laboratoarele și să rezolvați o parte (dar nu toate) din probleme în avans, dacă aveți timp și doriți să faceți acest lucru.
 +</​hidden>​
  
 ===== Alte materiale utile ===== ===== Alte materiale utile =====
Line 106: Line 111:
  
 Cursuri similare: Cursuri similare:
-  * [[http://​ocw.mit.edu/​OcwWeb/Electrical-Engineering-and-Computer-Science/6-046JFall-2005/​CourseHome/|MIT, Introduction to Algorithms]] +  * [[https://​ocw.mit.edu/​courses/6-006-introduction-to-algorithms-fall-2011/|MIT, Introduction to Algorithms]] 
-  * [[https://courseware.stanford.edu/pg/courses/​130711/​cs161-winter-2011|Stanford, Design and Analysis of Algorithms]]+  * [[https://​stanford-cs161.github.io/winter2023/|Stanford, Design and Analysis of Algorithms]]
   * [[https://​www.coursera.org/​course/​algo|Coursera,​ Algorithms: Design and Analysis, Part 1]]   * [[https://​www.coursera.org/​course/​algo|Coursera,​ Algorithms: Design and Analysis, Part 1]]
   * [[https://​www.coursera.org/​course/​algo2|Coursera,​ Algorithms: Design and Analysis, Part 2]]   * [[https://​www.coursera.org/​course/​algo2|Coursera,​ Algorithms: Design and Analysis, Part 2]]
  
 +<​hidden>​
 Schelet de cod pentru laborator în alte limbaje de programare: Schelet de cod pentru laborator în alte limbaje de programare:
   * [[https://​github.com/​laurentiustamate94/​laboratoare-pa-c-sharp|GitHub,​ Schelet de cod în C#]]   * [[https://​github.com/​laurentiustamate94/​laboratoare-pa-c-sharp|GitHub,​ Schelet de cod în C#]]
 +</​hidden>​
 +
 ===== FAQs ===== ===== FAQs =====
  
-  - De ce sunt 7 puncte pentru activitatea din timpul anului ? \\ Pentru că vrem să venim în sprijinul vostru și să ținem cont de abilitățile voastre practice. Cu toate acestea, experiența de anii trecuți ne spune că PA-ul nu este o materie foarte simplă.+  - De ce sunt 7.5 puncte pentru activitatea din timpul anului ? \\ Pentru că vrem să venim în sprijinul vostru și să ținem cont de abilitățile voastre practice. Cu toate acestea, experiența de anii trecuți ne spune că PA-ul nu este o materie foarte simplă.
   - Nu am acumulat 3 puncte în timpul anului. Are sens să mă prezint la examen ? \\ Daca nu ați acumulat 3 puncte în laborator, atunci nu avem voie să vă primim în examen, conform regulamentului facultății.   - Nu am acumulat 3 puncte în timpul anului. Are sens să mă prezint la examen ? \\ Daca nu ați acumulat 3 puncte în laborator, atunci nu avem voie să vă primim în examen, conform regulamentului facultății.
   - Nu am acumulat 3 puncte în timpul anului. Se poate recupera punctajul în timpul verii ? \\ Nu,  trebuie să acumulați punctajul necesar pentru a susține examenul în timpul semestrului.   - Nu am acumulat 3 puncte în timpul anului. Se poate recupera punctajul în timpul verii ? \\ Nu,  trebuie să acumulați punctajul necesar pentru a susține examenul în timpul semestrului.
Line 122: Line 130:
   - Cum vor fi temele verificate că sunt copiate ? \\ În primul rând, vom folosi un software special pentru detecția asemănării codului sursă. În al doilea rând, ne bazăm și pe experiența noastră, ținând cont că o singură persoană va corecta temele pentru o întreagă serie.   - Cum vor fi temele verificate că sunt copiate ? \\ În primul rând, vom folosi un software special pentru detecția asemănării codului sursă. În al doilea rând, ne bazăm și pe experiența noastră, ținând cont că o singură persoană va corecta temele pentru o întreagă serie.
   - Din motive excepționale,​ nu pot face orele cu semi-grupa mea. Ce pot face ? \\ În acest caz, trebuie să trimiteți un e-mail asistentului de la semi-grupa voastră și să îi explicați situația voastră. El vă poate îndruma spre alte semi-grupe unde sunt calculatoare libere şi va contacta şi profesorul de la seria voastră pentru a discuta această mutare.   - Din motive excepționale,​ nu pot face orele cu semi-grupa mea. Ce pot face ? \\ În acest caz, trebuie să trimiteți un e-mail asistentului de la semi-grupa voastră și să îi explicați situația voastră. El vă poate îndruma spre alte semi-grupe unde sunt calculatoare libere şi va contacta şi profesorul de la seria voastră pentru a discuta această mutare.
 +<​hidden>​
   - Dacă sunt restanțier,​ pot să pastrez punctajul pentru activitatea din timpul anului obținut în anii anteriori? \\ Da, pentru mai multe detalii accesați următorul [[https://​acs.curs.pub.ro/​2019/​mod/​page/​view.php?​id=10840|link]]. ​   - Dacă sunt restanțier,​ pot să pastrez punctajul pentru activitatea din timpul anului obținut în anii anteriori? \\ Da, pentru mai multe detalii accesați următorul [[https://​acs.curs.pub.ro/​2019/​mod/​page/​view.php?​id=10840|link]]. ​
 +</​hidden>​
pa/regulament-general.1589956542.txt.gz · Last modified: 2020/05/20 09:35 by stefan.popa2209
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0