15 sept. 2016

Calculatoare: Anul 2 Semestrul 2



"Da' programare cand :( ?"

Mda. Poate ca a venit timpul sa scriu si articolul asta...avand in vedere ca il incepusem din august =))

Aflati ca...daca v-ati adresat intrebarea anterioara si sunteti nerabdatori sa incepeti materiile alea tari de coding - asta e un semestru pentru voi. O sa aveti teme cat sa va saturati si chiar si atunci vor ramane cateva de pus deoparte.

Ce-i asa dificil aici: cantitatea de materie, temele (in special la PP/PA/PC) si eventual testele. Temele sunt destul de dificile daca incercati sa le faceti "solo" - adica...ma rog...timpul e principala problema. O sa fie unii care se lauda cu lucruri de genul "ah, am terminat tema la PA in 3 ore”... fara sa mai mentioneze ca ideea de rezolvare era preluata de la altii :/

Ca sa nu deviez complet de la scopul articolului, cam astea sunt materiile.


1. PA (Proiectarea Algoritmilor)

Curs: Traian Rebedea
Laborator: Cosmin Dragomir

"Iti place fă algoritmii ?"  
                     -poster de pe holul EC 

Asa...prima materie de algoritmica - seamana cu informatica din liceu, doar ca mai grea.

Curs de 2 ore, se incepe cu divide et impera, greedy, dinamica si se ajunge intr-o zona destul de abstracta cu fluxuri prin grafuri, algoritmi de pathfinding si aleatori. Faza mai nasoala e ca nu prea se dau pauze. Recunosc, cand am vazut ca primele 3 laboratoare...ei bine...merg...am inceput sa chiulesc de la curs iar asta s-a intors cumva impotriva mea atunci cand proful incepuse sa vorbeasca de niste algoritmi de care nici macar nu auzisem  :))

Laboratorul: la fel ca orice alt laborator - un schelet de cod, niste exercitii ce trebuie rezolvate si un asistent pe care sa-l convingi ca ai inteles ce-i acolo. Totusi laborator la 8 dimineata din materie pe care urma s-o fac la curs 6 ore mai tarziu si probleme destul de dificile daca nu aruncai o privire de acasa. Adica...laboratorul nu-l termini daca incepi sa-l citesti la inceput - nu se fac intr-o ora toate problemele alea...these guys are crazy.

Asistentul e chiar foarte de treaba: explica bine, ajuta daca sunt intrebari si e printre putinii care chiar se implica in predarea materiei (care a contribuit si cu teorie si cu probleme suplimentare).

Au mai existat 2 teste date in timpul semestrului: primul cu materia pana la grafuri, al 2-lea cu materie din grafuri; la un test se dadeau 4 probleme, 2 "usoare" si 2 "medii", trebuia rezolvata 1 usoara si 1 medie pt nota maxima. Cel din grafuri a parut ceva mai dificil...pe langa asta asistentul a uitat sa adauge fisierele de test...

Temele: vreo 2, ambele cu probleme de info - daca te prinzi de idee o rezolvi repede (nu-i chiar asa mult de scris).

Mai exista un proiect ce se face in echipe de cel mult 4, in care trebuie sa scrieti un program care sa joace un joc. Asta se desfasoara pe parcursul intregului semestru iar punctajele se dau in functie de scorul obtinut contra unor programe scrise de echipa de la PA, iar la final in functie de clasamentul general. Nota e aceeasi pt toti membrii echipei -> e recomandat sa faceti echipa cu oameni care presteaza, altfel devine mult mai dificila gestionarea timpului pentru teme - am patit, stiu ce zic.

Examenul:  teorie + algoritmii predati la curs; impartit in 3 subiecte – primele 2 cu exercitii (gen “rulati algoritmul X pe exemplul dat” sau intrebari de forma “ce subarbori elimina taietura alpha-beta” sau demonstratii). Am invatat doar dupa laboratoare + algoritmul lui Johnson de la curs si am busit demonstratiile (astea se fac doar la curs...). Still ok dar cam putin timp.

  
2. PP (Paradigme de Programare)

Curs: Matei Popovici aka Maestrul Popovici
Laborator: Radu Constantinescu

 



Cred ca "Parsere functionale" ar fi un nume mult mai potrivit pt materia asta. Unicul Matei se intoarce pentru inca un semestru awesome.

Ce se intampla p-aici:  se incearca trecerea studentului de la paradigma imperativa (modul vostru de a scrie cod acum) la cea functionala (cod scris doar cu "formule" recurente) iar mai apoi la cea logica (in care cam tot e exprimat prin propizitii logice). Pe masura ce se avanseaza ramaneti fara variabile globale, while-uri si if-uri.

