19 iul. 2019

Diploma Automatica si Calculatoare

Am facut rost de ea in urma cu cateva zile. Categoric cea mai valoroasa bucata de hartie, considerand ca am dat la schimb 4 ani din viata. si inca 1 pana s-o primesc :))


Calculatoare: Anul 4, Semestrul 2

Deci... da. N-am uitat ca anul 4 avea 2 semestre, dar cu siguranta am stat destul de prost cu timpul si asta probabil s-a vazut si pe aici. Sorry :(

Anyway, am revenit cu ultimul articol legat de anii de licenta ca sa putem toti sa stam linistiti :)

Ca o scurta recapitulare: vorbim despre C1 si, sincer, nu mai tin minte atat de multe desi a trecut numai 1 an :))



1. ISC/TSSC (Introducere in Securitatea Calculatoarelor)

Curs: Mihai Chiroiu
Laborator: Florin Stancu, Emilian Radoi, Mihai Chiroiu (s-au tot schimbat)


(Luata de la C2)

Asta a fost materia mea de suflet. Security, buffer overflowz, cateva chestii despre steganografie, docker, SGX si multe altele - foarte diversificate laboratoarele - unele cam nasol facute tho'. Momentan sunt laborant aici deci poate ne vedem ;)

Cursul... parca era vineri de la 8 si nu eram mare fan - dar cred ca la maxim 2 am am lipsit. Chestii oarecum generice despre tot ce inseamna securitatea - parca s-a facut o prezenta si... cam atat.

Laboratorul: cu dus si intors. In principiu, cand am facut eu se puncta doar implicarea studentului (daca punea ceva efort, avea punctaj). Anul asta (adica la 1 an dupa mine) s-a stabilit ca fiecare exercitiu sa aiba un punctaj anume. Cateva laboratoare sunt mai dificile - destul de grele pt numai 2 ore (de exemplu, cel cu SGX pe care il termina relativ putini). In rest e ok - as zice ca e o atitudine destul de degajata.

Temele... mda. Exista 2 teme - prima e CTF-like: de spart un mesaj criptat cu XOR cu cheie prea scurta, de facut 1 buffer overflow parca si... de inspectat niste trafic prin Wireshark. Posibil sa se mai fi schimbat ceva intre timp dar cam astea sunt. Beware, e posibil sa gasiti tot felul de referinte prin ele. A 2-a tema a fost de descris vulnerabilitatile dintr-un cod sursa dat si cum se pot exploata ele - s-a corectat lejer - totusi nu scrieti bazaconii fiindca alea se depuncteaza.


Examenul: a fost grila din ce-mi amintesc eu - dat pe cs.curs in PR001. Ideal e sa veniti voi cu laptopuri / tablete sau orice e comod pt sustinerea lui. Closed book.



2. EIM (Elemente de Informatica Mobila)
Curs: Dragos Niculescu
Laborator: Radu Stoenescu

Asta a fost mai challenging - e despre Android, WiFi, GPS, SIP & VoIP, comunicatii radio si mijloace de definire a canalelor (CDMA, TDMA, FDMA -- google that) & multe altele. Foarte tehnica, foarte bine predata, foarte bune explicatiile de la curs. Foarte bine pregatit profu' dar si destul de strict - nu e chiar genul de materie pe care si-o doreste lumea in anul 4 cand trebuie sa faca licenta si eventual sa si lucreze.

Overall, e o materie ce implica un anumit efort - de exemplu, am descoperit ca e necesar sa citesti un suport de curs de ~330 de pagini daca vrei sa ai nota buna.

