22 aug. 2017

Calculatoare: Anul 3 Semestrul 1

Salut lume,

Tot eu, recent intors la insistentele publicului, cu cel mai asteptat articol al lunii (I guess?!) despre "cum e viata in anu' 3" - publicat in special pt cei care nu pot astepta pana pe 2 octombrie 25 septembrie.

Ca sa reduc din suspans: e tot un semestru de coding cu multe teme si o groaza de teste. Lucru la care se mai adauga si competitia tacita dintre profi pt cine are cel mai lung powerpoint; ale dracu' cursuri parca nu tineau doar 3 ore.

Totusi un lucru care m-a enervat anul asta...si pe care nici pana acum n-am reusit sa-l inteleg: de ce toata lumea da teste la curs ?! Nu vad rostul; mai nou cursurile sunt oarecum recapitulative, in ideea ca studentii ar trebui sa cunoasca deja materia (asta daca vor nota ok pe prezente). Dar cum naiba sa inteleg dupa 6 ore de cursuri nush ce balarie explicata prost de un prof / o profa in 5 minute. Daca invat de acasa, nu mai are rost sa vin la curs - daca vin la curs si nu invat, punctajul pe prezenta nu merita efortul.


Si din nou, miracolul de sarbatori a facut sa am 5 teme cu deadline pe ~23 decembrie...fuck this life.


Ok, materiile:


1. APD (Algoritmi Paraleli si Distribuiti)

Curs: Elena Apostol
Laborator: Radu-Ioan Ciobanu


Trupa de la PC, inca un semestru; de data asta prezentand tot felul de algoritmi pt calcul paralel (multithreaded) si distribuit (pe diverse statii/cluster).

Curs: interesant pana la un punct; acopera ceva despre openMP (care se rezuma cam la o singura instructiune) paralelism in Java si mesaje cu openMPI. Plus o groaza de algoritmi scrisi intr-un pseudocod ceva mai bizar, care se vor cere la examen + complexitati. Din ce am auzit, cursul seamana surprinzator de mult cu cel de la seria CC (adica pdf-urile erau aceleasi...). Parerea proprie si personala: se putea aloca mai mult timp si imbunatati tehnica de predare :/
Testele de prezenta sunt destul de dificile uneori.

Laboratorul: am nimerit bine; explicatii bune, punctaj ok, asistent super. Cealalta semigrupa a facut cu o persoana... a very special snowflake :)), acelasi care a scris si exercitiile pt laburi. Seamana cu laboratorul de PA ca nivel de dificultate - insa aici erau ceva mai multe probleme si se foloseau algoritmi care nu erau in curs. Because why not? Urat de debuggat si mult de scris - beware.

