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.