Programarea, încotro?

Java, java reloaded.


Cînd am pornit blogul ăsta aveam o multitudine de idei. Din lipsă de timp poate, pînă acum nu am făcut decît să postez diverse cîntecele. Evident, viaţa mea – şcoala a avut o influenţă puternică, iar vedeta programului a ajuns EEAul, avînd avantajul de a moşteni fantoma DCE. Astfel m-am lăsat pradă mitului „electronica e toceală care nu foloseşte” şi… mi-am umplut blogul de posturi de genul (Parodie) Seviyor – EEA (ceva). Ceea ce părea iniţial un miştou de doi lei, s-a dovedit a fi o formă eficientă de feedback căci se pare că domnii profesori de electronică au aflat de unele cîntecele şi, coincidenţă sau nu, la primul seminar de ED, făcînd o scurtă trecere în revistă a primului semestru, domnul Surpăţeanu a concluzionat „Rămîne un mare semn de întrebare: la ce foloseşte (EEAul)?”. Şi a urmat o prezentare mişto a unor chestii pe care le scotea din buzunar. Acum nu pot zice că m-a convins de utilitatea EEAului (mai ales a cursurilor despre joncţiunea pn :-??) dar parcă încep să se lege puţin lucrurile: la CN am aprins LEDuri prin program Verilog, la AD am înţeles că la fel o să programăm plăcuţe dinalea de la EEA; şi Edul ăsta… în prezentarea de la primul curs (cînd am rămas uimit să îl aud pe domnul profesor spunînd ceva de genul „scopul acestui curs…”) am văzut că mare parte din el se referă la MOS / CMOS. Sună promiţător semestrul 2, chiar şi dpdv al electronicii. Rămîne să vedem ce va ieşi.

Voi folosi dară unele parodieri de melodii nu doar în scop de divertisment, ci şi ca o formă (ciudată) de feedback.

Îmi voi îndrepta atenţia spre materiile din semestrul unu, anul doi calculatoare.

Cursul de AA a fost unul uşurel, dar cu un examen cumplit.

Domnului Şerban nu am nimic să-i reproşez: curs bine structurat, cu prezenţă mare, şi fizică dar şi spirituală. Poate doar absenţa materialelor în format electronic (ce are ca „urmare” un număr mare de cărţi vîndute ;)) )

Despre EEA ar fi poate mai multe de spus… cert e că oricine ar fi fost profesor, nu ar fi putut scăpa de fantoma DCEului care bîntuie acest curs, pentru a putea spera să îi atragă pe studenţi. Ştiu că s-a umblat deja destul de mult la programă, dar ar mai trebui tăiat din partea introductivă, prezentată mai pe scurt şi doar chestiile esenţiale. Aceasta întrucît prin acele cîteva ore despre joncţiunea pn se pierde publicul: deşi prezent la aproape toate cursurile de EEA, am scris doar la primele patru. Unul din motive a fost teoria neinteresantă despre purtătorii ăia, iar al doilea… Al doilea ar putea fi „soluţionat” prin rezolvarea primului: din lipsă de timp, domnul Cupcea măreşte adesea ritmul de predare, fapt ce îi îndepărtează pe şi aşa puţinii studenţi interesaţi de ce se predă. De apreciat materialul vast pus la dispoziţia studenţilor 🙂.

Şi am ajuns şi la ce mă interesa cu adevărat… POO şi PLAS: singurele obiecte de programare din acel semestru. Despre utilitatea limbajului de asamblare nu sunt încă convins: unii spun că ne va folosi la compilatoare, Surpi ne-a spus de vreo trei ori că după şase luni a renunţat la asamblare. Timpul va rezolva misterul, dar nemulţumirea mea rămîne: din moment ce este inclus în programa noastră, trebuie predat calumea. Modul în care s-au desfăşurat activităţile la acest curs lasă de dorit, şi în mod sigur nu contribuie la ridicarea prestigiului facultăţii. Cartea domnului Lungu este bine structurată, părerea mea e că se poate învăţa de pe ea. Dar ideea unui curs e ca proful să predea studentului, nu de a da o carte de pe care studentul să înveţe singur (dacă vrea). Iar asta nu s-a întîmplat. Activitatea de laborator o notez tot cu minus.