Teme:  3. La prima de scris un algoritm si paralelizat cu openMP (aka bagi #pragma omp for peste tot si vezi daca merge), a 2-a in Java si destul de comoda. A 3-a a fost mai lunga: un program care sa ia niste poze, pe urma sa stabileasca un arbore de acoperire pt retea si sa trimita bucati din poza pt procesare (aplicat blur, sharpen, etc.) la fiecare sistem iar la final sa primeasca bucatile inapoi si sa construiasca poza modificata.

La examen: structura de la PC - dat pe numere, 1 subiect de 2 puncte, 1 de un punct si 2 la alegere (fiecare de 1 punct, se puncteaza un singur subiect). De obicei primul exercitiu face diferenta intre trecut si picat...problema apare cand primul subiect iti cere sa scrii un algoritm de 2-3 pagini (problema terminarii), care in curs e prezentat cu 4 idei pe jumatate de slide...Nu-s prea echilibrate foile de examen dar se corecteaza ok...sa zicem. Se cam vedea dupa nota cine si ce numar a avut...




2. EGC (Elemente de Grafica pe Calculator)

Curs: Irina Mocanu (iar!)
Laborator: Gabriel Ivanica


"OupănGele."

Curs: o groaza de teorie si explicata destul de nasol. As always, teste de prezenta...notele variaza intre 2 si 10 (2 pt muritori, 10 pt cei care citeau de acasa si copiau din curs in timpul testului - cu cateva mici exceptii). Am renuntat sa mai merg chiar daca media notelor din curs se aduna la nota din examen...nu merita sa mai stau 3 ore.

// o mica paranteza: in momentul de maxima plictiseala am instantiat un contor... care a ajuns pe la ~193. practic...mi-era teama ca face overflow.

Laboratorul: asta a fost in regula; se poate termina destul de repede dar necesita putina atentie. Sunt niste parti mai tricky (in special la 3D, partea cu camere first person / third person). In mare... trebuie urmarite niste todo-uri.


Temele: 4 teme destul de muncitoresti (contin si bonusuri). Ultima  (cu texturi) a parut ceva mai usoara - avea si punctaj mai mare. Stiu ca era la un moment dat o regula cu maxim 3 teme pe materie...but 'dem rebels. Toate trebuie prezentate in anumite saptamani la laborator (cam atunci se si corecteaza).

Examenul: comod; o foaie cu 6 subiecte, destul de simple - de dedus o matrice de proiectie, de explicat niste algoritmi din curs; lumea incepuse sa plece cu 20 de minute inainte sa se termine. Personal n-am reusit sa invat dupa pdf-urile date...mi se pare prezentata oribil materia - long live wikipedia!

  

3. RL (Retele Locale)

Curs: Mihai Chiroiu
Laborator: Florin Stancu


O materie la care se pica destul de greu daca faci temele, dai testele si mergi la laboratoare. Singura la care nu se cere jumatate din punctaj in examen.


Cursul: am fost doar cand se dadeau testele (niste grile cu intrebari destul de specifice) - scuze :/ Exista o carte dupa care se preda toata materia si dupa care se poate invata...s-ar putea sa merite luata de data asta, o sa explic mai tarziu de ce.


Laboratorul: lung si cam plictisitor; nu e dificil dar sunt multe exercitii repetitive in care trebuie sa configurezi routere si switchuri, bazandu-te pe comenzi adaptate de la problemele anterioare.


Temele...au fost ok; una in Packet Tracer si cealalta de configurat ceva pe linux - gen USO.


Daca nu ma insel a existat si un fel de partial: atat teoretic cat si practic (in zile diferite).


Examenul: open-book, fara nota minima de trecere (conditia e sa fie peste 5 in total); am busit putin examenul asta fiindca ma asteptam la teorie si m-am incapatanat sa nu iau cartea; am pierdut 2 zile din sesiune conspectand cursul ca mai apoi sa vad ca nu-mi folosea teoria respectiva. To be honest...cred ca aveam sansa la o nota mai mare daca stateam sa rezolv laboratoarele si veneam fara materiale la examen...


Singura dificultate aici: se aloca destul de putin timp pt teste in general.


 
4. LFA (Limbaje formale si automate)

    Curs: Lorina Negreanu
    Seminar: Alex Agache
   


    Student: "Poate s1 sa fie stare finala?"
    Asistentu': "uh...stai sa ma gandesc un pic...mi-a dat segmentation fault"



O materie cu expresii regulate, automate deterministe & nedeterministe, masini Turing si alte obscenitati.


Cursul: amplu si cam reusea sa ma piarda de multe ori; din fericire se explicau la seminar (ceva mai ok). Destul de multe demonstratii si unele relativ lungi / matematice; de asemenea exista si niste teme de curs.


Seminarul: cu exercitii legate de ce s-a facut la curs; good enough, am inteles mai bine de aici; se dau niste teste (cred ca 2 au fost?) cu ajutorul carora se stabileste punctajul pe seminar. Desigur fiecare asistent alege cum puncteaza - altii stiu ca scot la tabla; noi am fost mai multi la seminar si strategia asta nu era eficienta considerand limita de 2 ore.


Teme: una singura (de fapt...2 dar una era simpla si nu se puncta...dar totusi se cerea rezolvata). Eh a 2-a era aia faina: in flex cu java sau C(++) trebuia sa construiesti un automat care sa verifice niste lucruri legate de o gramatica (daca limbajul generat e vid, daca contine sirul vid si care sunt neterminalii inutili). Nu-i chiar asa naspa...dar ia ceva pana te inveti cu flex (e cam trantit asa, la curs nu prea s-a vorbit despre asta) si pana structurezi automatul dureaza...


Un mic hint: cititi cu mare atentie ce scrie prin enuntul temei (responsabilul depuncteaza pana si pt formatarea readme-ului).


Examenul: am reusit sa intarzii la examen din motive pe care nu le voi mentiona :)). Anyway, exercitiile sunt ca alea de la seminar ("cum e limbajul L + justificare"; "daca L1 e regulat, demonstrati ca L3 nu este"; + ceva cu lema de pompare pt limbaje independente de context si turing decidabilitate). It's not that bad, dar e o materie la care trebuie invatat binisor. As always, nota poata sa varieze si in functie de cine corecteaza (o sa intelegeti voi asta).







5. CN2 (Calculatoare Numerice 2)

Curs: Decebal Popescu
Laborator: Vlad Ciobanu
N-o sa va mint, am fost nevoit sa invat ceva mai mult decat la CN1.

Cursul: cu prezenta. Parca si seria CC facea cursul cu acelasi prof (ambele serii erau aproximativ sincronizate). Hint: daca aveti posibilitatea sa nu faceti cursul...run you fools. Altfel bad things will happen. De asemenea, cursul cuprinde intrebari pt studenti / studente, multa lume sta de obicei pe randurile din spate din motivul asta.

Laboratorul: in echipe de 2 parca; se dau niste proiecte (verilog) pt care se aloca un nr de saptamani - ultimul a fost mai hardcore, de implementat algoritmul IDEA (criptare + decriptare). Corectarea proiectelor are loc la laborator - se uita asistentul cateva minute peste surse si verifica daca functioneaza. Notele au un mic "zgomot" ca sa zic asa: de exemplu... un proiect functional la care nu a fost implementat un singur subpunct a luat nota mult mai mica decat un altul incomplet care avea si erori la sintetizare.

Temele sunt de fapt problemele alea de care vorbeam mai sus - nu prea le poti termina in timpul laboratorului.

Examenul: o grila cu mai toata materia de la curs - data pe calculator; exprimarea e mai ciudata in grila si e putin diferita de celelalte: adica...uneori sunt 6 raspunsuri corecte din 6, alteori 0 din 6. Alteori 2 raspunsuri par bune dar de fapt 1 e "mai corect" decat celalalt si prin urmare doar 1 e corect. This kind of stuff. Ah...si nu va luati orbeste dupa zvonul ca sunt aceleasi exercitii ca anul trecut...cateva difera; Inainte de sesiune trebuie sa va organizati voi si sa mergeti la un anumit interval sa dati examenul intr-o sala de laborator.





6. Economie

O materie strict de umplutura; chiar nu vad rostul ei in contextul actual - era chiar asa greu sa lase 2-4 ore libere pt studenti?

Ma rog, stiu ca a venit alt profesor dar a fost mai bine decat ma asteptam - destul de comoda din multe puncte de vedere si am ramas cu cate ceva. Kudos.


-----------------
Cred ca asta a fost primul semestru - as zice ca a fost ok pt cei care erau dispusi sa lucreze si sa invete ceva. Revin cu un articol si despre al 2-lea cand imi fac curaj. brb.