Reguli generale și notare

Notare

  • pentru absolvirea disciplinei este necesară obținerea a 4.5 puncte (din 10)

Curs (5 puncte)

  • lucrări: 4 lucrări a câte 0.3 puncte, trunchiate la 1 punct – total 1 punct
  • examen final: 4 puncte
  • absolvirea disciplinei este condiționată de obținerea a 1.5 puncte din punctajul aferent cursului (lucrări + examen)
  • fiecare subiect (atât la lucrări, cât și la examen) se punctează cu 0 sau cu 1
    • subiectul este punctat în cazul unei rezolvări complete și corecte
    • Rezolvarea trebuie să fie justificată. Nu se punctează răspunsuri de forma “Da”, “Nu”, “10”. Aceste răspunsuri trebuie urmate de o explicație: “pentru că …”, “întrucât …” etc.
    • un subiect rezolvat incomplet, sau rezolvat complet dar cu precizări incorecte sau greșeli, nu se punctează

Lucrări (1 punct)

Vor exista 4 lucrări la începutul cursurilor 4, 7, 10, 13. Fiecare lucrare cuprinde 3 întrebări de dificultate diferită, punctate identic. Fiecare lucrare valoarează 0.3 puncte (în total 4 * 0.3 puncte = 1.2 puncte, trunchiate la 1 punct). O lucrare durează 10 minute.

Lucrările sunt closed books (fără documentație) și NU se refac (nu sunt lucrări de degrevare de materie).

Se acoperă subiecte din ultimele trei cursuri, astfel:

  • lucrarea 1 – se dă la cursul 4 (11 și 13 martie 2019) – acoperă cursurile 1, 2 și 3
  • lucrarea 2 – se dă la cursul 7 (1 și 3 aprilie 2019) – acoperă cursurile 4, 5 și 6
  • lucrarea 3 – se dă la cursul 10 (22 și 24 aprilie 2019) – acoperă cursurile 7, 8 și 9
  • lucrarea 4 – se dă la cursul 13 (20 și 22 mai 2019) – acoperă cursurile 10, 11 și 12

Întrebările de la lucrările și examenul de SO sunt punctuale, nu sunt întrebări de reprodus. Un răspuns corect la astfel de întrebări este complet, corect, concis și argumentat. Când răspundeți la o întrebare asigurați-vă că ați înțeles întrebarea și controlați răspunsul. Dacă veți scrie ambiguu, incomplet, sau pe ideea “să scriu ceva, poate cine știe”, acel răspuns nu se va puncta. Insistăm pe argumentarea/justificarea răspunsului. Un răspuns nejustificat nu se punctează.

Nu există sesiune de contestații propriu-zisă; dacă sunteți de părere că nu a fost corectată corespunzător lucrarea, trimiteți un e-mail (solicitare de recorectare) către TODO. Cererile de recorectare se vor trimite după publicarea soluțiilor pe wiki, până la data limită anunțată pe lista de discuții. Folosiți subiectul [SO][Lucrare X] Prenume NUME - grupa; de exemplu [SO][Lucrare 1] Andreea POPESCU - 332CA.

Fiecare student participă la lucrare la seria din care face parte. Studenții care refac disciplina pot participa la orice serie. Dacă, din motive obiective și bine întemeiate, nu puteți participa la seria voastră și vreți să veniți la altă serie, trimiteți un e-mail motivat către Elena Mihăilescu cu subiectul [SO][Lucrare X] Prenume NUME - grupa - Participare in alt interval, de exemplu [SO][Lucrare 1] Andreea POPESCU - 332CA - Participare in alt interval.

Examen (4 puncte)

  • Examenul este open-book. Aveți voie la cursuri, cărți, slide-uri și laptop-uri sau tablete fără acces la Internet.
    • Nu este permis accesul cu telefoane mobile. Telefoanele trebuie stinse/trecute pe silent/dezactivate în timpul examenului.
    • Puteți descărca offline cursuri, laboratoare sau alte resurse.
  • Acoperă întreaga materie de curs.
  • Are loc în sesiune.
  • Timp de lucru: 1 oră și jumătate (90 de minute)
  • 11 subiecte de dificultate diferită
    • 5 subiecte a câte 7 puncte; se punctează binar (7 sau 0); se obține punctajul în cazul unui răspuns complet, corect și concis.
    • 5 subiecte a câte 10 puncte; se punctează binar (10 sau 0); se obține punctajul în cazul unui răspuns complet, corect și concis.
    • 1 subiect de 25 de puncte cu subpuncte; fiecare subpunct se punctează binar (punctajul aferent subpunctului sau 0); se obține punctajul în cazul unui răspuns complet, corect și concis.
  • Pe cele 11 subiecte se pot obține 110 puncte. Punctajul se trunchiază la 100 de puncte.
  • Examenul valorează 4 puncte din nota finală a discipline.
  • Un student poate participa la examen o singură dată pe sesiune.
  • În pregătirea examenului recomandăm să parcurgeți subiectele de examen anterioare.
  • Să aveți carnetul de student sau un act de identitate cu poză la intrarea în examen.