Despre cursul domnului Moraru sunt multe de spus, şi avînd în vedere acuzele aduse în Java reloaded, sunt nevoit să le argumentez. În primul rînd doresc să semnalez unicitatea cursurilor predate de domnul Moraru printre cursurile de programare. Cu greu a acceptat să aibe doi asistenţi anul acesta, dar situaţia nu s-a schimbat cu mult. Orele de laborator se desfăşoară cu întreaga grupă, astfel încît, cu toate că 20% vin cu laptopuri, se ajunge să se stea şi cîte trei la un calculator. Este de lăudat efortul domnului profesor şi implicarea acestuia, căci îşi ţine laboratoarele, împreună cu asistenţii, dar de la intenţii la fapte e drum lung. Ceea ce face domnul Moraru este să îşi evalueze studenţii, nu să le predea. De asemenea, problemele date la laborator reprezintă unicul mijloc de a-i atrage pe studenţi la cursuri: multe din ele sunt făcute la curs, iar celor care cer explicaţii li se reproşează absenteismul. Mare parte din punctajul celor de la CB la diverse taskuri a fost pentru „design patterns”. Noi habar n-avem ce-i aia. La curs ne sunt înşirate redefiniri simplificate ale unor clase Java. Nu spun doar că materia ce se predă nu este cea bună, dar şi modul în care ni se predă nu este tocmai atrăgător. Apoi sistemul de notare, nici nu ştiu dacă merită comentat, nu cred că este agreat de nimeni. Pentru necunoscători: notele se dau după impresia pe care o laşi profului, ponderea diverselor activităţi fiind, după cum îi plăcea şi titluarului de curs să precizeze „DEPINDE”.

Nu e frumos să acuzi fără a propune soluţii, oriunde s-ar întămpla asta (adică chiar şi pe blogul meu, chiar dacă proful nu va citi vreodată). Primul lucru pe care ar trebui să-l facă domnul Moraru este de a-şi asimila ideea că profesorul mai întîi predă şi apoi evaluează, studentul mai întîi învaţă şi apoi este evaluat. Cursul are denumirea POO, iar aplicaţiile se fac în JAVA. Deci partea de Java ar ţine de laborator, pe cînd cursul ar trebui să se ocupe de chestii mai generale, mai profunde. Din nou apreciez munca domnului Moraru, căci ne-a pus la dispoziţie cursul în format electronic. Iar apare însă lupta intenţie-faptă: cursul nu este tocmai cel mai bun curs de POO, şi necesită a fi rescris. De la ZERO. Recomand domnului profesor să-şi alcătuiască o echipă (tînără) de asistenţi, şi să aibă încredere în ei. Avînd experienţa unui an, Andrei Ismail ar putea fi un mic Florin Pop, coordonator al acestei echipe. Nu cred că nu va găsi studenţi dornici de a se implica. Alături de aceştia, ar putea lucra la întocmirea unui nou material de curs, şi a unor laboratoare. Subliniez, „şi a unor laboratoare”. Ca model, la multe alt cursuri, materialul de laborator se compune din două părţi: o prezentare teoretică, cu exemple, pusă la dispoziţie din timp pe curs.cs şi o parte de aplicaţii. Din nouă este de lăudat efortul domnului profesor şi a asistenţilor de pînă acum de a întocmi mai multe variante de aplicaţii. Obiceiul trebuie păstrat, dar completat de acea parte introductivă, ce ar trebui, în ideea mea, să reprezinte principalul material de predare a limbajului JAVA (la curs se face POO nu Java). Propun împărţirea pe semigrupe, şi o desfăşurare similară altor laboratoare de programare: o oră prezentare teoretică o oră aplicaţii. Este evidentă necesitatea reducerii volumului de aplicaţii. Apare apoi o altă problemă. Laboratorul era singurul loc în care mai făceam cîte ceva în java; dacă reducem numărul de aplicaţii, ce programatori vom mai fi? Şi apare soluţia salvatoare: temele de casă. Similar altor cursuri, sunt necesare circa 4-5 teme (eventual una facultativă, în plus) de casă, cu grad de dificultate crescînd, pentru o mai bună însuşire a cunoştinţelor. O echipă mare de asistenţi ar putea face acest lucru posibil, iar domnul profesor ar trebui să aibă încredere în notele date de aceştia. (Anul acesta a existat o tentativă de a da teme. Dar domnul Profesor le-a cerut pe hîrtie, pentru a le corecta el. Doborît de numărul mare de teme, a renunţat la idee, iar noi am rămas programatorii lui peşte.) Nu cunosc circumstanţele de anul trecut, dar domnul Moraru a acceptat schimbarea. E pe drumul cel bun, să-l ajutăm să ducă schimbarea la bun sfîrşit, subliniind aspectele bune dar şi pe cele proaste din desfăşurarea cursului de POO, şi făcînd propuneri. Subliniez faptul că domnul Moraru este profesor la CC de PC şi SD, două cursuri foarte importante, întrucît dacă sunt prost predate, îi lasă pe acei studenţi cu un handicap enorm în ceea ce priveşte programarea.