Cursul e oarecum un rezumat al materiei cerute la examen - are mai degraba scop recapitulativ dar explicatiile sunt bune si ajuta destul demult pt a intelege conceptul. In plus, se dau la curs niste biletele cu un cod folosit pt a da, de acasa, niste teste (la fiecare 2-3 cursuri parca). Nu-s obligatorii dar ajuta la nota finala; ca idee, trebuie stiuta materia bine pentru testele alea deoarece au timer si nu prea e timp sa cauti raspunsurile. In plus, anumite intrebari cer chestii foarte specifice.

 La laborator am facut tot felul de aplicatii in Android Studio. E destul de chill fiindca nu se puncteaza - nici macar nu se facea prezenta. Problema e ca... exista 2 colocvii (in fiecare se cere sa faci o anumita aplicatie cu niste functionalitati) si se puncteaza "cu marker-ul"; once again, destul de putin timp si trebuie sa ai minim media 5 (jumatate) ca sa intri in examen.

Exista un test de curs (un fel de partial) si examenul final, ce includ materie predata in timpul semestrului (fara laboratoare). Aceeasi conditie si aici cu minim jumatate (raportandu-ne la medie) - si parca sunt open book ambele, desi asta nu ajuta foarte mult. Cam putin timp, asta a fost singura problema - dar nota maxima era undeva la 11 deci se putea recupera punctaj - desi n-a luat nimeni maxim in testele alea cu bilete.



 3. VLSI 1 (Cautaț voi ce inseamna)
Curs: Decebal Popescu
Laborator: Popescu Decebal

Mno, aici am invatat cum sa facem un procesor fir cu fir. Basically, nu mai exista luxul de la CN-uri cu Verilog ci puneai de mana fiecare componenta si o legai de o alta (see Microwind DSCH). Cam asta se facea la laborator si trebuia prezentat la final.

De la curs nu-mi amintesc prea multe; ceva cu MOS-uri si delay-uri. Am stiut si am uitat. Nu lucrez pe hardware :(

Examenul a fost ok - foarte aglomerat dar erau invitati sa ramana doar cei care voiau mai mult decat nota obtinuta pe parcurs. Prefarabil sa nu invatati doar ce s-a dat in anii anteriori.


Ok, cred ca astea sunt toate. Am mai avut de pregatit proiectul de licenta dar am vorbit in alta parte despre asta. E ultimul semestru si pot zice ca a fost mai chill decat celelalte.



Enjoy si multa bafta la licenta!

13 iul. 2018

Eu, absolvent.

It definitely tried, though.

Bai, se pare ca am terminat si aia 4 ani de licenta... in numai 4 ani :))
Myth busted, I guess. Feels good.

#bal

Da, am fost la bal (@Media Pro/Buftea) - a fost interesant desi mancarea a fost...meh. Si bautura se terminase spre dimineata (+coada la bar). Cam departe totusi si cumva parca n-a meritat 395 de lei daaar... na, o singura data termini facultatea asta. Si o singura data prinzi moshpit la costum cu colegii de serie :))

#licenta



Pe urma asta.
Incepusem sa lucrez la ea de la finalul anului 3 si tot cu cateva ore inainte de deadline am terminat documentatia & sursa finala. Proiectul meu a fost ceva orientat pe research in zona de security & optimizare; practic, un program care modifica niste pixeli din anumite poze astfel incat niste OCR-uri sa nu recunoasca textul dar omul sa poata citi in continuare cu usurinta (un fel de captcha dar fara sa distorsionez caracterele sau sa pierd din lizibilitate).

Nota din licenta pot sa zic ca depinde foarte mult de media anilor si de comisie. Din ce am observat, la comisia la care am picat eu (destul de dificila as zice), era mai ok daca veneai cu proiecte de cercetare. In cazul in care proiectul era orientat catre consumatori obisnuiti apareau intrebari de genul: "ce aduce in plus?", "cu ce e mai bun fata de cele existente?", "ai vorbit cu clientii?", "de ce ar folosi cineva asta?" etc. Cumva... intrebari ce se axeaza mai mult pe potentialul proiectului ca startup.

Cred ca maximul a fost undeva la +1.1 sau +1.2 si in medie cam +0.6. Am aflat pe urma ca alte comisii dadeau direct +1.6 pt chestii gen... programe de chat sau site-uri web.

// pt cei care nu inteleg: "+1" inseamna "media_anilor + 1"  - aka nota acordata lucrarii de licenta.