Teme de casă (4 puncte + 5 puncte * corelare punctaj)

  • Tema 1 - evaluare a cunoștințelor de C și acomodare cu mediul de dezvoltare, de rezolvare pe Linux si Windows.
  • 3 teme Linux/Windows
  • Tema 5 - bonus, Linux/Windows
  • Fiecare temă valoreaza 1p.
  • În cazul în care temele 2, 3, 4 sau 5 sunt rezolvate pe ambele platforme, fiecare temă este punctată cu maxim 1 punct, punctajele se cumulează și se trunchiază la 1 punct.
    • Punctajul trunchiat va fi corelat cu nota de la curs
    • Formula de calcul este $trunchiat \times \frac{punctaj\_curs}{5}$, unde $0 \le punctaj\_curs \le 5$
    • Exemplu:
      • Dacă un student face 80% din tema 1 pe Linux și 0% din ea pe Windows, va primi 0.8 puncte
      • Dacă un student face 0% din tema 1 pe Linux și 100% din ea pe Windows, va primi 1 punct
      • Dacă un student face 80% din tema 1 pe Linux și 80% din ea pe Windows, va primi 1 punct + $0.6 \times \frac{punctaj\_curs}{5}$
  • Pentru upload-ul temelor folosiți interfața vmchecker
  • Temele au deadline soft și deadline hard:
    • Până la deadline-ul soft temele pot fi trimise și nu vor avea depunctări de întârziere
    • După deadline-ul soft și până în deadline-ul hard, temele vor fi depunctate cu 5% din punctajul maxim pe zi de întârziere
    • După deadline-ul hard, temele nu mai pot fi trimise

Activitate de laborator (1 punct)

  • Pentru fiecare laborator se acordă o notă între 0 și 11.
  • Există 12 laboratoare, un laborator este punctat ca bonus. Punctajul pe laborator se calculează însumând punctajul pe fiecare laborator și împărțind la 11.
  • Task-uri și joc de laborator: 1 punct
  • Punctajul se trunchiaza la 1 punct
  • Încurajăm colaborarea în timpul laboratorului.

Reguli

Teme

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:
    • Nu respectă indicațiile generale.
    • 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 pe lista de SO.
    • În cazul în care ați submis o temă peste altă tema, trimiteți, de asemenea, un e-mail pe lista de SO cu detaliile: user pe vmchecker, tema peste care s-a submis și care trebuie restaurată.

Întârzieri

  • Fiecare temă are termen de rezolvare 14 zile de la data publicării.
  • După expirarea termenului de rezolvare, se depunctează 0.5 pe zi (din 10) timp de 7 zile.
  • După 7 zile de întârzieri nu se mai pot trimite teme.
  • Nu se pot trimite teme pe perioada verii.

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.

Realizarea temelor

  • Tema 1 se va rezolva folosind API-ul C portabil ANSI; Această temă nu face subiectul precizărilor de mai jos.
  • 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).

Trimiterea 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.

Termenul final de trimitere a temelor de SO este 23 Mai 2018, ora 23:55. Dincolo de această dată temele nu vor mai putea fi trimise. Aveți în vedere trimiterea temelor din timp și cu informații complete pentru a fi punctate. Nu vom accepta teme dincolo de această dată, teme care nu au fost trimise pe vmchecker. Pentru partea de teste, temele vor primi punctajul indicat din testarea pe vmchecker; testele picate din motive nelegate de vmchecker nu vor fi punctate.

Termenul este final. Nu vor putea fi trimise teme după această dată. Nu se pot trimite teme pe timpul verii sau pentru sesiuni de restanță/mărire.

Reguli de realizare a temelor

Temele la Sisteme de Operare sunt individuale; cu excepția cazurilor în care se precizează explicit că o temă se poate rezolva în echipă. Asta pentru că temele au ca principal obiectiv ca voi să dobândiți sau să vă aprofundați abilitățile practice. În măsura în care nivelul de colaborare este prea ridicat sau atunci când cereți soluții pe internet, acest obiectiv nu va fi îndeplinit. Fiecare temă este realizată de un student fără a consulta codul sursă al colegilor săi.

