Differences

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

Link to this comparison view

pa:test_practic [2021/04/23 10:48]
mihai.grigore0711
pa:test_practic [2023/05/15 14:05] (current)
radu.nichita
Line 8: Line 8:
 === Desfăşurare === === Desfăşurare ===
  
-Primul test practic va avea loc sâmbătă, ​24 aprilie 2021, în săptămâna a 8-a de facultate. ​+Testul ​practic va avea loc **online** ​sâmbătă, ​14 mai 2022, în săptămâna a 10-a de facultate. ​
  
 Activitatea dureaza 3h 10min (09:50 - 13:00) Activitatea dureaza 3h 10min (09:50 - 13:00)
Line 17: Line 17:
         * moodle         * moodle
         * teams          * teams 
-    * Linkul pentru concurs va fi postat în dimineața concursului pe [[https://​curs.upb.ro/​mod/​forum/​view.php?​id=244635 ​| forumul dedicat testului practic]].+    * Linkul pentru concurs va fi postat în dimineața concursului pe [[https://​curs.upb.ro/2021/​mod/​forum/​view.php?​id=210367 ​| forumul dedicat testului practic]].
   * Proba propriu-zisă se va desfășura între orele 10:​00-13:​00.   * Proba propriu-zisă se va desfășura între orele 10:​00-13:​00.
  
Line 26: Line 26:
 === Structură === === Structură ===
  
-Primul test practic va conţine **2** probleme **uşoare**,​ **2** probleme **ușoare-medii** și **2** probleme **medii-grele**.+Testul ​practic va conţine **2** probleme **uşoare**,​ **2** probleme **ușoare-medii** și **2** probleme **medii-grele**.
 Va trebui să rezolvaţi la alegere câte o problemă din fiecare categorie. Va trebui să rezolvaţi la alegere câte o problemă din fiecare categorie.
  
-Problemele se vor baza pe urmatoarele capitole ​studiată ​în cadrul cursului de PA:+Problemele se vor baza pe urmatoarele capitole ​studiate ​în cadrul cursului de PA:
  
-  * **Divide et impera** +  * **Divide et Impera (laborator 1)** 
-  * **Greedy** +  * **Greedy ​(laborator 2)** 
-  * **Programare ​dinamică**+  * **Programare ​Dinamică (laborator 3/4)** 
 +  * **Backtracking (laborator 5)** 
 +  * **Parcurgerea Grafurilor. Aplicatii (laborator 6/7)** 
 +  * **Drumuri Minime (laborator 8/9)**
  
 === Materiale === === Materiale ===
Line 39: Line 42:
 Testul este open-book. Aveti acces la slide-urile de curs, laboratoare (ocw.cs.pub.ro/​pa),​ internet. Puteti sa folositi cod pus la dispozitie de echipa de PA sau scris de voi inainte de testul practic, dar NU aveti voie sa preluati cod de pe internet. Testul este open-book. Aveti acces la slide-urile de curs, laboratoare (ocw.cs.pub.ro/​pa),​ internet. Puteti sa folositi cod pus la dispozitie de echipa de PA sau scris de voi inainte de testul practic, dar NU aveti voie sa preluati cod de pe internet.
  
-NU aveţi voie să folosiţi internetul ca mijloc de comunicare, aceasta insemnand ca nu este permis sa puneti intrebari pe siteuri ​precum stackoverflow sau sa intrati pe Hangouts, Facebook Messenger, Google Docs, mail etc. Orice abatere de la aceasta regula, observata in timpul testului, va duce la anularea testului pentru persoana in cauza.+NU aveţi voie să folosiţi internetul ca mijloc de comunicare, aceasta insemnand ca nu este permis sa puneti intrebari pe site-uri ​precum stackoverflow sau sa intrati pe Hangouts, Facebook Messenger, Google Docs, mail etc. Orice abatere de la aceasta regula, observata in timpul testului, va duce la anularea testului pentru persoana in cauza.
  
 NU este acceptata preluarea de cod care rezolva, chiar si partial, probleme similare cu cele propuse. NU este acceptata preluarea de cod care rezolva, chiar si partial, probleme similare cu cele propuse.
Line 51: Line 54:
 === Evaluare / Notare === === Evaluare / Notare ===
  
-Primul test practic valorează **1.25 puncte** din nota finală.+Testul ​practic valorează **1.puncte** din nota finală.
  
 Evaluarea şi notarea se vor face în mod automat folosind platforma [[https://​www.hackerrank.com|HackerRank]]. Evaluarea şi notarea se vor face în mod automat folosind platforma [[https://​www.hackerrank.com|HackerRank]].
  
 <note warning> <note warning>
-Creati-va contul pe Hackerrank inainte de testul practic, nu veti vrea sa pierdeti timp atunci. Este obligatoriu sa va creati contul folosind emailul de la facultate (ex. gigel.popescu@stud.acs.upb.ro). In cazul in care aveti deja cont pe Hackerrank, il puteti folosi pe acela. In ambele cazuri totusi, va rugam sa va asigurati ca folositi adresa de upb in campul "​University email" la inscrierea pentru test.+Creati-va contul pe Hackerrank inainte de testul practic, nu veti vrea sa pierdeti timp atunci. Este obligatoriu sa va creati contul folosind emailul de la facultate (ex. gigel.popescu@stud.acs.upb.ro). In cazul in care aveti deja cont pe Hackerrank, il puteti folosi pe acela. In ambele cazuri totusi, va rugam sa va asigurati ca folositi adresa de UPB in campul "​University email" la inscrierea pentru test.
  
 Nerespectarea acestui reguli duce la anularea punctajului pe test intrucat copierea punctajelor in catalog se va face automat pe baza adresei voastre de email (aceeasi cu utilizatorul de Moodle). Nerespectarea acestui reguli duce la anularea punctajului pe test intrucat copierea punctajelor in catalog se va face automat pe baza adresei voastre de email (aceeasi cu utilizatorul de Moodle).
Line 81: Line 84:
 === Test practic de recuperare === === Test practic de recuperare ===
  
-In cazul in care, din motive serioase, nu puteti participa la primul test practic principal (sambata ​24 aprilie), puteti alege sa sustineti un test practic de recuperare, ​cu o zi inaintea celui principal ​(vineri, 23 aprilie). Testul se desfasoara intre orele 08:50 - 12:00, iar formatul este identic cu cel al testului principal. +<​hidden>​ 
-Inainte de a participa la testul de recuperare, este necesar sa anuntati acest lucru printr-un raspuns pe urmatorul thread: https://​curs.upb.ro/​mod/​forum/​discuss.php?​d=68485+In cazul in care, din motive serioase, nu puteti participa la testul ​practic principal (sambata, 14 mai), puteti alege sa sustineti un test practic de recuperare, ​in cursul saptamanii urmatoare ​(16-20 mai). Testul se desfasoara intre orele 08:50 - 12:00, iar formatul este identic cu cel al testului principal. 
 +Inainte de a participa la testul de recuperare, este necesar sa anuntati acest lucru printr-un raspuns pe urmatorul thread: https://​curs.upb.ro/2021/​mod/​forum/​discuss.php?​d=13668 
 +</​hidden>​
  
 === Indicații === === Indicații ===
Line 88: Line 93:
 Problemele pot fi rezolvate direct in browser, pe platforma HackerRank. De asemenea, puteti lucra in IDE-ul dorit si sa copiati codul scris in browser la finalizarea problemei pentru a o testa sau sa uploadati fisierul cu codul. Problemele pot fi rezolvate direct in browser, pe platforma HackerRank. De asemenea, puteti lucra in IDE-ul dorit si sa copiati codul scris in browser la finalizarea problemei pentru a o testa sau sa uploadati fisierul cu codul.
  
-Puteti da **Run** pentru a va verifica solutia voastra pe exemplu (un test mic). De asemenea exista optiunea de a testa pe un custom testcase dat de voi. Pentru testele rulate se va  arata si outputul ​pentru a va putea depana codul mai usor. Outputul ​pe testele mari este trunchiat.+Puteti da **Run** pentru a va verifica solutia voastra pe exemplu (un test mic). De asemenea exista optiunea de a testa pe un custom testcase dat de voi. Pentru testele rulate se va arata si output-ul ​pentru a va putea depana codul mai usor. Output-ul ​pe testele mari este trunchiat.
  
 In cazul in care un test pica, puteti face hover peste rezultat pentru a vedea cauza (wrong answer, time limit exceeded etc). In cazul in care un test pica, puteti face hover peste rezultat pentru a vedea cauza (wrong answer, time limit exceeded etc).
Line 98: Line 103:
 <​note>​ <​note>​
 Pentru acomodarea cu platforma HR, echipa de PA a creat un concurs de simulare, deschis permanent: Pentru acomodarea cu platforma HR, echipa de PA a creat un concurs de simulare, deschis permanent:
-https://hr.gs/practice-pa-2021-1. Punctajul obtinut pe acest test nu influenteaza in niciun fel nota obtinuta la testul de pe 17 aprilie.+www.hackerrank.com/test-practic-practice-2022. Punctajul obtinut pe acest test nu influenteaza in niciun fel nota obtinuta la testul de pe 14 mai.
 De asemenea, vom publica si un scurt tutorial video care sa prezinte platforma HackerRank accesibil la [[https://​cutt.ly/​ACS-PA-demo02-HackerRank | ]]. De asemenea, vom publica si un scurt tutorial video care sa prezinte platforma HackerRank accesibil la [[https://​cutt.ly/​ACS-PA-demo02-HackerRank | ]].
  
Line 111: Line 116:
  
  
-Pentru studentii care vor sa rezolve problemele in Java: am pus la dispozitie in starter code o clasa - MyScanner - pe care recomandam sa o folositi in locul clasei Scanner pentru citirea de la stdin. Aceasta este bazata pe BufferedReader,​ care este mai rapid. Daca folositi Scanner-ul clasic, veti lua TLE (time limit exceeded) la unele teste. Interfata utila pentru test a clasei Scanner apare si in interfata clasei MyScanner. Pentru citirea în Java, vă recomandăm să folosiți BufferedReader cu InputStreamReader. O clasă care face asta și pe care o puteți folosi în timpul testului practic găsiți [[http://​pastebin.com/​XGUjEyMN|aici]],​ folosită pentru a citi un vector de intregi de la  stdin. Clasa oferă o interfață similară cu Scanner, dar este cam de 2 ori mai rapidă decât Scanner. Nu este nevoie să o salvați pentru testul practic, o sa găsiți clasa în scheletul de pe HackerRank, aferent problemelor de la test.+Pentru studentii care vor sa rezolve problemele in Java: am pus la dispozitie in starter code o clasa - MyScanner - pe care recomandam sa o folositi in locul clasei Scanner pentru citirea de la stdin. Aceasta este bazata pe BufferedReader,​ care este mai rapid. Daca folositi Scanner-ul clasic, veti lua TLE (time limit exceeded) la unele teste. Interfata utila pentru test a clasei Scanner apare si in interfata clasei MyScanner. Pentru citirea în Java, vă recomandăm să folosiți BufferedReader cu InputStreamReader. O clasă care face asta și pe care o puteți folosi în timpul testului practic găsiți [[http://​pastebin.com/​XGUjEyMN|aici]],​ folosită pentru a citi un vector de intregi de la  stdin. Clasa oferă o interfață similară cu Scanner, dar este de aproximativ ​2 ori mai rapidă decât Scanner. Nu este nevoie să o salvați pentru testul practic, o sa găsiți clasa în scheletul de pe HackerRank, aferent problemelor de la test.
  
-Limbajele puse la dispozitie pentru rezolvarea testului sunt C,  C++11 / C++14  si Java 7/ 8.+Limbajele puse la dispozitie pentru rezolvarea testului sunt C,  C++11 / C++14  si Java 7 / 8.
 Nu aveti schelet de cod pentru citire, cu exceptia clasei MyScanner pentru Java si a liniei din C++. Nu aveti schelet de cod pentru citire, cu exceptia clasei MyScanner pentru Java si a liniei din C++.
 Nu conteaza coding-style-ul (astfel ca puteti folosi variabile globale de exemplu). Nu e nevoie de comentarii in surse. Folositi timpul avut la dispozitie doar pentru rezolvarea problemelor. Nu conteaza coding-style-ul (astfel ca puteti folosi variabile globale de exemplu). Nu e nevoie de comentarii in surse. Folositi timpul avut la dispozitie doar pentru rezolvarea problemelor.
Line 132: Line 137:
  
 Link-uri teste practice anii anteriori: Link-uri teste practice anii anteriori:
 +  * [[http://​www.hackerrank.com/​test-practic-2022-06318/​challenges/​ | 2022 - varianta 1]]  ​
 +  * [[https://​www.hackerrank.com/​test-practic-recuperare-2022-90528/​challenges | 2022 - varianta 2]]
   * [[http://​hr.gs/​practice-pa-2020-unofficial | 2020 - varianta 1]] (daca link-ul nu mai merge, trimiteti e-mail catre neatudarius@gmail.com).   * [[http://​hr.gs/​practice-pa-2020-unofficial | 2020 - varianta 1]] (daca link-ul nu mai merge, trimiteti e-mail catre neatudarius@gmail.com).
   * [[https://​www.hackerrank.com/​contests/​test-practic-pa-2019-64563/​challenges/​ | 2019 - varianta 1]]   * [[https://​www.hackerrank.com/​contests/​test-practic-pa-2019-64563/​challenges/​ | 2019 - varianta 1]]
pa/test_practic.1619164084.txt.gz · Last modified: 2021/04/23 10:48 by mihai.grigore0711
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