Deşi părea că am încheiat subiectul, nu aş fi putut fără a nuanţa o critică foarte întîlnită adusă cursului de anul doi predat de domnul Moraru: faptul că predă Java în loc de POO. Aceasta întrucît această greşeală ar putea să pară nu tocmai gravă.

Redau din nou ceea ce am reţinut eu din cuvîntul domnului Dumitrache din şedinţa de la 28.02.2008: A ţinut un discurs frumos punctînd aspecte importante şi lansînd multe întrebări ce dau de gîndit. În condiţiile dezvoltării continue din domeniu şi a schimbărilor permanente, sunt necesari oameni cu o pregătire interdisciplinară. S-a întrebat retoric Pregătim noi oare ingineri pentru viitor? A subliniat faptul că studentul trebuie să fie capabil a se adapta, iar dacă orizontul deschis de facultate e în continuare îngust, absolvenţii nu vor fi competitivi. El a precizat că şi în străinătate au existat reforme.

Pentru o bună înţelegere a subiectului, vă invit să citiţi postul acesta referitor la adaptabilitatea studenţilor de la calculatoare. Redau doar un mic fragment edificator „studentul care este astazi intr-o facultate de IT nu trebuie sa invete pe dinafara functiile dintr-o librarie a unui limbaj pe care poate nu vor ajunge niciodata sa-l foloseasca dar trebuie sa invete care sunt mecanismele limbajului, care sunt principiile programarii orientate pe obiecte…”.

Referitor la subiect, acest post de pe DeCeUrăscPoli m-a făcut iniţial să rîd. Să nu rîdem de viitorul urmaşilor noştri ca studenţi la calculatoare. Ar trebui să fie un semnal de alarmă pentru domnul Moraru că schimbarea de care au nevoie cursurile sale este una importantă, nu de formă.

Inchei printr-o invitaţie adresată colegilor mei, nu doar cei de anul I dar şi mai mari. Nu trebuie să fii un geniu pentru a constata că tocmai acei profesori ale căror cursuri necesită o schimbare majoră… nu cer feedback. Astfel, anul trecut la USO (Rughiniş), PC, SD, MN (Iorga toate 3).. ni s-a cerut feedback. Cursurile acelea se desfăşurau oricum bine (cu cîteva obiecţii la MN, dar în urma feedbackului lucrurile sunt pe drumul cel bun: anul ăsta se face seminar). E drept, asistentul nostru de POO şi-a făcut o pagină pe care a primit opinii din partea studenţilor. Dar acela e feedbackul dat lui, şi nu general, cursului de POO, domnului Moraru.

Astfel, cu ajutorul colegului nostru Alexandru Juncu (322CA) am deschis cîteva pagini de tip wiki pentru a centraliza opiniile voastre despre cei doi profesori (şi lista este deschisă şi altor materii/profesori – spre exemplu electronica >:) ); aştept atît evidenţierea părţilor proaste, dar şi a celor bune, cît şi propunerea de eventuale soluţii. Mă angajez a le centraliza şi a le prezenta (în cazul în care se obţine un material de calitate) profesorilor în cauză. Rog utilizarea unui limbaj decent: nu am să mă duc la Moraru să îi spun că e bou, indiferent de cîţi de mulţi studenţi (pe care îi reprezint) ar gîndi acest lucru (unele gînduri le păstrăm pentru noi).

Index

Prof. Moraru

Prof. Lungu

Pentru cei mai comozi, puteţi lăsa comentarii şi aici (dar v-aş ruga să le semnaţi, măcar notînd grupa, seria şi sexul, dacă doriţi a rămîne anonimi – în cazul în care vreţi ca acele comentarii să fie incluse în centralizări, altfel.. feel free.. dar limbaj decent :D)

As usual, versurile aici.

Anunțuri