Știm că lucrul în echipă este important, dar nu avem mediul pentru a realiza proiecte de echipă la cursul de Sisteme de Operare. Oferim însă, posibilitatea echivalării a până la trei teme de casă pentru activități tehnice suplimentare, care foarte probabil vor include lucru în echipă.

Dacă întâmpinați orice fel de probleme în rezolvarea temei, folosiți lista de discuții, canalul de IRC sau întrebați asistenții la laborator sau titularii la curs. Rolul nostru este să vă ajutăm în rezolvarea acestora. Apelați cu încredere la echipa de SO.

Puteți discuta între voi în limitele bunului simț; adică nu trebuie să-i dictați cuiva rezolvarea, dar puteți să-i oferiți ideea generală. Dacă sunteți cel care este întrebat și oferă explicații, să aveți în vedere redirectarea către listă, canal de IRC, echipa de SO.

Nu este permis să solicitați rezolvarea unei teme pe un site de tip StackExchange, Rent a coder sau altele. Puteți pune întrebări mai generice, dar nu solicitați rezolvarea temei.

Puteți folosi fără probleme cod din laborator, schelete puse la dispoziție de noi. Puteți folosi resurse externe (GitHub, cod open source sau altele), atâta vreme cât acestea nu reprezintă rezolvări evidente ale temei, puse public cu sau fără intenție. Vedeți și paragraful următor.

Nu este permis să publicați soluțiile temelor (nici după încheierea materiei). Dacă găsiți pe GitHub sau în altă parte rezolvări publice de teme, raportați-le pe listă sau privat asistentului de laborator sau titularului de curs. Reiterăm că dacă doriți clarificări pe care le-ați adresa colegilor de ani mai mari, sau pe alte forumuri, StackExchange sau alte surse, folosiți lista de discuții, canalul de IRC și echipa de SO. E cea mai sigură și onestă cale de a rezolva problemele.

Nu este permis să faceți transfer de fișiere între voi. În general, recomandăm să nu urmăriți ecranul unui alt coleg, sau pentru inspirație sau pentru a îl/o ajuta la rezolvare. Evitați testarea unei teme pe un sistem al unui coleg. Pot exista excepții, puteți ajuta pe cineva la troubleshooting, dar să aveți în vedere să nu treacă de la “hai să dăm de cap problemei” la “hai să-ți rezolv tema”. Dar vă recomandăm să folosiți lista de discuții, canalul de IRC sau echipa de SO pentru a pune întrebări.

Penalizare pentru teme copiate

În general, considerăm că măsurile punitive sunt ultimele de luat în considerare. În măsura în care tema este realizată individual, fără aport de cod sursă problematic din exterior, atunci nu este temă copiată.

Noțiunea de temă copiată se referă, fără a fi limitată, la situații precum:

  • două teme care seamănă suficient de mult pentru a putea trage această concluzie;
  • folosirea de cod sursă de pe Internet care este evident soluția la temă;
  • folosirea unor bucăți din codul altui coleg;
  • accesul la codul altui coleg pe durata desfășurării temei;
  • modificarea unei teme existente;
  • urmărirea codului altui coleg;
  • ajutor direct în realizarea temei (altcineva a scris cod sau a dictat codul);
  • altcineva a scris tema (de bună voie, cu plată sau alte beneficii).

Î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. Orice temă submisă până în sesiunea respectivă primește punctaj 0 și imposibilitatea de retransmitere în cadrul anului universitar curent.

Reiterăm faptul că obiectivul nostru nu este și nu va fi penalizarea pentru copiere. Considerăm copierea ca fiind un act neonest care va fi pedepsit dacă are loc. Obiectivul nostru este însă să prevenim copierea; pentru aceasta oferim suportul și resursele echipei în toate formele sale (canal de IRC, listă de discuții, discuții față în față). Vă rugăm să le folosiți cu încredere; credem că o abordare onestă la realizarea temelor va însemna și un câștig de cunoștințe și abilități pentru voi.

Laborator

Laboratorul se desfășoară în sala EG306/EG106.

Se acordă punctaj pe fiecare laborator. 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).

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 16 persoane. Începând cu a treia săptămână se “îngheață” lista de participare în cadrul laboratorului

Studenții care refac disciplina pot participa la orice laborator cât timp există locuri disponibile. La fel ca și pentru ceilați studenți, se “îngheață” lista de participare începând cu a treia săptămână. Împărțirea pe semigrupe este descrisă aici.

