This is an old revision of the document!
Anul I, Semestrul I, Seriile CA + CB + CD
Cursul introduce studenţilor principalele noţiuni, tehnici şi unelte necesare realizării programelor pe calculator, de la cele mai simple, la aplicaţiile complexe, într-o prezentare axată pe limbajul C. Materialul principal al cursului este reprezentat de cartea lui Brian Kernighan şi Dennis Ritchie - “The ANSI C Programming Language”.
În urma parcurgerii tuturor activităţilor oferite de cursul Programare, studenţii vor fi capabili să:
Pentru a putea urmări, înţelege şi aplica cunoştinţele dobândite în cadrul cursului de programare, studentului îi sunt recomandate cunoştinţe anterioare legate de operarea unui PC şi utilizarea de bază a unui sistem de operare (de preferinţă Linux). Aceste cunoştinţe sunt introduse şi aprofundate şi separat în cadrul cursului de Utilizarea Sistemelor de Operare, astfel că pe parcursul semestrului, studentul va deveni mai familiar cu mediul de lucru. Cunoştinţele anterioare legate de programare (în special limbajul C), dobândite în liceu sau prin studiu individual, vor uşura învăţarea şi munca de rezolvare a problemelor, însă conţinutul cursului nu va presupune cunoscută în prealabil nici o noţiune din acest domeniu, oferind şanse egale tuturor studenţilor. Cunoașterea unor elemente de bază de algebră și analiză matematică constituie un avantaj pentru participanții la curs.
Activitățile cu notare pentru PCLP sunt următoarele: Examen final, Test scris, Teme de casă, Activitate de laborator, Teste practice. Se va acorda câte o notă (pe o scară de la 0 la 10) pentru fiecare activitate în parte. Nota finală pentru materia PCLP se calculează în felul următor:
Pentru a promova, vor fi îndeplinite simultan condiţiile:
Toate notele din condiții/formule sunt considerate având un maxim de 10.
În continuare sunt prezentate detalii despre fiecare activitate în parte.
Aceeași regulă se aplică și pentru sesiunea specială de refaceri dedicată studenților din anul 4.
Examenul final se va susţine scris cu toată seria în aceeaşi zi a sesiunii, sau pe baza unei planificări prealabile. Data examenului se va stabili de către studenţi de comun acord cu titularul de curs.
Examenul final se poate reface doar în sesiunea toamnă.
Testul scris se va susţine cu toată seria în acelaşi timp, până în vacanţa de iarnă. Data exactă și formatul acestuia se va stabili la curs cu profesorul titular.
Temele de casă sunt în număr de 3 şi fiecare este notată cu maxim 100 de puncte (ce se echivalează obținerii punctajului maxim, de 10 din 10). Enunţurile acestora vor fi publicate pe site-ul de curs. De asemenea, fiecare temă va avea termenul de predate precizat în enunţ: cu deadline soft și hard; după deadline soft se aplică depunctările menționate în enunțul temei; după deadline hard, nu se mai poate submite tema deloc.
Temele se vor trimite pe site-ul cursului curs.upb.ro folosind contul de student primit la începutul semestrului pentru platformele UPB. Rubrica de trimitere se va găsi în secţiunea cursului de PCLP, la fiecare temă în parte, în săptămâna corespunzătoare.
Nivelul de dificultate al temelelor de casă impune după sine o pondere diferită a celor trei teme de casă, după cum urmează:
Programul general al laboratorului este cel publicat pe pagina principală, pe săptămâni. Laboratorul este obligatoriu, întrucât la fiecare şedinţă se discuta noțiuni menite să consolideze subiectele studiate la curs și se vor rezolva și discuta probleme interesante centrate pe obiectivele cursului. Este recomandat ca fiecare student să parcurgă pe scurt textul acestuia pentru a ușura activitățile din timpul laboratorului și pentru a putea ridica eventuale întrebări de clarificare.
Pentru a facilita interacțiunea între studenți și cadrele didactice, se impune ca fiecare student să participe la activitatea de laborator conform planificării din orar.
Recuperarea unui laborator, prin excepție, se poate face la oricare semigrupă din orar de la aceeași serie, doar cu acordul în prealabil pe e-mail de la asistenți. Recuperarea se poate face doar în aceeași săptămână de laborator, conform programului.
Pentru testarea cunoștințelor practice dobândite în urma laboratoarelor, echipa va organiza teste practice pe platforma HackerRank. Regulamentul general pentru testele practice se găsește la Test practic PCLP . Ponderea fiecărui test în cadrul punctajul atribuit testelor practice va fi anunțată înainte de susținerea acestuia. Specificațiile de pe Test practic PCLP au prioritate.
Criteriile luate în calcul la notarea temei sunt:
Pentru a evita problemele legate de diversele configuraţii de testare a temelor, pentru corectarea şi evaluarea lor se va pune la dispoziţie o maşină virtuală (pe vmchecker-next) în care se vor corecta temele. vmchecker are un environment specific. Dezvoltarea temei de poate face pe orice environment, dar punctajul final pe o temă este cel de pe platforma oficială.
Echipa de PCLP vă pune la dispoziție un VM local. Checkerul a fost testat doar pe mașina virtuală pusă la dispoziție.
Tema trebuie trimisă sub forma unei arhive .zip
(NU .rar, .ace, .arj, .exe sau alte formate) şi trebuie să conţină:
build
și clean
.Arhiva trebuie să conţină doar sursele, fişierul Makefile, README şi eventuale fişiere de test (dacă se cere în enunț). Arhiva NU va conţine fişiere executabile sau obiect.
Numele şi extensiile fişierelor trimise nu trebuie să conţină spaţii sau majuscule, cu excepția fisierului README.
Numele arhivei va fi de forma Grupa_Nume_Prenume_TemaX.zip. Exemplu: 311CA_Popescu_Ion_Tema1.zip
Pentru trimiterea si corectarea temelor vom folosi platforma vmchecker-next.
How to:
Observaţii:
Dacă aţi trimis deja o temă şi doriţi din diverse motive să o trimiteţi din nou, puteţi face acest lucru respectând întocmai protocolul de mai sus. Ultima versiune ajunsă pe site va fi cea luată în considerare la corectare şi condiţiile de punctare vor fi cele din ziua în care aceasta a fost trimisă.
Comunicarea joacă un rol important în informarea şi pregătirea fiecăruia, şi echipa cursului de PCLP este conştientă de acest lucru. Din acest motiv, site-ul cursului pune la dispoziţia studenţilor un forum în care aceştia pot discuta şi pune întrebari legate de temele de casă date spre rezolvare şi a subiectelor de programare ce se pot dezvolta în jurul acestora.
Asistenţii vor sta la dispoziţia studenţilor pentru a le răspunde la nelămuriri legate de enunţul temelor şi laboratoarelor.
În acelaşi timp, cursul promovează reuşitele personale şi vor fi sancţionate, în concordanţă cu regulamentul facultăţii, orice acţiuni de fraudare sau plagiat. Astfel:
Î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:
Î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.
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. 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.
Temele sunt individuale. Lucrările vor fi verificate anti-plagiat. Tema de casă trebuie să fie în întregime rezultatul original al muncii studentului. Sunt interzise: copierea de la colegi (caz în care anularea punctajului se aplică pentru toate persoanele implicate) sau din alte surse a unor părți din rezolvare, prezentarea ca rezultat personal a oricărei bucăți de cod provenită din alte surse necitate sau neaprobate în prealabil (site-uri web, alte persoane, cod generat folosind AI/LLM-uri etc.).
Studenții care repetă materia pot opta pentru păstrarea punctajului pe parcurs sau a punctajului la examen (dupa caz) din anul universitar anterior. Păstrarea punctajului se face doar cu acordul titularului de curs. Studenții vor solicita păstrarea punctajului printr-o cerere scrisă, pe care o vor înmâna titularului de curs în primele două săptămâni de la începerea semestrului (nu vor fi acceptate cereri întârziate sau trimise prin e-mail sau alte mijloace electronice).
Atenție! Păstrarea punctajului pe parcurs nu permite modificarea lui prin acumlarea unor puncte suplimentare în activități pe parcurs din anul universitar curent, dar permite anularea lui dacă se încalcă politica de colaborare.
În speranţa că veţi urma acest curs cu aceeaşi plăcere şi entuziasm cu care a fost realizat, echipa cursului de PCLP vă urează mult succes! :)