Long story short, am terminat cu ~8.77 (media pe 4 ani) si 9.75 in licenta -- media generala 9. Am adunat 4 restante (toate date in toamna de dinaintea anului 2) si 2 burse (am ratat o a 3-a din cauza SMP-ului...).
Acceptabil oricum. N-am fost chiar ultima lepra =))


#absolvire



// nici acum nu stiu versurile...

O singura festivitate a fost - cea de la Romexpo - la care au participat toate facultatile din Politehnica.

Concert Voltaj* -> Discursuri -> Gaudeamus Igitur -> Discursuri -> Premierea sefilor de promotie -> Juramant.

// * aparent au o melodie compusa special pt evenimentul asta; the crowd was kinda dead though...

La final aruncarea tocilor pe care trebuia ulterior sa le cautam si sa le ducem inapoi pt ca erau imprumutate de la facultate =)). Ah...si n-au fost destule robe - am fost prea multi absolventi si i-am luat prin surprindere.

La final am ramas doar cu o esarfa. Inca am impresia ca au gresit anul.



As putea spune ca am facut 2 ani in 1. Sesizati? sorry

 -------

# :(

^ parents be like


Grea alegere. Chiar nu mai aveam chef sa mai dau de sesiuni in care sa tocesc sute de pagini de aberatii numai ca sa trec examenele si sa uit pe urma tot. Si totodata nu voiam sa ma bag la un master easy si sa fac management 2 ani. Nu prea-mi placea niciunul dar era infinit mai greu sa le explic parintilor "stiti... n-as mai face si master..." - asa ca am stat cateva zile sa ma gandesc...

Concluzia: m-am dus la SAS (sisteme avansate de securitate) - pe principiul ca niste materii care-mi plac probabil or sa para mai usoare. IA era cealalta optiune dar am auzit ca e mult de tocit si uneori nu-s cele mai relevante informatii. Not my thing :/

Admiterea: grila, alegi 3 subiecte din 8 si la fiecare ai 8 exercitii. Cam prost pusa - e la o saptamana dupa licenta. Trebuie sa iei minim 5 si se face media cu nota cu care ai terminat facultatea. Am ales limbaje de programare, retele locale si sisteme de operare; cateva exercitii au fost mai dubioase dar... 9.50. ez. Se zvoneste ca si subiectul de BD e o alegere ok.



------
Cred ca am acoperit cam tot.

In concluzieee: a fost o experienta faina; actually, au fost mai multe experiente faine :)).
Dar daca as avea ocazia sa reiau... nu stiu daca as alege tot facultatea asta. Feelin' kinda... neutral.

Anyway, probabil o sa continui cu articolele astea de ^@#*& si la master. Yeah, probabil.

12 feb. 2018

Calculatoare: Anul 4, Semestrul 1

Alright... anul 4 - in sfarsit :))

As zice ca anul 4 a fost mai usor in general; au existat cateva teme/proiecte dar nu la nivelul celor din anii anteriori.

Pentru cei care nu stiu, eu am fost la C1 deci... asta o sa fie un articol despre C1 and there's nothing you can do about it. Ironia a facut sa ma razgandesc fix inainte de a alege specializarile - inca din primul semestru al primului an intentionam sa aleg C4 pt ca... inteligenta artificiala si invatare automata - you know, the cool stuff. Asta a fost pana cand facultatea a reusit sa-mi dovedeasca, prin mijloace proprii, ca pot invata mai bine singur, fara sa fiu constrans de examen si fara sa fiu obligat sa memorez pt acel examen o teorie pe care n-o s-o folosesc si pe care probabil o s-o uit imediat dupa. La asta s-a adunat si lipsa de chef de a mai face ceva dupa anul 3. meh...

Ca idee, C1 este despreee... arhitecturi de sisteme de calcul. In general are materii gen CN, CN2, PM. In plus, niste chestii de retelistica, procesare paralela si protocoale de comunicatie mobila + niste coding. Materiile se trec relativ usor dar pt 9-10 tot trebuie depus ceva efort pe parcurs si invatat pt examen.

