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!