Cei care mai ajung pe blogul acesta, de voie de nevoie, ştiu că, sau ar trebui să ştie, ca subsemnatul este student în cadrul Universităţii Tehnice din Cluj-Napoca, la Facultatea de Automatică şi Calculatoare, secţia Calculatoare şi Tehnologia Informaţiei. Ce nu se ştie, sau n-am lăsat niciodată să se vadă, sunt frustrările pe care le acumulez eu ca student la această facultate. Mă rog, zic frustrări pentru că nu găsesc alt cuvânt ca să scoată în evidentă ceea ce gândesc io.
Cursurile
Cei care sunt sau au fost studenti aici ştiu foarte bine cum se desfăşoară un curs la calculatoare. Intră profu’ în clasă, dă/dăm bună ziua, bagă sticku în calculator, porneşte proiectorul şi dă-i să sune. Tralalalalalala tralalalalla tralalalalal. Aţi înţeles…? Cititul de pe slide se poartă în facultăţile noastre dragi, zic asta pentru că sunt convins că în toate facultăţile româneşti e aşa. Foarte putini profesori vin cu ceva nou la curs, altceva decat cititul clasic de pe slide-uri. La noi, la calculatoare, slide-ul cursului arată cam aşa: 3 pagini de cod, din care domn’ profesor explica 3 randuri si nişte definiţii pe câte o jumate de pagină, pe care tot domn’ profesor le citeste si mai pune ceva de la el. Tralalalala tralalalala. Ati inteles? Da, tot. Daca aveti intrebari va rog sa mi le puneti! Bine… Mai are rost sa mergi la cursuri? Nop. Pentru ce sa mergi la cursuri? Sa ai de unde veni inapoi?
Laboratoarele/Seminarul
Partea cea mai importanta si obligatorie intr-un an este laboratorul sau seminarul. Scopul principal aici este sa fi instruit practic pe baza cursurilor predate. Ei bine, partea cu dupa cursurile predate e doar de forma. De cele mai multe ori materia de la curs nu se pupa cu ce facem la laborator si ajungem sa nu pricepem aproape nimic. Dupa logica mea, in mod normal ar fi trebuit ca ce facem la curs sa facem practic la laborator. Cred ca pot sa numar pe degetele de la o mana la cate materii am facut laboratorul bazat pe curs.
Programarea
La Calculatoare se face programare serioasa. Lucram cam in vreo 3 limbaje de programare si daca mai pui la socoteala si baze de date, unde ne ocupam cu SQL, atunci iese taman vreo 4 chestii diferite. Toate inghesuite intr-un an universitar. Iar asta mi se pare o mare greseala. De ce? Pentru ca din toate materiile pe care le facem nu ramanem cu mai nimic. Sunt prea multe domenii pentru care trebuie sa te pregatesti, prea multa informatie, timp prea scurt pentru toate. Dupa parerea mea, am avea toti numai de castigat daca am invata un singur limbaj de programare in toti cei 4 ani de studiu. Fiecare sa-si aleaga la inceput limbajul in care vrea sa se specializeze si sa mearga cu el pana in ultimul an, iar asa sigur nu vor mai exista oameni care trec prin facultate ca Voda prin loboda. De ce? Pentru ca mi se pare ca, eu, ca student, as avea numai de castigat daca m-as specializa pe un singur limbaj de programare, de exemplu Java. De ce sa invat eu C++ daca nu-mi place? De ce sa lucrez eu in DOS daca mie imi place sa lucrez in SQL? Si profesorii ar avea numai de castigat de pe urma asta pentru ca, ar avea la cursuri/laboratoare/seminarii studenti care VOR sa se specializeze pe domeniul ala, deci vor INVATA, deci vor fi atenti, deci vor da pe la cursuri.
Cu examenele cum as face daca as fi profesor? as imparti in mai multe bucati materia pe care o predau si as da cate un examen din fiecare; sa zicem ca vor fi 5 note, cu alea 5 se face media, daca media finala e peste 5 ai trecut anul, daca nu, ne vedem la anul sau la restante. Simplu ca buna ziua nu? Ce sa ne complicam atata cu zeci de examene? Asta-i un sistem care sigur ar da roade daca ar fi aplicat cum trebuie.
Ce as mai face, poate cel mai important lucru, as face in asa fel incat materia predata la curs sa poate fi pusa in practica la laborator/seminar, adica sa se pupe una cu alta, nu sa se bata cap in cap. Si cand zic asta, ma refer la a lucra practic fix pe baza a ce a fost predat la curs. E chiar atat de greu?
De ce avem un sistem atat de complicat cand putem avea unul simplu si benefic?
In mare parte sunt de acord cu tine, dar te rog sa-mi permiti sa si obiectez ce am de obiectat.
Sa inveti un singur limbaj de programare poate parea genial la inceput, dar daca stai sa studiezi problema mai bine, iti dai seama ca nu asta iti doresti. Sa luam urmatorul exemplu:
Iesi din facultate si vrei sa te angajezi. Cauti job-uri in care activezi ca si programator. Daca esti la o firma mare, oamenii aia, prin programator inteleg cam toate limbajele uzuale. Te-ar pune sa le faci si scripturile PHP, sa le rezolvi si programelele in C++, sa faci si Java si cam tot ce are firma de scos de la un programator.
Putini vor cauta doar experti in Java spre exemplu. Majoritatea cauta programatori, care stiu cat mai multe limbaje.
Si da, ai dreptate, cand iesi din facultate nu reusesti sa retii mai nimic, pentru ca ti se baga pe gat o gramada de chestii, dar cand te angajezi, de voie de nevoie, ai putin habar despre limbajul respectiv si daca ai nedumeriri, incepi sa cauti pe internet si sa inveti in particular. Sau mai prinzi din zbor, cum ii spun unii.
N-am ajuns inca la facultate si m-ar bate un gand sa merg la Automatica si Calculatoare, dar ma sperie tare matematica. Din cate am auzit, faci matematica de-ti iese pe nas. Asa e, sau sunt doar vorbe in vant? :D
In primul an dai pe mate la greu, din anul 2 incepi sa mergi pe materiile de specialitate.
Intr-un fel ai dreptate, cu cat un programator stie mai multe limbaje cu atat e unul mai valoros si pretentiile salariale sunt mai mari. E ca si vorba aia cu, cate limbi straine cunosti de atatea ori esti om.
Dar, eu unul n-am auzit inca un programator angajat pt a lucra in mai multe limbaje. Java Developer-ul se ocupa strict cu tot ce tine de domeniul java. Ca patron de firma, daca vrei sa-ti mearga sandramaua angajezi oameni specializati numai pe domeniul ala. Bine, e drept, unul care stie doua limbaje de programare te scapa de problema angajarii unui al doilea om, dar trebuie luat in calcul si varianta ca omul ala poate sa si greseasca, incurcand limbajele intre ele.
Nu sunt de acord cu tine in legatura cu 1 singur limbaj de programare.
Sunt de acord ca sistemul de invatamant e praf dar nu cunosc nici un programator bun care ar fi realizat ceva datorita profesorilor.
Totul se bazeaza pe munca ta.
E foarte important sa inveti minim 5 limbaje, si acestea ar fi:
Python
C (C++)
LISP
Java
Php
Pe langa ele invata si SQL.
Inainte de a invata orice limbaj trebuie neaparat sa inveti foarte bine algoritmii. Daca te pricepi la algoritmi si la limba engleza nu ar trebui sa ai ai probleme sa te pregatesti singur.
Deci spui ca n-ar fi matematica atat de speriat, nu? Adica, e ea multa, dar nu irezistibila. In plus, din anul doi, devine lejer, nu?
Cam asa ceva… nu e de speriat dar nici prea placuta. Daca ai facut in liceu M1 atunci n-o sa ai probleme, daca ai facut M2 atunci o sa fie un pic mai greu pana prinzi treburile alea. Bine, eu cu matematica sunt la pamant de cand m-am nascut, asa ca mi-a fost destul de greu sa birui.
@Victor: Am realizat si eu intr-un final ca tot ce faci in facultate cam faci pe barba ta. Si algoritmii astia, mi-au mancat zilele… :)
Baieti
cel mai bine e sa mergeti la o facultate cu profil uman, gen geografia, litere, relatii internationale (specializarea terminata de mine) si scapati de matematica, de limbaje de progamare si gata.
Asta e solutia, nu matematica.
Da, ma duc la uman si cand ies de acolo ma angajez ca impingator in Carfur pe 2 lei pe ora. O facultate umana e faina dintr-un singur motiv, ca scapi de mate si de materiile reale, dar dpdv al jobului e foarte slab cotata, ori despre ce domeniu vorbim.
In plus, daca eu n-am inclinatii spre geografie, litere, relatii internationale etc., ce sa caut acolo? Mai bine rânesc la matematica un an, decat sa ma chinui 4 fara sa inteleg nimic
Da, si de pe bancile facultatii tale iesi vanzator la Mc.
Cei de la uman au mai multe posibilitati, pentru ca li se dezvolta creativitate si se pune mare accent pe acest lucru. In schimb, ca programator, ai un singur orizont.
@punKreas: din contra, ca programator iti dezvolti creativitatea.
Ca „umanist”, daca nu ai talentul din nastere, esti doar un observator al acestei lumi minunate.
Si nu, nu ai un singur orizont ca programator.
Un om care stie matematica si algoritmi intelege usor literatura, istoria, geografia, filozofia etc dar un „umanist” sau cum vrei sa ii spui cu greu poate scoate doua vorbe despre matematica sau programare fara sa se faca de ras.
Apropo, punKreas, ai idee ce meserie are cel mai bine cotat jurnalist din tara? La baza?
CTP e inginer.
Al doilea din bransa (mai mult showman decat jurnalist dar votat ca jurnalist pe locul 2), Mircea Badea, ai idee ce scoala are?
Cibernetica.
Nu m-as mira daca marea majoritate a managerilor de succces, ziaristilor de succes, etc ar avea studii „reale” cu mate, fizica, informatica etc.
Nu am facut un studiu dar stiu sigur ca oamenii care nu au studii de matematica sunt „masa de manevra” in jungla asta capitalista.
Sunt de acord cu Victor la faza asta. Unui programator i se deschide mai multe usi, ca sa zic asa, pe cand un umanist nu are foarte multe alternative de angajare.
Sa zicem ca termini geografia, ce faci, unde te angajezi, ca profesor, ca agent de turism sau ca receptionist la hotel? Meserii mult mai slab cotate. Si la fel si pt istorie, filozofie, economie, etc.
@Sf. Vasile: tu ca programator poti lucra si ca profesor, si ca agent de turism si la hotel. Dar sa ii lasam pe baieti sa se amageasca.
Au un singur avantaj: au mai multe fete in facultate.
Ala e cam singurul avantaj mai important. Si distractia, si faptul ca e mai lejereanu’
@Sf. Vasile: lejereanu .. stiu si eu .. mie mi se pare enervant sa tocesti ca prostu pagini intregi de informatie pe care o gasesti cu 2 clickuri.
E mult mai frumos sa descoperi lucruri interesante in matematica sau la algoritmi, daca ai o atitudine pozitiva in privinta asta.
SQL nu e limbaj de programare esteptilor, e doar o unealta, un mod de a interactiona cu baza de date.
SQL fara un limbaj de programare nu se poate.
Da cine a zis ca SQL e limbaj de programare? Am zis ca daca mai pui la socoteala si SQL, da’ n-am zis ca e limbaj de programare. E doar o alta chestie pe care o inveti la facultatea de calculatoare, pe langa limbajele clasice.
@iacob lamaie: http://en.wikipedia.org/wiki/SQL
„Structured Query Language, is a database computer language designed for managing data in relational database management systems (RDBMS)”
Nu e limbaj de programare, e limbaj pentru baze de date dar … la fel ca un limbaj de programare, trebuie si asta invatat.
@Victor: Aici, chiar ai dreptate:)) sunt la calculatoare primu an si pot spune, ca am doar 5 fete din care doar una vine la scoala si restu….cred ca is maritate:))oricum nu au treaba cu faculta asta. Ce tine de matematica…..te rupe te omoara:))) daca in ora de matematica de liceu cantai imnu sau libera la mare