16 Responses to Programarea, încotro?

  1. eu spune:

    copile pe tine te-a lovit rau eea. dak nu intelegi utilitatea cursurilor lasa-te de facultatea asta si dupa la nebuni

  2. Alex Stefanescu 322CC spune:

    Total de acord.
    Ar mai fi ceva de spus despre domnul Moraru. Acesta dupa primul curs si-a dat seama ca existau in serie cativa oameni cu bazele programarii (sau a structurilor de date) deja stiute, fapt care l-a facut sa inainteze materia. De aceea pot spune ca io, personal am o frica de programare. Am fost la toate cursurile de PC si SD si 50% era pentru necunoscatori iar restul pentru cei care stiau de dinainte.

    In legatura cu domnul Iorga… Cursul de MN a fost unul interesant pentru mine. Mi-a placut mult materia, am ramas cu ceva dar intr-adevar era nevoie de ore de seminar pentru a invata corespunzator Matlab (sintaxa si implementare de algoritmi). Io am avut de comparat intre metoda domnului Moraru si cea a domnului Iorga si l-am ales pe domnul Iorga pentru ca a avut rabdare, bunavointa si o echipa tanara.

    Astept sa mai vad posturi cu solutii clare si la subiect pe acest blog.

  3. anonim spune:

    Si eu am facut cursul cu stimabilul domn moraru. Si nu am invatat nici o programare, doar toceala cu 3 zile inainte ca sa treci, cam asa au facut toti – exceptie cei care stiau deja programare.
    Singurul lucru bun e ca am facut cu Carmen O. laboratorul, si acolo ne mai explica ceva.
    Comparatia Moraru si Iorga nu are rost. La Iorga chiar ramai cu ceva.
    Moraru -> 0 la toate capitolele:
    notare : da note din burta, pe subiecte gresite, sau neclare
    curs : face paranteze de 1 ora, nu are coerenta
    teme : ii e lene sa dea teme, cred

    Poate ca opiniile mele sunt subiective :)) .

  4. dadatroll spune:

    Sexul neaparat ca e cel mai important. Mai ales pentru barbat.

  5. ihtys spune:

    vezi macar te asculta si profii 🙂

  6. seviyor spune:

    @Dadatrol: există acuzaţii că domnul Moraru este misogin. Eu nu am nicio părere despre asta, dar dacă vor fi fete să reclame aşa ceva…

  7. dadatroll spune:

    Cine naibai domnu Moraru?

  8. ba spune:

    [legătură înafara subiectului scoasă (eng. link oftopic)]
    Asta e frate. Hai sa dam toti la ASE

  9. celCEstie spune:

    hamm…sunt offtopic cu programarea..ceea ce vroiam sa-ti zic e k imi place blogu tau,am dat de tn ascultand „parodii im”..bafta in continuare!!

  10. Lucian spune:

    din fericire Moraru se pensioneaza!
    din cate am auzit de la profesori mai tineri cică de la anu isi ia zboru.

  11. seviyor spune:

    Într-adevăr, aşa am auzit şi eu, motiv din care am renunţat la a reacţiona în vreun fel pentru a schimba cursul de POO.

  12. Sorin spune:

    Moraru deschide intr-adevar multe paranteze si nu e coerent. Cel mai bine e sa stii deja programare cand ajungi in poli ca oricum n-ai timp sa inveti cine stie ce. Sunt multe care iti iau timpul si mi-e greu sa cred ca inveti ceva la programare daca nu stii nimic inainte, indiferent cu cine ai face. E problema de mod de gandire pana la urma si se formeaza prin exercitiu pe destule programe… Oricum, l-am apreciat pentru ca vrea totusi sa invete si se intereseaza de programele mai noi chiar si la varsta asta cand putea sa-l doara-n spate de studenti si sa-si predea materia.
    Cantecul e dragut rau chiar mi-ar placea sa-l aud in holul automaticii. Asa ar fi apreciata mai bine valoarea de feedback. Si nu vorbesc aici numai despre cantecul acesta.

  13. Radu D. spune:

    Moraru intr-adevar e un profesor foarte slab. Kalisch e 5 clase peste el. De la ea am invatat programare si algoritmi.
    http://filmedevazut.wordpress.com

  14. Fantasya spune:

    felicitari pentru cover e genial, habar n-am ce e EEA dar la fel as canta eu despre Structuri din lemn si otzel din anul 2

  15. dadatroll spune:

    Mda si eu despre dezvoltarea vorbiri daca numai ca a fost demult acum patru ani sau chiar cincii ani.

  16. […] Studenții sunt învățați AWT și Swing și String Tokenizer timp de un semestru întreg, prezentându-li-se cod ce duplică o clasă existentă în Java și cerându-li-se același cod la laborator. De foarte multe ori, când vezi cod scris în care se văd sechelele acestui stil de predare te întrebi «ce se întâmplă cu programarea?» […]

Lasă un răspuns

Completează mai jos detaliile tale sau dă clic pe un icon pentru a te autentifica:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s

%d blogeri au apreciat asta: