Algoritmi Paraleli și Distribuiți
Materia în sine este ok. Este necesară o introducere în calculul paralel, motivarea exemplelor este ok. Nu știu exact dacă materia este bine plasată în programă (dar sigur nu este orar dar asta nu depinde de materie ci de șeful de catedră și cine face orarul).
Temele au fost interesante. Unele fascinante, altele doar provocante. Tema de java a împins către un research individual (management Thread-uri cu Futures). Cea de MPI a condus la o evaluare a perfomanțelor diverselor primitive de comunicare și la design-ul rețelei din temă.
Cam atât cu părțile bune din păcate. Examinarea de la curs a fost foarte subiectivă și nesemnificativă. Spre deosebire de PC s-a dat o singură lucrare, în rest fiind doar prezențe pentru a vedea cine e prezent trupește în sală. Iar verificarea listei se făcea extrem de haotic, mulți trecându-se pe listă și plecând imediat. Da, au fost prinși câțiva și au pierdut punctajul alocat dar au fost puțini și exemplul nu s-a propagat. Nu zic că a cere prezențe la curs este ceva corect (sunt total împotrivă) dar dacă se fac ar trebui să se implementeze o metodă normală.
Să zicem că prezențele nu contează. În schimb, faptul că slideurile conțin peste 40% cod este nasol. Mai ales că limbajul folosit este unul semi-pseudocod foarte aproape de Pascal. Da, știu că se economisește spațiu cu limbajul și se poate pune accent pe ce trebuie pus dar _nu_ cred că accentul ar trebui pus pe linii de cod în loc de algoritm. Astfel, s-ar putea explica în cuvinte sau cu animații ce face algoritmul iar codul ar fi făcut la laborator sau ar fi dat în suportul de curs.
Pdf-urile lăsate pe curs reprezentând slide-urile sunt de fapt o printare a prezentării către un fișier pdf. Astfel, slideurile cu animații apar cu toate suprapuse, devenind necitibile și inutilizabile. Mai există și un suport de curs care pare foarte mult a fi doar o traducere din anumite lucrări și atât. Unele fragmente se găsesc copy-paste direct pe slide. Altele nu apar deloc pe slide dar apar de mai multe ori în suport. Sau (de exemplu la toleranța la defecte) același lucru se găsește de mai multe ori, eventual exprimat în așa fel încât să pară că se autocontrazice. Mai mult, ordinea tratării conceptelor în suport nu e aceeași cu cea din slideuri. Și nici una din ordini nu pare a fi logică. (diverse concepte fiind împărțite între diverse capitole)
Cam atât despre curs, trecem la laborator. Ar trebui avut grijă la cât de mult se explică și ce se explică. Au fost laboratoare unde s-a explicat timp de aproape 2 ore și nu s-a implementat mai nimic. În plus, unele laboratoare presupun cunoașterea diverselor concepte de sisteme de operare, materie de semestrul doi. Oricum, laboratoarele ar beneficia de o cosmetizare a conținutului și o transformare în ceva cu adevărat util.
Revenim la teme. Dacă tema 2 a fost corectată într-un timp acceptabil și tema 3 a fost corectată în timpul mediu necesar corectării unei teme, nu același lucru se poate spune și de celelalte două. Nu voi comenta faptul că tema 4 pare a fi corectată în grabă (compileză? ok, citim readme și punctăm ce scrie acolo) dar voi comenta lipsa totală de interes pentru prima temă. Nu cunosc nici un asistent, fie el și student care să fi stat atât de mult să corecteze o temă. Poate că uneori sunt mult mai buni asistenții studenți decât cei doctoranzi (au și mai puține chestii de făcut și sunt si mai entuziaști) și cineva acolo sus în catedră ar trebui să știe asta (și să nu promoveze neacceptarea studenților ca asistenți cu excepția materiilor lui sau echipei lui – a se vedea MN-ul la care am renunțat pentru că am crezut că și aici se va aplica regula cu studenții dar se pare că echipa `Grid` joacă după regulile proprii uneori)
Cam atât momentan, revin cu celelalte după examen și corectare. Sper să nu mai fie lucruri negative. Oricum, până acum, cursul este cel mai prost cotat din semestrul curent.
—-
După examen și corectare pot zice doar că a fost examenul la care am scris cel mai mult de până acum. Ca și în acest feedback. Poate și aici s-ar putea shifta accentul pe înțelegerea conceptelor, nu pe reproducerea lor.
Visitor Pattern
Lucrând la compilatorul de la CN am găsit o metodă frumoasă de a tipări un arbore de derivare (abstract syntax tree, AST) utilizând cam același cod cu cel (ce va fi) folosit pentru verificarea corectitudinii codului. Este vorba de Visitor Pattern, unul dintre șabloanele celor recunoscuți ca «Gang of Four».
Păcat că la noi nu se prea face asta. Aș fi preferat să fi făcut design patterns la POO. Dar facultatea noastră te învață Java nu POO. Cel putin la două serii.
PS: Are cineva cartea? Real book, nu pdf :D
O carte violet și o Cenușăreasă – Cărți pentru ingineri IT
Foarte tare CPL and LFA related (CPL = Compilatoare, cursul pe care încă nu l-am făcut dar de care m-am lovit în timpul temei de la CN – compilatorul de Verilog, LFA = Limbaje Formale și Automate, cel mai tare curs din acest semestru). Dacă nu vă interesează nu citiți mai departe. Dacă vreți un review citiți :P
Limbaje Formale și Automate
O materie premergătoare compilatoarelor, expusă a fi așa încă din primul curs. De fapt, cred că la aproape fiecare concept nou se făcea și puțină referire la compilatoare. Oricum, mi-a plăcut faptul că nu s-a insistat prea mult pe demonstrații, nu pentru că nu mi-ar plăcea ci pentru că uneori demonstrațiile ascund frumusețea din spatele unor lucruri (și ar fi fost cazul și pe-aici). Conceptele au fost oricum deduse pe baza unor exemple cât mai concludente, ușor de înțeles pentru toți care au fost la curs.
Dacă se întâmpla să pierzi un curs din diverse motive, nu era nici o problemă, cursul următor începea cu o recapitulare a ce s-a făcut anterior. Dacă pierdeai mai multe, îți erau repovestite la seminar.
Problemele de la seminar au fost diversificate, de la banale până la extrem de complicate (am una la care am scris un A4 de formule și încă nu mi s-a zis dacă e ok sau nu :P; încă nu știu gramatica pentru ).
Examinările au fost decente, tema a fost prea puțin provocativă.
Cam atât că nu am inspirație, revin după examen.
Examenul a fost destul de provocativ, ceva ce mi-am dorit de mult.
Voi ați dat feedback?
Raytrace
Ieri seară s-a terminat a treia etapă a concursului. Soluția mea va apărea în curând și va fi linkată aici printr-un comentariu.
Etapa curentă este validă până pe 15 februarie ora 12.00 (dimineața) și este una dintre etapele ce vor cere și o reprezentare grafică. Asta deoarece trebuie implementat un fel de raytracing. Detalii mai jos.
Curs De Dezvoltare Liberă (2.0)
Salut,
Ai entuziasm si dorinta de a afla lucruri noi? Vrei sa inveti tehnologii si metode de lucru dincolo de ceea ce se prezinta la facultate? Vrei să înveți cum să colaborezi și să dezvolți în echipă propriul proiect? Vrei să afli cum se dezvoltă un proiect open source? Cum se programează curat, ce unelte se folosesc, ce înseamnă o comunitate?
ROSEdu [0] aduce studenților pasionați un Curs de Dezvoltare Liberă (CDL, [1]). Ajunsa la a doua editie, aceasta activitate va consta dintr-o suita de prezentari a unor noțiuni esențiale pentru producerea de aplicații open-source incluzând: moduri de organizare a unui proiect, versionare, comunicare, debugging, licențiere, design patterns etc.
Pentru a pune în practică cunoștințele acumulate, pe parcursul cursului se vor alcatui echipe de studenti care vor lucra la o serie de proiecte open source în cadrul unor sesiuni de dezvoltare. In spiritul dezvoltarii open-source, proiectelor vor consta in adaugarea de module sau extensii a unor proiecte existente.
Selectia participantilor la curs va fi realizata prin interviu. Deoarece primul curs este pe 27 februarie, înscrierile[2] vor începe de pe 1 februarie ora 0.00 și vor tine până pe 23 februarie ora 20.00.
Pentru mai multe detalii, ne găsiți pe irc pe #rosedu sau pe pagina proiectului [1].
[0]: http://rosedu.org/
[1]: http://cdl.rosedu.org/2010/
[2]: http://cdl.rosedu.org/2010/inscriere
Elemente de Grafică pe Calculator
Feedback. Ieri am publicat un md5 conținând o mare parte din acest feedback, azi fac paste la respectiva bucată și mai adaug câteva completări. So:
The Monad Reader – Issue 15
Azi, Brent Yorgey a anunțat apariția unui nou număr din TMR. Cele 10 zile distanță fată de dealine-ul submisiilor au meritat așteptarea. Din cele 4 articole prezentate acolo nu a existat nici un articol care să fie plictisitor.
Tech Talks la final de semestru
Mai avem încă două ședințe de Tech Talks planificate în sesiunea curentă. Prima va fi tinută mâine de Vlad Ureche și va atinge subiectul Hadoop. Dacă vă interesează sunteți așteptați la ora 14 în EG106 pentru durata prezentării.
Ultima prezentare din semestru va fi ținută pe 3 februarie și va atinge subiectul depanării codului. Vom păstra aceeași oră și aceeași sală.
Nu credem că vom continua acest proiect și-n semestrul următor deoarece ne vom suprapune peste alt proiect. Dar, mai mult ca sigur, vom reveni din octombrie cu alte subiecte și, probabil, un stil nou de abordare.
Stay tuned.
RL – feedback
Ar fi trebuit să fie dat ieri împreună cu o postare a md5-ului înainte de a ajunge la examen. Dar, isp-ul nostru drag din cămine iar a decis să se joace cu nervii noștri și a durat ieri o oră să se încarca o pagină web până m-am decis să renunț (nu mai vorbesc de ce e pe DC).
Revenind la subiect, acest post va conține doar feedback-ul pentru RL. Îmi cer scuze pentru întârzierea cu care am psotat dar am fost ocupat toată ziua. De asemenea, va fi foarte scurt pentru că mi-e somn :P







Reacții