Las mai jos lista de materii de la C1 (sem 1), profii, parerile si optionalele alese de mine.



1. APP (Arhitecturi si Prelucrari Paralele)

Curs: Nicolae Tapus
Laborator: Emil Slusanschi

Cursul incepe cu tot felul de masini de calcul paralel (cu memorie partajata, cu memorie proprie, procesare de vectori, procesare de masive de date, procesare sistolica, etc. etc. - in general scheme), continua cu cateva formule (speedup, eficienta, Amdahl, Gustafson etc.) si se avanta intr-un capitol destul de dubios numit sisteme de sarcini ce trateaza moduri in care se pot distribui anumite sarcini, care sarcini se pot face in paralel si care nu. Ceva mathy stuff: grafuri, teoreme, demonstratii si inductii. Se face prezenta uneori.

La laborator: in prima jumatate a semestrului se fac exercitii de coding si masurat performante (se ruleaza tot felul de prostii pe cluster) iar in a 2-a se paralelizeaza un proiect gasit pe net si se noteaza performantele. In ultimul laborator se prezinta rezultatele pe proiector si eventual se explica ce si cum.

Examenul: teoria de la curs in prima parte iar in a 2-a, de paralelizat o problema data (fie cu threaduri, fie cu openMP, fie cu MPI). Sper ca-mi amintesc bine.



2. SM (Structuri Multiprocesor)

Curs: Francisc Iacob
Laborator: Bogdan Tiganoaia


Fun fact: s-a intamplat pe la jumatatea semestrului sa inceapa cursul cu numai 2 studenti (eu fiind unul...).

Se vorbeste despre tot felul de metode de a lega unitati de procesare (retele full-mesh, hipercub, de sortare, benes, omega si multe altele pt calcul paralel) iar mai apoi cate ceva despre arhitectura microprocesoarelor, programarea lor, paralelism cu openMP, MPI iar spre final arhitecturi si moduri de routare. Imens cursul (cam 800 de slideuri) dar examenul e open book si se corecteaza ok.

Laboratorul a fost cu parti ceva mai practice; de obicei se dau teme de casa si se prezinta la urmatorul laborator. O tema avea in general 2 exercitii (unul de soft in care se cerea de implementat ceva in C si unul mai de hard cu... Verilog) - pt punctaj maxim trebuia rezolvat 1 singur exercitiu, aveai bonus daca le faceai pe ambele.

Pt examen e oleaca de invatat/inteles ce e pe acolo; multe exercitii sunt in curs dar unele trebuie intelese si adaptate. In general se trece.



3. PR (Proiectarea Retelelor)

Curs: Razvan Rughinis
Laborator: Dan Ciocîrlan / Mihai Chiroiu


Curs fara prezenta si totusi sala era destul de plina; explicatii bune printre care se strecurau si... lectii de viata :)). E un fel de continuare a RL-ului dar axat foarte mult pe algoritmi de routare (OSPF, RIP, BGP) - relativ dificil pana ii intelegi bine.

Laboratorul nu prea mi-a placut; se lucreaza in dynamips (care mai si crapa uneori si trebuia reinceput tot...) folosind o foaie primita la inceput ce continea topologia retelei. Foarte multe exercitii, niciun exemplu si mai nimeni n-avea idee cum se rezolvau. Pe la al 3-lea laborator cam toata lumea incepea brusc sa "inteleaga" si sa rezolve exercitiile alea in sub o ora :))

Aici parca a fost si o tema: de facut o recenzie la un articol publicat in 2017 la o conferita si de prezentat la laborator.

Examenul: parte teoretica + parte practica. Cea teoretica era cu o grila iar cea practica avea exercitii ca alea de la laborator. M-am dus mort de somn. Not bad - se iau note mari.



4. IOC (Interactiune Om-Calculator)

Curs: Stefan Trausan-Matu
Laborator: Costin Chiru