As always, maestrul Popovici a avut grija sa tina un curs "super-interesant" de care m-am lipsit in momentul in care am vazut ca materia e predata mult mai complicat decat pare, studentii sunt scosi la tabla random si incep sa apara teste surpriza. Problema e ca materia de la curs nu se gasea asa usor - iar testele alea sunt si pe post de prezente...cine vine la prea putine are 0p pe curs.

Laboratorul:
a decurs onorabil...pana a venit un alt asistent care...ne lasa prea mult timp de gandire si nu explica nimic; n-am invatat cine stie ce nici de la laborator dar macar am avut prezente si doar astea contau la punctaj :))

Temele: din ce vad, acelasi model de tema - dar scrisa in 3 limbaje diferite; ultima tema avea deadline in seara de dinaintea examenului la PA. Transmit multumiri asistentului care s-a ocupat de tema asta.

Testele: 4 date de acasa pe cs.curs; al 5-lea dat intr-o seara la facultate. Recomand sa nu copiati/colaborati decat daca stiti ce faceti...chiar daca e dat de acasa, pe site se inregistreaza momentul cand se alege un raspuns + raspunsul efectiv, deci se poate depista usor un grup de studenti ce rezolva la comun.

Examenul:
un rahat; avea 2 parti - initial o grila pe care daca o pici => restanta; daca o treci, ajungi la partea a 2-a in care trebuia sa faci in Haskell/Prolog un interpretor pt sintaxa similara cu cea din Scheme; era cam cat o tema... si asta in conditia in care la curs s-a spus ca a 2-a parte din examen consta in intrebari ce tin de paradigmele respective... Iar cei din anul anterior au avut examen lejer.
 Matei, daca citesti asta, esti naspa. This my feedback.


Tinand cont de cine tine cursul si de reactia studentilor dupa examen / restanta (s-au suparat cativa si au mers cu niste cereri la secrtariat), sunt sanse sa se mai schimbe cate ceva.




3. PC (Protocoale de Comunicatie)

Curs: Gavril Godza
Laborator: Elena Apostol
 





Portocale. O materie ce explica modul de lucru al protocoalelor utilizate cel mai des (tcp, udp, http, ftp, smtp, etc.) si se extinde pana la ceva tehnici de criptografie, semnaturi digitale, certificate, etc.

Profu': destul de dificil, chiar daca initial pare de treaba...ei bine nu e!

La curs - cate un test saptamanal din materia de la cursul curent sau cele anterioare; n-am inteles cum se corectau testele alea, dar cu cat scriai mai mult cu atat nota scadea. Dupa un streak de 3 de 4 am decis ca nu ma mai dau jos din pat pentru cursurile lui Godza (luni la 8 dimineata aveam alte planuri) si atunci cand veneam plecam imediat dupa test. Nu pot spune ca materia e predata chiar asa fain - nu intelegeam mare lucru de acolo dar macar era pe slide-uri.
 
Pe la laborator, am avut norocul sa prind o asistenta super care explica in jumate de ora tot ce nu reusea proful sa detalieze in 3 ore. Desi multi spun ca laboratoarele la PC sunt usoare...nu e tocmai asa; dificultatea variaza destul de mult iar la unele exercitii apar niste erori greu de diagnosticat; multa lume nu termina tot ce se cere. Prin ultimul laborator se da o lucrare.

Temele: initial cica erau 4 teme dar a scos profu' 1 incepand de anul asta fiindca suntem simpatici; pot spune ca astea 3 teme au fost cele mai lungi de cand am inceput facultatea; prima tema n-a fost asa rea - se dadea un server si trebuia sa te conectezi cu un client...toata faza era ca serverul ala trimitea o parte din date prost iar asistentul nu voia sa recunoasca greseala; a 2-a a fost hardcore - cu buna aproximatie vreo 2200+ de linii in C scrise intr-un interval de 4 zile, in vacanta mea de Paste; a 3-a tindea spre 1000 de linii de cod si n-am mai avut rabdare sa rezolv cateva buguri...totusi cu astea am compensat pt chiulul de la curs. Sfatul meu: rezolvati prima tema cat se poate de bine si nu copiati.

Examenul e scris, vreo 4-5 subiecte (nu mai tin minte) alese din tot ce s-a predat. Corectarea e oarecum stricta - trebuie desenate scheme acolo unde exista si trebuie explicat scurt si la obiect - altfel omul e in stare sa te depuncteze chiar daca ai scris corect. Inevitabil vor exista niste eroi care sa se apuce sa citeasca Tanenbaum in alea 3 zile de dinaintea examenului, doar ca mai apoi sa realizeze ca nu o termina; la fel ca la USO, se poate trece invatand de pe slideurile profului (sunt lucruri copiate din carte oricum...).




