This is an old revision of the document!
Reguli generale și notare
Notare
Verificarea, corectarea și punctarea temelor
temele vor fi verificate automat cu ajutorul unor teste publice, teste ce vor acoperi 90% din nota temei
pot exista situații excepționale în care nu se ține cont de această regulă (de exemplu, dacă tema este implementată doar pentru a trece testele și nu respectă cerințele temei)
sistemul de verificare depunctează (automat) anumite situații (segmentation fault, excepții netratate, erori sau warning-uri de compilare) indiferent de rezultatul testelor
10% din nota temei se va acorda după inspectarea codului sursă; se vor face depunctări în următoarele situații:
Makefile incorect sau README necorespunzător
situațiile de buffer overrun, folosirea incorectă de pointeri, neverificarea codurilor de eroare
utilizarea unor metode ce consumă resurse în mod inutil (alocare de memorie, busy waiting)
neeliberarea resurselor folosite (eliberarea memoriei alocate, ștergerea fișierelor temporare, închiderea fișierelor, eliberarea resurselor IPC, așteptarea și terminarea proceselor copil)
Atenție! Nu se va depuncta neeliberarea memoriei alocate dinamic în cazul în care programul s-a terminat cu eroare (datorită macroului DIE sau a unui apel exit(EXIT_FAILURE)
).
situații de deadlock, sincronizări incorecte între procese/thread-uri, race-uri manifestate sau nu
alte situații nespecificate aici, dar considerate inadecvate
temele care nu se compilează sau nu rulează, indiferent de motive, vor primi punctaj 0; folosiți sistemul
vmchecker pentru a verifica compilarea/rularea corespunzătoare a temelor
pentru neclarități sau observații legate de evaluare, trimiteți un e-mail privat asistentului de laborator
în cazul în care ați submis o temă peste altă tema, trimiteți, de asemenea, un e-mail privat asistentului de laborator
Întârzieri
fiecare temă are termen de rezolvare 2 săptămâni de la data publicării
după expirarea termenului de rezolvare, se depunctează 0.25 pe zi (din 10) timp de două săptămâni
după cele două sătămâni de întârzieri nu se mai pot trimite teme
nu se pot trimite teme pe perioada verii
tema 0 are un statut special; fiecare zi de întârziere se penalizează cu 1 punct pe zi (din 10); după 10 zile de la expirarea deadline-ului, tema nu se mai punctează
Lucru în echipă
Din evaluarea efectuată de echipa de SO în cadrul ultimilor ani, tema 5 necesită un efort mai mare decât celelalte teme. Pentru a încuraja rezolvarea acestei teme și colaborarea între studenți, oferim opțiunea ca ultima temă să fie rezolvată la nivelul unei echipe de două persoane. Ea se poate rezolva, în continuare, și individual.
Cei care doresc să rezolve tema 5 la nivelul unei echipe de două persoane sunt rugați să completeze
această pagină.
Pentru editare, autentificați-vă folosind contul de pe cs.curs.pub.ro
Deadline-ul de selecție a echipei este duminică, 1 aprilie, ora 23:59.
Pentru acestă temă, doar unul dintre cei doi coechipieri va uploada tema (prin convenție, persoana care va realiza upload-ul va fi prima în sortare alfabetică a șirului “Nume Prenume” – primul la catalog, cum s-ar spune).
Nu există restricție pentru formarea echipelor: echipele pot fi constituite din studenți de la grupe diferite, serii diferite, studenți cu sau fără restanță etc.
O dată formată, echipa se poate desființa/actualiza doar cu acordul echipei de SO. Pentru aceasta trimiteți-i un e-mail
Irinei.
Punctajul obținut pe temă este punctajul pe care îl va primi fiecare membru al echipei (nu se înjumătățește, nu se distribuie).
Pentru tema rezolvată în echipă sunteți rugați să precizați în README:
cum ați realizat împărțirea task-urilor (pe componente, o persoană Windows / o persoană Linux etc.);
dacă ați avut probleme (tehnice, personale, de comunicare) în colaborare (ce fel de probleme?);
dacă ați folosit un sistem de versionare a codului/repository;
dacă vi s-a părut util lucrul în echipă.
Prezentări de teme
Echipa de SO își rezervă dreptul de a solicita prezentarea unor teme de casă.
Prezentarea înseamnă o discuție cu cel puțin doi asistenți despre realizarea temei, soluția folosită și problemele întâlnite.
Scopul sesiunilor de prezentări de teme este de a clarifica nelămuriri legate de realizarea temei și a verifica corectitudinea realizării acesteia.
Persoanele care vor prezenta o temă de casă vor fi contactate cu cel puțin 24 de ore înainte de asistentul de laborator. Cel mai probabil, se va folosi un slot de 15 minute înainte/după cursul de SO sau în ultima parte a laboratorului propriu de SO.
Laborator
laboratorul se desfășoară în sala EG106
se acordă punctaj pe fiecare laborator
seriile CA/CC: nu are pondere în nota finală (eventual poate avea rol de rotunjire)
-
un laborator va conține exerciții de Linux și/sau Windows (există laboratoare care se vor realiza pe ambele platforme, pe o singură platformă sau pe o platformă la alegere)
pentru fiecare laborator se acordă o notă între 0 și 11
condiția de intrare în examen este prezența activă la cel puțin 8 laboratoare
prezență activă semnifică rezolvarea de exerciții în timpul laboratorului, răspunsul la întrebările asistentului, solicitarea ajutorului, formularea întrebări referitoare la conținutul laboratorului, etc.
încurajăm colaborarea în timpul laboratorului
Workshop
-
notare workshop
testele se vor da în cadrul laboratorului (în primele 7 minute din laboratoarele 2-11)
testul este individual
punctarea testului este condiționată de participarea în cadrul laboratorului
pe parcursul testului nu aveți voie să consultați forme de documentație
testul conține 3 întrebări din laboratorul curent, dar poate conține și întrebări din laboratorul precedent
corectarea testelor se va face de către studenți (fiecare student va corecta testele a doi alți studenți)
corectarea poate fi făcută de oriunde în timpul săptămânii următoare testului (activare în fiecare zi de joi)
puteți corecta teste (assessment phase) doar dacă ați submis răspunsuri (submission phase)
punctarea testelor: 50% reprezintă punctajul obținut pentru răspunsurile date, 50% reprezintă punctajul pentru cum ați corectat
punctarea testelor se va face de către asistenți după ce se termină perioada de corectare de către studenți
nota finală pe workshop poate compensa 50% din punctajul lucrărilor de la curs din timpul semestrului
Fiecare intrebare trebuie punctata cu valori intregi intre 0 si 2 astfel:
Reguli
Desfășurarea laboratorului
grupele se împart în jumătate (câte două semigrupe egale ca dimensiune, sau diferență de cel mult un student)
orice mutare dintr-o semigrupă în altă semigrupă se face cu acordul ambilor asistenți
limita de studenți în cadrul unui laborator este 14 persoane
începând cu a treia săptămână se “îngheață” lista de participare în cadrul laboratorului
se pot recupera maxim 2 laboratoare (se poate merge la altă semigrupă - în acele laboratoare unde sunt locuri)
studenții care au restanță pot participa la orice laborator cât timp există locuri disponibile
Realizarea temelor
-
temele trebuie sa folosească
API-urile specificate la laborator
temele de Unix (Linux) trebuie să folosească
API-ul specific Unix, fără a folosi, de exemplu, funcții oferite de biblioteca Wine
temele de Windows trebuie să folosească
API-ul Win32, prezentat la laborator
nu se acceptă folosirea de funcții MFC, sau funcții POSIX sau funcții din crt (de exemplu nu se acceptă functiile open
, close
, etc; în loc de aceaste funcții trebuie să folosiți funcțiile CreateFile
, ReadFile
).
Reguli de trimitere a temelor
pentru trimiterea temelor folosiți interfața
vmchecker
tema trebuie trimisă ca un fișier .zip
și trebuie sa conțină:
un fișier README
în rădăcina arhivei
un fișier Makefile
în rădăcina arhivei cu următoarele reguli:
build
- compilează tema și generează executabilul; numele executabilului va fi precizat în enunțul temei, la secțiunea Testare
clean
- face curat; nu trebuie să râmâna decăt ceea ce nu poate fi generat din Makefile în urma comenzii make build
(în principiu sursele)
arhiva nu trebuie să conțină decât fișierele sursă (nu se accepta fișiere executabile sau obiect)
dacă arhiva nu respectă specificațiile de mai sus, nu va fi acceptată la upload și tema nu va fi luată în considerare
Reguli împotriva copierii temelor
se consideră copiate două teme care seamănă suficient de mult pentru a putea trage această concluzie
modificarea unei alte teme, asemănarea mai mult sau mai puțin evidentă a implementării, bucăți de cod identice, etc. duc la considerarea temelor în cauză ca fiind copiate
în cazul în care două teme sunt considerate copiate, atât sursa cât și destinația se vor depuncta identic, fără discuții relative la cine a copiat de la cine și a cui e vina
copierea unei teme atrage după sine eliminarea punctajului pe teme;
Restanță/mărire
În sesiunea de restanță/mărire din septembrie se pot trimite doar teme, se poate reface doar examenul final, sau ambele.
Se pot trimite în continuare teme cu deadline-ul și regula de notare din timpul semestrului.
Dacă nu doriți să refaceți examenul final, puteți să nu participați la examen. Notele vor fi trecute în catalogul oficial, conform
catalogului SO.
-
La examenele din sesiunea de restanță/mărire pot participa și studenții de anul 4. Foarte probabil, va fi vorba doar de prima săptămână din cadrul acelei sesiuni, pentru ca apoi să poată participa la sesiunea de licență din septembrie.
Examen restanță/mărire
În sesiunea de restanțe se poate reface
examenul final (pentru
3 puncte).
Nu se refac lucrările de curs.
Puteți trimite teme pe perioada vacanței, cu deadline-ul și regula de notare corespunzătoare semestrului.
Mărire
Restanțieri 2010-2011
Punctajul acumulat în cadrul anului universitar 2010-2011 a fost resetat pe 1 octombrie 2011.
Regulile și sistemul de notare pentru studenții care au restanță în anul universitar 2010-2011 sunt aceleași ca pentru studenții din acest an (condiționarea prezențelor active pentru participarea la examen, lucrări + examen, teme de casă, etc.)
Studentii care nu mai au cont pe cs.curs.pub.ro sunt rugati sa dea un mail cu datele de contact lui Razvan Deaconescu
razvan.deaconescu@cs.pub.ro;