Funny story: am ajuns aici fiindca am vrut sa schimb SI cu orice altceva, unde orice altceva = (IOC | SPG). Cam asa am scris si in cerere si am ajuns la IOC :)). Nu intrebati de ce am ales SI ca optional daca tot voiam sa-l schimb - nici eu nu stiu ce-a fost in capul meu.

Cursul: foarte filosofic si foarte abstract. A fost momentul ala cand te asteptai sa vezi cod si te trezeai ca notai despre ergonomia cognitiva si arta memoriei. Problema era ca intrau si la examen. Si mai existau si teste neanuntate (la curs) tot din subiectele astea.

Laboratorul a fost ceva mai tehnic dar uneori cam amplu. Modul de notare depinde foarte mult de asistent si... aici n-a fost chiar asa chill. JavaScript, XML, DTD, JSON, HTML, xPath, xQuery, XSL si SPARQL.

Mai exista vreo 2 teme dintre care una e sa faceti un fel de casa inteligenta cu html/css/javascript si sa includeti niste requesturi catre niste API-uri. Cealalta implica crearea unei aplicatii de vandut ziare (versiunea pt smartphone) si trebuia avut grija la dimensiunea butoanelor si a textului - practic... sa fie o interfata usor de folosit.

Pe langa toate astea a mai existat un proiect care sa incurajeze socializarea (or something like that) ce se intindea pe mai multe etape. Se lucreaza in echipe de vreo 4 oameni - initial se fac niste prototipuri de interfete, se discuta cu ceilalti colegi de laborator... pe urma se creeaza un prototip, se da feedback iar la final se prezinta proiectul complet.

Examenul: a fost ok; la teorie putea sa pice cam orice ii placea profului. La probleme veneau laborantii cu exercitii din SPARQL, XML/DTD si xPath, xQuery, xShit, etc.



5. SMP (Sisteme cu Microprocesoare)

Curs: Popcorn
Laborator: Popcorn


Am gasit asta la C2 - m-am luat dupa turma si am crezut ca ar fi easy si se trece usor cu nota mare.
Doar prima parte e adevarata. Am ratat o bursa doar din cauza materiei asteia.

Nu se pica dar: exista teme de laborator, teme obisnuite, ceva legat de un articol si prezenta la curs.
O groaza de materie (Intel, PowerPC, CISC-uri, RISC-uri, etc.) ce mi se pare cam aiurea predata si culmea ca se cerea la examen in intregime. Cursul nu prea are o structura clara. Si nu prea pricepeam ce se voia si cum se puncta :))

Temele obisnuite erau o provocare: sa se interfateze <un device> cu <un altul>; aproape nimeni nu stia sa rezolve alea si in general se venea cu versiuni din anii trecuti pe care profu' le stia pe derost :))

Ma laud cu faptul ca am rezistat eroic la cursuri; recomand totusi sa ajungeti devreme ca sa prindeti loc langa priza. Si preferabil bateria sa fie full :))


6. MP (Managementul Proiectelor)

Curs: Doina Serban
Seminar: Mirona Popescu


Meh. N-aveam nevoie si de asta dar... de ce sa nu stam 2 ore in plus la facultate ?!

Am ramas de cateva ori la curs: am descoperit ca se face prezenta, se pun tot felul de intrebari in speranta de a ne tine treji si se incearca explicarea managementului cu scheme si bucle de feedback ca la TS :)). Pe urma n-am mai mers fiindca... wtf.

La laborator am primit explicatii mai ok si astea au ajutat mult pt proiect. Din pacate...da... si aici tot cu proiect, tot pe etape si trebuie prezentat.

Examen: grila + ceva de enuntat p-acolo. Nu mai stiu bine.

-----------------

Cam atat; ca idee:
  • puteti sa va puneti cam toate laboratoarele intr-o singura zi si sa aveti niste zile libere.
  • grija cum alegeti zilele de examen; altfel sfarsiti ca mine cu 3 examene in 4 zile.
  • daca vreti licenta easy e de prefetat sa ocoliti profii de la systems (aia cu ghindele); mi s-a parut ca e destul de stricta comisia.

// TODO: semestrul #2.


