This is an old revision of the document!
Testul practic va avea loc sâmbătă, 12 mai 2018, în săptămâna a 12-a de facultate, si va dura maxim 3 ore. Orele vor fi anunțate în săptămâna testului. Pentru a susține testul, trebuie să fiți prezenți în facultate.
Testul 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.
Problemele se vor baza pe materia studiată în cadrul cursului de PA:
Testul este open-book. Cu alte cuvinte aveţi acces la internet / slide-uri / ocw / HackerRank.
NU aveţi voie să folosiţi internetul ca mijloc de comunicare. NU este acceptată preluarea de cod care rezolvă, chiar și parțial, probleme similare cu cele propuse. Exemple de surse externe neacceptate pentru cod: internet, codul altor colegi, cod propriu preexistent testului. Exemple de surse externe acceptate: căutare de idei și algoritmi, preluare de cod pentru folosirea API-ului din limbajul dorit. Ne rezervăm dreptul de a penaliza orice nerespectare a acestor reguli.
Testul practic valorează 1.5 puncte din nota finală.
Fiecare problemă va avea un punctaj între 0 și 50. Nota voastră pe test va fi calculată după formula: (Punctaj_problema_ușoară + Punctaj_problema_medie + Punctaj_problema_grea) / 100. Punctaj_problema_ușoară reprezintă maximul obținut pe cele două probleme ușoare (nu se cumulează punctajul celor două), Punctaj_problema_medie reprezintă maximul obținut pe cele două probleme medii, iar Punctaj_problema_grea reprezintă maximul obținut pe cele două probleme grele. Punctajul maxim este de 1.5 puncte din media finală de la PA.
Dacă nu aveţi cont pe HackerRank, vă sugerăm să vă înregistraţi până la data susținerii testului. De asemenea, din cauza restricției de 16 caractere pentru numele contului, acesta trebuie să aibă următorul format: primele 8 litere din numele de familie (doar prima literă cu majusculă), inițialele primelor 2 prenume cu majusculă, apoi grupa.
Daca aveți deja cont pe HackerRank vă sfătuim să vă faceți unul nou care respectă constrângerile de nume cerute, altfel puteți să modificați numele public al contului existent.
Vi se va da acces la probleme doar dacă sunteți prezenți în laboratoare, accesul extern nefiind posibil.
Asigurați-vă ca ați rezolvat problema Simple-array-sum în limbajul în care veți coda la test. Limbajele acceptate în cadrul testului sunt C++ și Java.
Unele precizări utile legate de submisii se află aici, iar un exemplu de soluție acceptată pentru Hello World puteți găsi aici.
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 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 pregătire vă sfătuim sa rezolvați cât mai multe probleme de infoarena, hackerrank, leetcode si alte platforme cu probleme de algoritmică.
Asigurați-vă ca știți să folosiți structuri de date uzuale puse la dispoziție de limbajul în care veți coda, cum ar fi map, set, lista, etc.
De asemenea vă recomandăm laboratoarele și paginile de pe wiki:
Link-uri teste practice anii anteriori: