This is an old revision of the document!


Test Practic

Sustinerea testului practic presupune acceptarea conditiilor mentionate pe aceasta pagina, precum si acordarea echipei de PA a permisiunii de a colecta date despre activitatea de pe calculatorul de pe care este sustinut testul (de ex. pagini accesate).

Desfăşurare

Testul practic va avea loc sâmbătă, 09 mai 2020, în săptămâna a 12-a de facultate.

Activitatea dureaza 3h 30min (09:30 - 13:00)

  • Prezența online pe MS Teams este necesară incepând cu 09:30. Până la ora 10:00 se vor rezolva diverse aspecte administrative.
    • Trebuie să verificați că vă puteți loga pe
      • moodle
      • teams
    • Linkul pentru concurs va fi postat în dimineața concursului pe forumul dedicat testului practic.
    • Responsabilul asignat semigrupei din care faceți parte va face prezența va face prezența. Asignarea responsabililor va fi publicată aici.
  • Proba propriu-zisă se va desfășura între orele 10:00-13:00.

În orice moment al desfășurării acestei probe, responsabilul poate cere unui student sharescreen sau să solicite alte verificări. Vă rugăm să aveți la îndemână și un act pentru identificare (carnet de student, carte de identitate, pașaport).

Structură

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:

  • Divide et impera
  • Greedy
  • Programare dinamică
  • Backtracking
  • Parcurgeri pe grafuri: DFS, BFS. Sortare topologică
  • Aplicatii DFS: detectare de punti, puncte de articulatie, componente tare conexe (fara componente biconexe)
  • Drumuri minime

Materiale

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 este acceptata preluarea de cod care rezolva, chiar si partial, probleme similare cu cele propuse.

Exemple de surse externe neacceptabile pentru cod: internet, codul altor colegi.

Exemple de surse externe acceptabile: cautarea de idei si algoritmi, preluare de cod pentru folosirea API-ului din limbajul dorit, cod propriu sau oferit de echipa de PA inainte de test.

Ne rezervăm dreptul de a penaliza orice nerespectare a acestor reguli. Toate solutiile trimise vor fi testate impotriva copierii.

Evaluare / Notare

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.

Este obligatoriu să vă creați contul folosind emailul de la faculate (ex. gigel.popescu@stud.acs.upb.ro).

Nerespectarea acestui reguli duce la anularea punctajului pe test.

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.

  1. Exemplu: Popescovici Ion Gheorghe Marian din grupa 325CA va avea contul pe HackerRank: PopescovIG_325CA
  2. Exemplu: Vasile Marian din grupa 321CA va avea contul pe HackerRank: VasileM_321CA

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.

Indicații

Asigurați-vă ca ați rezolvat concursul de simulare TODO în limbajul în care veți coda la test. Limbajele acceptate în cadrul testului sunt C, C++ (11/14) și Java (7/8).

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:

pa/test_practic.1588676895.txt.gz · Last modified: 2020/05/05 14:08 by darius.neatu
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