16 sept. 2017

Calculatoare: Anul 3, Semestrul 2

Alright, anul 3, continuarea...

A fost un semestru mai...dur.
O mare parte a timpului era ocupata de: temele la SO, temele la ASC, proiectul de la PM, proiectul de la IP (solo pe partea de implementare) si proiectul de la Innovation Labs (tot solo la partea de implementare); daca apucam sa exersez 2 game pe chitara si sa mai si dorm noaptea, era deja bineeee.

// nota pt cei ca mine: 3-5 ore de somn pe noapte au niste efecte tare faine pe termen lung; nu recomand.

Recunosc, n-am prea dat pe la cursuri, exceptie facand IP-ul unde era cu prezenta si puteam sa stau linistit in banca. Si BD era cu prezenta, dar de la 9 dimineata si profu' punea intrebari...am preferat sa nu ma obosesc prea tare.

Anyway, am gasit oraru'; let's continue, shall we?


1. BD (Baze de date)

Curs: Florin Radulescu
Laborator: Ciprian Truica


O materie care a inceput frumos si s-a terminat foarte urat :))

Cursul se tine de dimineata pe proiector si ppt-urile se gasesc pe site-ul de cursuri. Aparent se poate chiuli dar se face prezenta - nu mai stiu sigur daca dupa prima ora sau a 2-a - iar prezentele ofera un anumit punctaj. Materia incepuse lejer cu "ce-i o baza de date?", "cum se face un SELECT?" - lucruri pe care probabil le stim din a 12-a. Eh, am presupus ca asa o va tine pana la sfarsit de semestru; dupa o perioada de absentare ma trezesc cu niste slide-uri in chineza in care se prezenta rolul algebrei relationale in structurarea bazelor de date.

Materia asta are si un partial care era grila daca-mi amintesc eu bine - n-am luat o nota prea buna aici fiindca nu prea citisem ultimele cursuri.

Momentul ala cand intrebarea includea ceva de genul:
"(1) are proprietatea de JFP?"
and I was like:
"da' ce-i aia JFP?".

Pe langa asta, exista si colocviu - destul de putin timp dar seamana intr-o oarecare masura cu problemele din timpul semestrului (facute la laborator).

Laboratorul...

Sa se afiseze id-ul si numele angajatilor al caror salariu mediu este mai mic decat salariul minim al sefilor de departament ce au salariul mediu mai mare decat salariul maxim al managerilor cu salariu minim pe departament.
 -- Truica et al.


N-a fost chiar atat de rau; incepea cu niste explicatii, pe urma trebuia sa citim 1-2 PDF-uri si la final incasam un test de 10-15 minute in care trebuia sa scriem un query. Se punea mare accent pe join-uri.

Examenul: din 2 parti; o grila ca la partial si o proba mai practica (tot pe foaie) in care trebuiau scrise query-urile care sa creeze un tabel, sa stabileasca cheile primare, straine, etc si pe urma sa faca niste join-uri. Overall, nu-i o materie dificila, iar la partea a 2-a e voie cu foi cu teorie (aka, cursul printat). 


2. PM (Proiectarea cu microprocesoare)

Curs: Dan Tudose / Nicolate Tapus
Laborator: Tudor Visan





Nu-s prea multe de zis; materia la care faceti proiectele alea faine pe care la vedeti anual pe holul EC. La final fie ajungeti sa suportati atmega324 fie sa-l urati...

La curs: ehm...nu-mi amintesc foarte bine ce s-a intamplat acolo :)))) S-a vorbit despre arhitectura x86 (registre, pini, flaguri) cum se cupleaza diverse memorii, sisteme de intreruperi, arbitru de procesor & dma, module dma, etc. etc. Foarte multa materie si foarte multe scheme. Nu-i cu prezenta dar profu' (al 2-lea) pare sa aiba memorie destul de buna.