Se pot recupera maxim 2 laboratoare (se poate merge la altă semigrupă - în acele laboratoare unde sunt locuri). Un laborator se poate recupera doar în cadrul aceleiași săptămâni (sau interval săptămânal - nu se poate recupera laboratorul 5 în săptămâna a 9-a). Laboratoarele nu se pot recupera retroactiv. Nu se poate recupera în cadrul unei săptămâni de laborator un laborator din săptămâna anterioară.

Activitatea de laborator se desfășoară doar în sala de laborator. Vă încurarajăm să parcurgeți breviarul și exercițiile de laborator acasă. Puteți rezolva exerciții acasă dar va trebui să rezolvați de la zero în laborator.

Joc interactiv

  • La începutul fiecărui laborator va avea loc un joc interactiv.
  • Este necesară parcurgerea textului laboratorului curent pentru participarea activă în cadrul jocului.
  • Detaliile de desfășurare ale jocului sunt descrise mai jos.
Desfășurare joc
  1. Trageți câte un bilet. Formați echipe în funcție de numărul scris pe bilet.
  2. Asistentul vă prezintă întrebarea pe care se bazează jocul.
  3. Discutați cu membrii echipei și scrieți răspunsul pe o foaie. Răspunsul trebuie justificat. Timp: 5-8 minute. Scrieți pe foaie numele fiecărui membru din echipă.
  4. Fiecare echipă își prezintă raspunsul. Urmează o discuție liberă pe tema întrebării.

Karma Points/ Pin-uri

TBA

Restanță/mărire

În sesiunea de restanță/mărire din septembrie și în sesiunea specială din iunie (pentru studenții de anul 4) se poate reface doar examenul. Nu se refac lucrările de curs. Nu se pot trimite teme pe perioada vacanței.

Notele vor fi trecute în catalogul oficial, conform catalogului SO.

La examenele din sesiunea de restanță/mărire din septembrie și în sesiunea specială din iunie pot participa și studenții de anul 4. Studenții de anul 4 pot participa atât la sesiune din luna iunie, cât și la cea din luna septembrie. Pot participa la sesiunea din luna septembrie, dacă în sesiunea din luna iunie nu au obținut punctaj suficient pentru absolvirea disciplinei.

Puteți participa la un singur examen pe parcursul unei sesiuni.

Refacere disciplină

  • În mod implicit, punctajul pe anul universitar 2018-2019 se resetează la 1 octombrie 2019. Dacă nu absolviți materia în cadrul anului universitar 2018-2019, va trebui să o refaceți complet în cadrul anului universitar 2019-2020.
  • Dacă doriți, veți putea păstra punctajul pe componentele de laborator ale materiei (laborator și/sau teme). Nu puteți păstra punctajul pe componentele de curs (lucrări de curs și examenul final).
  • Pentru păstrarea punctajului pe componentele de laborator ale materiei (laborator și/sau teme), va trebui să faceți o cerere scrisă către titularul de curs în primele trei săptămâni ale semestrului 2 din anul universitar 2018-2019, conform modelului. În caz contrar, punctajul din timpul semestrului din anul universitar anterior se va reseta, conform modului implicit.

Refacere disciplină din anii anteriori

  • Punctajul acumulat în cadrul anului universitar 2017-2018 sau alți ani precedenți a fost resetat în mod implicit pe 1 octombrie 2018.
  • Dacă doriți, veți putea păstra punctajul pe componentele de laborator ale materiei (laborator și/sau teme) din timpul semestrului 2 din anul universitar 2017-2018. Nu puteți păstra punctajul pe componentele de curs (lucrări de curs și examenul final).
  • Pentru păstrarea punctajului pe componentele de laborator ale materiei (laborator și/sau teme) pe timpul semestrului 2 din 2017-2018, va trebui să faceți o cerere scrisă către titularul de curs în primele trei săptămâni ale semestrului 2 din anul universitar curent, conform modelului. În caz contrar, punctajul din timpul semestrului din anul universitar anterior se va reseta, conform modului implicit.
  • Regulile și sistemul de notare pentru studenții care refac materia sunt aceleași ca pentru studenții din acest an (lucrări + examen, teme de casă, etc.)
  • Studenții care refac disciplina pot participa la orice interval de laborator cât timp există locuri disponibile. La fel ca și pentru ceilalți studenți, se "îngheață" lista de participare începând cu a treia săptămână.
  • Studenții care refac disciplina pot participa la orice curs, test de curs și dată de examen final, indiferent de seria din care au făcut parte.
so/meta/notare.txt · Last modified: 2019/02/20 23:26 by bogdan.purcareata
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