4. ED (Electronica Digitala)

Curs: Constantin Ilas
Laborator: Cristian Tranca
Seminar: Razvan Tataroiu


Spre deosebire de EEA, asta e mai grea putin; aici proful preda si...cere ce preda.

N-am inteles cum reusea dar datorita profului aproape mai trageam un somn de 3 ore; ma mai trezea prezenta. Cam dezorganizat ED-ul, de pe la al 6-lea curs tin minte ca ma oprisem din scris si ma uitam cum batea vantul afara. La final mai nimeni nu avea scris tot - iar proful formula subiectele de examen fix dupa ce era scris la tabla :))

Materia: se invarte in jurul portilor logice implementate cu tranzistoare bipolare, continua cu tranzistoare MOS + dimensionari si trucuri cu diode iar mai apoi diverse memorii RAM/FLASH.

Seminarul: cred ca am prins vreo...5 seminarii ? vazand cum preda proful mi-am zis ca inteleg mai bine de la seminar - treaba era ca n-a prea venit asistentu' si in ciuda entuziasmului meu de a invata electronica digitala ma trezeam ulterior in StudentPub discutand despre cu totul altceva. Asistentul...un metalhead desavarsit (cred ca asculta chestii mai nebune decat ce ascult eu) si totusi explica electronica foarte bine cu un minim de chef.

Laboratorul este ca ala de la EEA...de fapt...tot sala aia, tot echipe de 3; cateva diferente: referatul mai amplu si testele date la inceput ca sa se asigure asistentul ca noi am citit indrumarul; vestea buna, nu se da colocviu.

Sunt vreo 2 teme pe parcursul semestrului - 1p fiecare.

Examenul n-a fost chiar asa rau, se dau initial niste teorii (una sigur din memorii) iar pe urma niste probleme. Sunt tot 2 tipuri de probleme dar nu mai tine manevra de la EEA - sau poate tine dar e mult mai riscanta. E mai usor sa gresesti la problemele astea => invatati si teoria. Totusi s-a corectat ok.



5. CN1 (Calculatoare Numerice 1)

Curs: Cornel Pop aka Popcorn
Laborator: Laurentiu Duca


In principiu, o materie lejera ce asigura multor studenti 6p de credit; cursul reprezinta momentul cand consumul de curent al ACS-ului atinge cote maxime - 3 ore toata lumea din sala sta pe laptopuri (se face prezenta - deci chiar toata seria) si datorita organizarii cursului (care e mai degraba un amalgam de informatii culese de pe site-uri) nimeni nu noteaza si nimeni nu intelege.

Laboratorul: e mai diferit, se lucreaza in echipe de 2-3 pe niste FPGA-uri (placute d-alea programabile); se incep niste proiecte/teme in verilog (o sa aflati voi ce-i ala :D ) si timp de cateva laboratoare se lucreaza la astea - pe urma alte proiecte. La final proful va cere sa scrieti astea si in vhdl (si despre asta o sa auziti) si sa le prezentati inainte sau dupa examen. Destul de pretentioase proiectele, cer mult debugging. Daca faceti laboratorul tot cu profu' o sa aveti o viata ceva mai usoara.

Examenul: comod, trece mai toata lumea asa cum poate; profu' e de treaba la corectare - o sa vedeti voi de ce; totusi nu se poate copia atat de usor pe cat se zvoneste.




6. AD (Achizitii de Date)

Curs: Adrian Surpateanu
Laborator: Adrian Surpateanu


Surpi returns. Inca un curs cu stil despre esantionari de semnale, ceva despre tipuri de motoare electrice si teoria chibritului. Cumva regret ca n-am fost la toate cursurile aici - unele lucruri pareau interesante, dar numarul mare de teme justifica absentele mele. 

// Surpateanu la laborator: "[...]eu n-am sa fac niciodata prezenta la curs." - la urmatorul curs face prezenta =))

Laboratorul se desfasura cam asa: 
- intram noi
- intra profu'
- "ati citit si voi documentatia de la LabView?"
- *liniste*

Desigur asta a tinut pana ne-am ales proiectele si echipele - pe urma statea profu' doar sa se plimbe prin sala si sa se uite la noi cum nu stim LabView.

Spre final un colocviu (grila) cu niste intrebari despre care se spune ca se repeta de la an la an (minciuni, unele sunt noi...) ale caror raspunsuri nu le stie mai nimeni si se invata pe derost. Nu stiu daca a picat cineva. 

Anul asta zicea ca face colocviul cu intrebari din LabView; norocosilor :))




 7. English





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


Gata oameni buni, mi-am facut si datoria de student in anul 3. 
Concluzia? cel mai tare semestru de pana acum -  10/10.  M-a potolit cu programarea.

Bafta!