Laboratorul pe de alta parte a fost relativ dificil. Il aveam vineri seara, fix atunci cand mintea era cu totul in alta parte. Taskurile pareau destul de usoare (de afisat ceva pe un LCD, de redat o melodie, de creat niste handlere pt intreruperi) dar implementarea era dureroasa: cu documentatia in fata tot trebuia stiut de nush unde ca pt a face X, trebuie sa setezi bitul Y din registrul Z pe 1, iar bitul W din registrul K pe 0 (lucruri din astea). De obicei nu prea era timp sa termina exercitiile alea...

Proiectul: se incepe atunci cand se termina laboratoarele (la jumatatea semestrului). Trebuie sa alegeti o idee, vorbiti cu asistentul, care o sa va zica daca e easy (nota maxima se limiteaza la 8) sau nu (caz in care puteti lua 10). Pe urma o sa fie nevoie sa va faceti o pagina de wiki pe care s-o actualizati la fiecare etapa (schema bloc, schema electrica, lista de piese, etc.). Ah da...si o sa alergati dupa piese (recomand sa luati tot ce e nevoie pt placa atunci cand se da comanda cu toata seria - chip-ul nu-l prea gasiti prin Romania).

La final incarcati sursa si schema iar pt notarea proiectului trebuie sa veniti cu el fie pe holul EC fie la laborator.  

Examenul: tot din 2 parti; prima era mai de teorie - 10 probleme date de prof care implicau fie scheme fie definitii. A 2-a parte includea un exercitiu cu 3 sau 4 subpuncte, destul de tricky (cuplari de memorii). Nu trece toata lumea, asa cum se zvoneste (au existat cativa cu restanta dar cred ca au luat in toamna). Si nu se da intotdeauna chestia aia cu "descrieti caracteristicile calculatorului pe care doriti sa-l cumparati".


3. ASC (Arhitectura sistemelor de calcul)

Curs: Emil Slusanchi
Laborator: Adriana Draghici

Beware: threaduri, caching, gpgpu, clustere. cell!

As zice ca numele descrie destul de bine ce se invata (hint: are o oarecare legatura cu APD). 
Totusi alegerea asistentilor, organizarea materiei si nerespectarea propriului regulament sunt lucruri care m-au dezamagit.

Cursul: mi-e destul de greu sa zic ce se face aici; nu reuseam sa urmaresc bine iar cand ii intrebam pe altii...nici ei nu stiau sa-mi raspunda. Am renuntat sa mai merg in cele din urma.

Laboratoarele erau super: prima parte Python + threaduri + tot ce tine de threaduri (cumva noi trebuia sa stim deja Python...I guess?), a 2-a parte cu niste C si operatii pe matrice & vectori, a 3-a parte era ceva mai hardcore - cell: o arhitectura pt care se scrie destul de greu cod fara erori. Ultima parte era cu paralelizari pe gpu-uri. Asistenta e ok.

Temele: mai dificile as zice...dar merg. Sunt 3 teme de 100p (Python, C, Cell sau GPU la alegere) si una de 50p ce implica o prezentare la laborator despre un subiect ales de noi dar care sa aiba legatura cu cursul. Sincer...temele mi s-au parut prost gestionate, in special tema a 2-a: codul dat avea greseli iar responsabilul zicea pe forum ca "nu-i treaba lui". Pe langa asta, conditia ca tema sa ruleze in sub X secunde altfel se dau 0p a fost omisa la corectura (hm...poate unii oameni n-au trimis sursa fiindca stiau ca depaseau timpul de executie ?!?). Also...temele de Cell si GPU nu pareau egale ca dificultate.

Examenul: tot 2 parti; partea de teorie era ok - tocesti cursurile alea super si aia e. Partea practica de obicei contine subiecte mai "exotice" de care studentii aud abia in anul 4 daca dau la C4 (mie mi-a picat ceva cu paralelizarea calculelor pt o retea neurala...). Partea buna e ca se corecteaza lejer.



4. SO (Sisteme de operare)

Curs: Razvan Deaconescu (RD)
Laborator: Laura Ruse

"punem presiune pe ei!"

The good stuff. 
O materie care mi-a placut - bine organizata, utila, cu teme practice.

La curs se discuta despre tot ce tine de un sistem de operare (exceptand drivere & kernel): procese, semnale, memorie, threaduri, fisiere, sisteme de fisiere etc. Mi s-au parut destul de bune explicatiile din slideuri si am cedat locul meu la curs unei persoane mai interesate. 

Se mai dau niste teste anunate (cred ca 4 au fost in total) din cele 3 cursuri predate anterior - partea mai urata e ca nu exista punctaj intermediar (nu merge sa "bati campii").

Laboratoarele... eh unele mai grele altele mai usoare. In general ultimele sunt mai grele. Se pot rezolva "la comun" ca sa zic asa - adica se poate colabora si se pot adresa intrebari. De obicei se iau note bune la laborator iar asistenta e de treaba.

Temele: ...sunt suficiente. Exista o tema comuna pt Linux + Windows si alte 4 pt Linux care au implmenetare separata pt Windows ("dar C-ul merge si pe Windows si pe Linux?" "- da dar nu te lasa sa folosesti functiile comune (high level)"). Asa ca adunandu-le vin vreo 9 teme destul de lungi - dificultatea creste...liniar cred. Se poate obtine 10 si cu numai 5 teme rezolvate, totusi aveti grija ca se corecteaza la sange (au scazut astia puncte si pt comentarii in plus). Iar o parte din punctaj se da daca tema respecta coding style-ul din kernelul linux - verificat cu un script destul de enervant. Inca o treaba: temele sunt aceleasi in fiecare an dar nu va recomand sa le copiati de pe net - exista asistenti care adauga sursele gasite pe net in MOSS si anuleaza punctaje.

Examenul a fost open-book dar fara internet; nu se iau note foarte mari de obicei si nu sunt genul de intrebari la care sa gasiti raspunsul in curs (nu se cer definitii ci mai degraba explicatii despre cum se desfasoara anumite lucruri prin sistem; practic, e ca la teste). Punctajul de pe parcurs face mai toata diferenta. 



5. IP (Ingineria programelor)

Curs: Alin Moldoveanu
Laborator: Oana Ferche

Optional obligatoriu; alegeti fie asta fie IC (ingineria calculatoarelor).
Eu am ales asta - mai greu pe parcurs mai usor la examen.

La curs se preda de pe niste slideuri dar materia e destul de plictisitoare (in mare parte despre moduri de dezvoltare software). Sunt teste de prezenta si e nevoie sa aveti un anumit numar ca sa intrati in examen.

Mai trebuie ales un proiect si dezvoltat in echipe de cate 3-4 oameni (partea de documente: gen ce se cere de la program, ce conditii sa indeplineasca etc.) si partea de implementare impartita in 4 etape cu taskuri stabilite la laborator.

Exceptand astea, ramane de facut o prezentare powerpoint (si...prezentata la curs) despre un anumit subiect ales dintr-o lista - tot in echipe. 

Examenul a fost din vreo 4 sau 5 parti - se baza mult pe ce era prin cursuri, dar nu e dificil de invatat sau de trecut.


6. Marketing


O prostie care iar ocupa timp cu planuri de afaceri si studii de caz; trebuie facute 2 proiecte si sunt necesare cateva prezente la seminar. Ca la economie dar putin mai pretentioasa materia.
Examentul cu grile A/F sau 3-4 variante de raspuns - nu foarte dificil.






Hew, gata si articolul asta - revin la anul cand termin cu licenta. Pt curiosi, am ales C1 ca specializare (initial voiam C4, dar dupa semestrul asta m-am razgandit si am decis sa o iau mai usor).

Ca o concluzie: mi s-a parut putin mai dramatic decat sem 1 - desi acum ca ma gandesc, s-ar putea sa fie putin subiectiva parerea. Probabil am exagerat cand m-am angajat sa ma ocup si de Innovation Labs si de IP si de alte...lucruri.
Exista posibilitatea sa-mi fi ingreunat singur viata din simpla prostie? Hmmm...

Atat. Bafta!

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.