Archyvas

Kategorijos ‘Mokslas’ archyvas

Nors naujausio konspekto relyzą dar reiks tobulinti…

2010.06.21 Xamas Komentarų: 8

Bet, mano nuomone, daugumai kur kas labiau jis bus naudingas PRIEŠ egzaminą, o ne PO. T.y. paPUBLISH’inau tą variantą, kurį pasidariau sau. O patobulintą variantą, muset, reiks paruošti kiek vėliau. Į jį BŪTINAI reiktų įkraupti pačias diagramas su rodyklėmis kas ir kur, nes ‘pure text’ naudos duoda mažai :D .

Taigi, pasinerkim į PSI aukštumas…

Kategorijos: Mokslas Žymos: , ,

Algoritmų teorizmo guru :))

2010.06.01 Xamas Komentarų: 1

Pagaliau tai baigiau :) . Ne tik kad pačio AT rezultatas buvo puikus, bet paPUBLISH’inau ir final final relyzą, kaip tik būsimiems egzaminams visiems naujakursiams :) . Reikia tikėtis, kad visas darbas, kurį įdėjau į konspekto rašymą, išties padės daugeliui besimokančiųjų įveikti sudėtingu algoritmų vingius.

Kadangi tai jau, jeigu neklystu, 3-iasis mano konspekto relyzas, tai kokybės kartelę šį kartą buvo užkelta žymiai aukščiau. Konsultuotis teko ne tik su nekalbiais vadovėliais, bet ir kalbiais algoritmų ir logikos dėstytojais :) .

Žinoma, sugebėjimais prilygti šių dalykų dėstytojams nėra taip jau lengva, tad prisiminus grafus, ir daug raudonos tušinuko spalvos, galima drąsiai daryti išvada, kad dėstytojų pagalbos dėka(kurie šiais laikais dažnai patys yra labai vangiai judantys ir nenorintys įdėti jokių pastangų į mokslo kokybės gerinimą), galima paruošti konspektus, kurių aš net jau ir pats nebevadinčiau konspektais, tai jau greičiausiai tampa pilnaverčiais literatūriniais leidiniais aukštųjų mokyklų studentams(tiesa, kalbu ne apie kiekviena konspektą ar konspektėlį, kurie tokie ir yra). :)

Tai tiek.

Kadangi žinau, jog čia kartas nuo karto apsilanko ir mano bendražygių kopiančių į tą patį studijų olimpą, tai jeigu jau taip nutiko, kad dar tik ketinate įkopti į AlgoritmoVerestą, tai skelbiu žinią apie pasipildžiusį algoritMozės literatūros sąrašą.

Na ir kaip sakoma, geriausia dovana už atliktą gerą darbą – tai laimingas egzaminą išlaikęs studentas. :) To visiems ir linkiu.

Čiao, Vava viva :)

Kategorijos: Mokslas Žymos:

Antradienio darbų suvestinė

2010.04.12 Xamas Komentarų: 2

1.Lyg ir kolis buvo.
2.Pagavau vagį. Kilą teko vytis. Apmėtė 2 lomais ir plytom. Bet žaliems pristačiau :D .
3.Dauguma čigonų nėra geri žmonės.
4.Prieš bandant pabėgt nuo xamo, pradžiai kojas išsitreniruotų bent jau žmonės.
5.Benzas yra per brangus. Nuvažiuodamas pyliausi už 4,01 grįždamas, jau 4,03. Taip sakant brangsta minutėm.
6.Pragariška savaitė: 1/5 done. (M.L., KOMB., Kaunas, CISCO, OS).
7.Niekados nemylėjau tikimybių. Niekur kitur 10 kartų išsprendęs negausi 10 skirtingų atsakymų ir visi jie bus neteisingi.

8.Šiandien buvo graži diena :) .

Mano antrasis konspekto relyzas

2010.01.28 Xamas Komentarų: 0

Visai netikėtai, o gal ir tikėtai, besiruošdamas egzaminui, pastebėjau kad parašiau pagrindus dar vieno konspekto relyzui. Kadangi daug darbo plunksna buvo padaryta, nusprendžiau tą perkelti į PC. Tiesa, OCR’as, net su LT char’ais, normaliai mano ranka rašyto teksto į wordinį taip ir nesugebėjo konvertuoti, tai teko viską vesti klaviatūra. Papildomai dar ir uždavinių sprendimus pateikiau.

Tad, visus ką domina grafai, galės gilintis į kelias dešimtis lapų.
Aišku didžiausias malunumas yra tada, kai tavo rašomi konspektai kam nors tikrai padeda kažką suprasti ar išmokti. Na, o kadangi tokio ligi šiol apskritai nebuvo – buvo tik didelės storos knygos, kur būtinos esmės dalis sudarė labai mažą procentą, tai dabar tai nebeturėtų užsilikti. Todėl reikia tikėtis, kad naudos iš jų kažkam tikrai bus :)

Skelbiam – January 28-th – the days of graphs (G.T.) .

Numiro studijų tūlsas

2010.01.21 Xamas Komentarų: 2

Kaip čia taip įvyko, kad jau 3 valandas, kaip tik prieš egzaminę, klikinu ir negaliu patekti į studijų toolsą, aka fakulteto SA wiki. Kažkas pasielgė labai klastingai ir matyt servą nujungė iš išorės, arba iš vidaus koks pavydus kolega, arba dėstytojas koks nukirpo SA kompų kabelius :D . Išvada viena, kas gavo tas gavo ir turi iš kur mokytis. O kas negavo – baronkos skylę graužti turi dabar. Gerai, kad brauzerio kešo nevalau, o tai ir aš būčiau tarpu tų, kurie F5 klikina :D . Aišku yra Google kopijos kai kuriems puslapiams ir webarchive .org , bet aš į tokius saitus vilčių daug nedėčiau.

Tik tiek, kad dar viena prielaida, kad kartais internetu negalima visiškai pasitikėti, bet jau šiomis dienomis. Prisimenu, darydamas anglų prezentaciją apie Cloud Computing’ą su kolega diskutavom šiuo klausimu, apie būtent tokias situacijas.

Na bet visgi dabar tik 2010, vis dar netobulumo amžius. 2030 šį pasisakymą bus galima persvarstyti.

Bet iš esmės – “ir nutik tu man taip, kad būtent per sesija, būtent egzamino išvakarėse, dingtų ryšis su beje didžiausia studentų studijų krypių, mūsų fakultete, literatūrine, bei pavyzdžių(egzamino, programų etc.) saugyklą)…”

Dar po to toptelėje mintis – būtų bajeris, kad SA wiki’io niekas DB kopijos nebūtų pasidaręs. O turinti mūsų SA atstovybių bruožus, ten web’ai su visom duom. bazėm labai mėgsta dingti. Na reikės kita semestra pasidaryti meškos paslaugą, ir išsiaiškinti, ir jeigu taip yra, tai bent jau pasidaryti kopiją viso to wikio… Nes ir pačiam pikta būtų sužinojus, kad visa tai, ką rašai vardan to, kad padėti kitiems – ateinančioms kartoms, kaip atsilyginimą praėjusioms kartoms, už jų suteiktą ir parašytą medžią, imtų ir dingtų vieną gražią dieną.

Sukeverzojau pirmąjį konspekto relyzą

2010.01.14 Xamas Komentarų: 0

Studijoms ir darbui besidarant monotoniškai veiklai, įvairumo delei nusprendžiau parašyti dar vieną konspektą. Tik šį kartą jau su official relyzu.

Nors ir after-time, bet pagaliau prisiverčiau kažką mokslo srityje tikrai užbaigti. Iš esmės rašiau dėl savęs, bet kai rašai dėl savęs, labai dažnai gaunasi taip, kad pradeda tikti ir kitiems. Tai pasidalinau. :) . Joblist’e galima braukti vieną punktą, liko dar du. Abu konspektai pradėti rašyti seniai, vienas praktiškai beveik visiškai išbaigtas. Bus matyt, jeigu lydės didelė sėkmė, galbūt pavyks padaryti ir Jų relyzą. :)

Be abejonės, visą tokį darbą su kaupu atperka žinia, jeigu pastebi kad žmonės tuo tavo šedevru naudojasi. Na bent jau stengiausi ir įdėjau nemažai darbo ir pastangų į tai. :)

Kaip sakoma – “leave it to the next-generation:) . O tada jau bus matyt…

January 14 – the day of S.E. (PSI)

Kaip džiugu, kad yra nemažai technologijų

2010.01.02 Xamas Komentarų: 0

Tai vat, beveik prieš šventes nusipirkau čia tokį dalyką – televizoriumi kompiuteryje, kitaip dar ‘Digital hd tv tiuneriu’ vadinamą. Na televizoriai šiais laikais tiek sumažėjo, kad vos didesnis už pirštą tapo. Be abejonės tai usb įrenginys. Bet fainumas yra ne tame, o tame kad galiu turėti 4 tabus užduočių juostoje ekrano apačioje:

1-ąjameWinamp’o radijo stočių playlist’as.

2-ąjametelevizorius, kur backgrounde veikia koks nors LNK ar Liuks kanalas (iki šiol niekados jo nežiūrėdavau, neturėdavau paprasčiausiai tam laiko), kur gali vieno mygtuko paspaudimu matyti DVD kokybės kokį “69 danguje” ar “Stano” koncertą – jeigu turit ką nors prieš lietuvišką muziką, tai čia jau kiekvieno asmeninis požiūris, mano nuomone ko klausyti tikrai galima surasti ir lietuviškajame repertuare.

3-ąjame tabe paleista interneto naršyklė -  Firefox’as su Firebug’u vykdo kokį 2GB XML parsinimą background procesu.

Na o 4-ąjame tabe veikia Mafia žaidimas.

——–

Dar puikiau yra tai, kad tarp 1,2 ir 4 tabų naviguoti galima Gamepad’o bei pultelio pagalba :) .

Ir keistas dalykas, bet TV background’e pradeda tapti įpročiu. Na kai nuo jos mane skiria 5cm į kairę nuo klaviatūros esančiame pultelyje esantis (power) mygtukas. :) .

Be abejonės, viso šito esmę 99 proc. sudaro didelis monitorius. Kadangi manasis yra 22″W 16:10, o dabartiniai 26″W monitoriai standartiškai yra 16:9, o mūsų televizijos transliuojamos 4:3 formatu, tai praktiškai turėdamas 30cm aukštyje 1050 taškų gaunu bene geriausią ką galima gauti iš standartinių šiuo metu rinkoje esančių monitorių(26″W 16:9 siūlo 1080 taškų). Ir to dėka praktiškai nebematau jokios prasmės žiūrėti svetainėje esantį didelį TV, kai monitoriuje gaunu dar didesnį vaizdą(kadangi + esu arčiau). Tačiau, pabandžius tą patį pasijungti loptop’e, tokio įspūdžio ir patrauklumo nebuvo, todėl priėjau išvadą, kad šis pozityvus reiškinys, įprastam TV žiūrėjimui suteikiantis alternatyvą, įmanomas tik dideliuose monitoriuose(beje MagicBright technologija monitoriaus viename iš mygtukų yra neįkainojama. Neįsivaizduoju kaip atsibostų kaskart keisti nustatymus, jeigu negalėčiau vienu mygtuko paspaudimu pasikeisti režimo iš “normal” į “movie:) )

PS. Pastaba tokia - jeigu perkate TV tiunerį, žiūrėkite kad jis turėtų integruotą skaitmeninio signalo stiprintuvą. Nes prie daugelio paprastų TV tiunerių(dabar ypač populiarūs USB tipo) griežtai draudžiama jungti išorinius stiprintuvus, o su paprasta metrine antenėle galite nieko gero nesitikėti – gaudys jums vienintelį balticum’ą iš lietuviškų ir BBC news iš užsienietiškų.

Visus 12 lietuviškų TV kanalų matysite labai tikėtina arba gyvendami šalia TV bokšto, arba turėdami įrenginį su skaitm. signalo stiprintuvu).

Ir dar – žiūrėkite kad pultelis būtu normalus su visiais reikiamais mygtukais, o ne tik kanalu numeriais. Toks dalykas tikrai gana patogus, kai pasinaudoji ilgiau.

PS. Lame yra tik vienas dalykas – kad lietuviški kanalai dar nepalaiko EPG. Šitas stuff’as žiauriai patogus(po “Džo Bleko viešnagės” šioje vietoje sakyti ‘mirtinai reikalingas’ nelabai apsiverčia liežuvis :D , kas žiūrėjo – supras apie ką aš :) ).

PPS. Gal kas žino kuom “Šerlokas Holmsas” susijęs su “Kovos klubu“. Susidariau įspūdį, kad jie sumaišė roles ir ten Pitas Bredas rūsiję iki pusės nusirengęs skaldė kepenis kitam bičui.

Sumąsčiau, kad mokytis per lengva

2009.11.26 Xamas Komentarų: 0

Ne iš šio ne iš to. Na galbūt iš to, kad labai dažnai pagaunu save prisilaikantį idėjos apibėgti viską ką pajėgiu(ar net nebepajėgiu). Tai šį kartą neišsitekau su vienu LPD(laisvai pasirenkamas dalykas), tai toks dalykas kuris egzistuoja VU(manau ir kitur), kur mačiau du tikrai naudingus dalykus[python kursas ar C# kursas yra nenaudingi kursai - tai kuo puikiausiai įmanoma išmokti pačiam]. Taigi mano akys užkliuvo už dviejų – multi-kernel’ingo(C#) bei Mobilijųjų technologijų. Multi-kernel’ingas toks labiau pagal specialybę sakyčiau dalykas, iš jau hi-end srities. Bet vat mobiliųjų technologijų įrašas bakalaure ar magistre tikrai šiek tiek praplečia veiklos galimybes baigus studijas ar/ir studijų metu. Faktiškai tai sritis, kurią savaime, kaip kad Fizika(astronomija, el. dalelių fizika ir kt.) ar Matematika(Mat. analizė, algebra ir kt.) tikrai nepulsi narsiai gilintis niekieno neverčiamas. Tačiau tai labai įdomūs dalykai juos suprantant – tai juos išskirčiau prie tų, kurie itin tinkami tapti lankomų paskaitų objektu.

Tas pats ir su mob. technologijom, toks dalykas kuris labai platus ir manau tikrai vertas tapti klausomu kursu.

Taigi, kadangi niekaip nesigavo išsirinkti vieną, nuėjau į studijų skyrių ir pasiskolinau 3 kreditus iš kito semestro :D .

Vien jau sandas kaip neblogai atrodo(tikiuosi čia nėra ‘totally secret’ informacija kurią griežtai draudžiama publikuoti(?)):
GSM tinklo architektūros apžvalga. Septinta signalizacijos sistema SS7. Komutacinė stotis MSC. Namų ir vizitaciniai registrai HLR ir VLR. Bazinių stočių kontroleris BSC. Bazinės stotys BS. Trumpųjų žinučių centras SMSC. Paketinio duomenų perdavimo elementai GGSN ir SGSN. SIM kortelė, jos sandara ir paskirtis. Mobilus įrenginys ME. Pozicionavimas. Paslaugų apskaita. 3G/UMTS tinklas. Trumpųjų žinučių paslauga SMS. SMS centro architektūra ir veikimo principai. Standartai. Žinučių tipai: SMS-SUBMIT, SMS-SUBMIT-REPORT, SMS-DELIVER, SMS-DELIVERY-REPORT. SS7 MAP (Mobile Application Part) pranešimai tarp tinklo elementų HLR/VLR, MSC, SMSC. Žinučių teksto kodavimas: GSM alfabetas, dvejetainiai duomenys ir unikodas. Vartotojo duomenų antraštė UDH. Ilgosios žinutės. Specialios žinutės: EMS, WAP push, MMS indikacija. Adresacija. AT komandos. Žinučių perdavimo per IP protokolas SMPP. Apmokestinimas. Daugiaformačių pranešimų paslauga MMS. MMS centro architektūra ir veikimo principai. Standartai. MM1, MM3, MM4, MM7 protokolai. Tranzakcijų modelis. MMS išsiuntimas, priėmimas ir gavimo ataskaitos. MMS kodavimas. MMS prezentacijų kalba SMIL. MMS transportavimas: tarp šalies ir užsienio operatorių, el. paštu bei pridėtinių paslaugų tiekėjams VASP. MMS turinio adaptavimas. Apmokestinimas. Mobilusis protokolas WAP. WAP 1.x ir WAP 2.0 (wHTTP, HTTPS) protokolai. Standartai. Autentifikavimas, autorizavimas ir apskaita (AAA). Paketiniai duomenys GPRS, prieigos taškas APN. WAP šliuzas. WAP žiniatinklo (proxy) serveris. Tinklo adresų transliavimas NAT. Push proxy šliuzas PPG. WML ir xHTML puslapiai. Duomenų kešavimas. Mobilaus įrenginio savybių nustatymas pagal WAP antraštes ir UAProf. Kannel ir Apache 2.x moduliai.
Oj kiek daug visokių įdomių trumpinių :D .

Na anyway, jeigu ir išnaudosiu savo LPD rezervus, tai blogiausiu atveju iš didelio noro galima tų kreditų ir nusipirkti.

Bet dabar pagalvojau – jeigu koks matanas(mat.analizė) būtų koks LPD ar man kiltų nors kokia pagunda jį pasirinkti. Dėl kažkokių priežasčių nesu tuo labai tikras :D .

XML – Amadeus, PNR, CRS, GDS, SOAP; Python VS Php

2009.11.24 Xamas Komentarų: 7

Prieš kelis mėnesius maniau kad apie XML’ą žinau didžiąją dalį ir ten nieko naujo būti negali. xml.gz kūrimus/eksportavimus/nuskaitymus laikiau sudėtingesne užduotimi.
Tačiau, kaip sakome, technologijos ir reikalavimai vietoje nestovi.

Todėl visai nenustebau gavęs requirement listą su reikalavimais:

  • Įsisavininti ir tinkamai panaudoti SOAP duomenų perdavimo šifravimą vykdant prisijungimus per XML.
    Pilnai įsisavinti Amadeus sistemos sąsajos kvietimus ir panaudojimus.
  • Suprogramuoti ir automatizuotai įvykdyti(sheduled cronjobs) P.N.R.(part of <– CRS) transakcijos importus automatizuotų modulių pagalbą.
  • Naudoti GDS sitemų gražinamą informaciją tiesioginės transakcijos būtu.

* Tiems, kas nežino:
PNR - Passenger Name Record
CRS – Computer reservations system
GDS – Global Distribution Systems

Dar vienas dalykas kuris mane kiek nudžiugino yra tai, kad vis dėl to iš universiteto naudos kažkiek yra. Iki universiteto UML diagramų paišyti ir jų skaityti tikrai papildomų pastangų mokytis nedariau. Turėjau galima sakyti tik pačius pagrindus, būtinus suprasti reikalavimus.

O štai dabar jau turbūt gerą pusmetį pastebiu kad visi projektai kuriuos kuruoju/programuoju ar dalyvauju realizuojant/programuojant eina su milžiniškomis *.pdf dokomentacijomis:

  • prieš metus-pora 80 proc. atvejų jos būdavo 1-5 A4 puslapių dydžių, be UML diagramų, ir tik 20 proc. turėdavo primityviais diagramas, būtinas suprasti reikalavimams.
  • pastarąjį pusmetį dokomentacijų dydžiai vis augo jau geometrine progresije. Ir pastaruosiuose projektuose vien dokomentacijoms perskaityti reikia skirti keleta dienų, kadangi jų dydžiai pradėjo viršyti 100-140 puslapių.

Na ir čia jau turbūt nenuostabu, kad visi tie ‘docummentation’ai kupini sekų, būsenų, ER, klasių(class), veiklos(activity), objektų(objects) ir netgi diegimo(deployment) diagramų.

Todėl dabar jau turbūt užtikrintai galiu sakyti, neįsisavinus UML’o praktiškai nieko stambesnio nesuprogramuosi, nes requirementus ir realizaciją aprašo matomai specialūs UML ‘profai’, kurių atrodo kiekvienoje stambesnėje įmonėje yra net po keletą.

Na o iš viso to seka, kad funkcinis programavimas tampa praktiškai neįmanomas norint teisingai realizuoti reikalavimus. Viskas praktiškai seka tik per objektus.

———-

Python:

Vis dažniau pastaraisiais mėnesiais į mano valgiaraštį patenka prieskonis ‘Python’. Todėl visai nenustembu kad Gūglas gražina 28 milijonus rezultatų su fraze ‘Python VS Php’.

Vienas žmogelis kaip argumetą ‘why the php is the greatest programming language in the world’, pateikia šias eilutes:

$a = 'var'; $b = 'iable';
$variable = 'var';
echo ${$a.$b};
$filter = array("name", "email");
foreach($filter as $v) $$v = $_POST[$v];

Šaunu, ar ne? :) Nedaugelis programavimo kalbų gali pasigirti tokia realizacija :)

Pitonu paskutinės dvi eilutės būtų realizuojamos taip:

post = {'name': 'ijoshua', 'email': 'spam@example.com', 'extra': 'data'}
filter = ['name', 'email']
for k in filter: locals()[k] = post[k]
print name, email

Kuri programavimo kalba yra geresnė, atsakymai ir ginčai turbūt būtų beprasmiai, tačiau bendrai ką pastebėjau, tai, jeigu žmogus programuoja Php, jis yra linkęs po kiek metų išmokti ir Python(o jeigu tiksliau, tai Ruby on Rails programavimą, na bet Python turbūt būtų geriausias jų atstovas). Ir būna nemažai atveju netgi taip, kad tas programuotojas pereina nuo Php į Python.
Tačiau visi Python’instai kažkodėl labai dažnai pasisako prieš Php, ir nė nebando pažinti šios programavimo kalbos subtilybių.

Python(ir viso ruby on rails) privalumas yra tas, kas jis pasižymi geresniu skaitomumu nei Php. Ten nebėra kabučių print’e, kabliataškių eilutės pabaigoje, nebeliko ir laužtinių skliaustų {}. Praktiškai kodas turėtų išties gebėti būti rašomas ir skaitomas greičiau. Bet ne visada praktika atitinka tikrovę.

Tačiau,

  • Python’as turi kur kas ribotesnį funkcijų sąrašą, metodų, operatacijų sąrašą nei Php.
  • Kitas dalykas, nors ir sakoma kad Python turi tokį pat gerą documentation’ą, tačiau aš visgi tikrai pastebėčiau, kad bendro internete išplatinto ‘example’ kodo, bei tutorial’u atžvilgiu, bei ypač DAUGIAKALBIŠKUMO šitiems dalykams(Php LT doc’as interneto platybėse yra tikrai didžiulis) atžvilgiu Php yra geresnėje situacijoje.
  • Trečias dalykas, visgi vėl tie patys Python naudotojai pripažysta, kad Php web terpėj kai kuriais atžvilgiai tikrai yra paprastesnis – pvz. sql prisijungimu ir pan. Tačiau Python’as dar yra plačiai taikomas Desktop programoms ir sisteminiam script’inimui, ko nėra Php atveju.
  • Python’as praktiškai turėjo sujungti C++ ir Php į kažką vieną, Ruby on Rails pagrindu. Kadangi Python’u suprogramuotas Jūtūbas, tai galima būtų sakyti, kad jiems tai neblogai ir pavyko.
  • Php kompiliavimo/vykdymo laikas yra geresnis nei Ruby on Rails atveju, t.y. naudojant pvz. Python. Tačiau jeigu labai aktualus greitis tai tam pasitelkiamas ASM arba išvis tiesiog 0/1 kodas.

 

Na bet tai kol kas tik teoriją. Phyton teks išmokti iki kitos vasaros, lygiai taip pat kaip teko mokytis C# praėjusį šių metų pavasarį. Kaip sakoma nuo reikalavimų nepabėgsi – jeigu jau kartą teko rašyti WWW tinklapį C#(.NET)’u ir tą padaryti pavyko sakyčiau, kaip pirmą kartą dirbus konkrečiai su C# (.NET), tai matyt turėtų pavykti ir Phyton’u.

Na, nors projekto su Python’u end-line’as dar už bene pusmečio, tačiau jau šiandien parašiau pirmąsias 70 eilučių Python kodu. Liko dar 9930.  Aišku antrąjį skaičių primečiau kreivai iš akies, bet +-~ kažkas tokio :D .

Tad skirtumas tarp studentų besimokančių Python’ą universitete ir darbe matyt tiktais vienas – čia tau dar ir sumoka už tai kad tai išmoktum :).
Apie universitetines elgetos dydžio stipendijas nekalbu. Nors, tiesa sakant, turbūt per gerai pasakiau – tiksliau būtų ‘Prienų bobutės pensijos dalis išskaičiavus pragyvenimo išlaidas’. Taip, galbūt ir atsiras smerkiančiųjų, tačiau manau 95 proc. studentų pasirinktų ‘darbas+studijos(5-8 pažym.)’, vietoje ‘tik studijos 9-10 balų pažymais+stipendija’… Svarbiausiai, kad pirmajam atvejui nereiktų pridėti prie sąrašo “-X dalykų kartojimas” :D . Nes tada jau kuo toliau tuo labiau gaunasi ‘tas ant to’.

Pajutau hi-end programavimo reikalavimus

2009.11.01 Xamas Komentarų: 17

Anksčiau, išskyrus Asemblerio(assembler) užduotis, bei Disasemblerį(disassembler), kurio taip ir neparašiau, mokantis universitete, visad į pateiktas programavimo užduotis žiūrėdavau kaip į labai elementarius dalykus. Visų pirma dėl duodamų mėnesio terminų vien maksimaliam balui gauti, o visų antrą dėl nedidelių reikalavimo skirtumų.

Taip buvo ir su C, ir su C++ ir su Java pirmom užduotim. Tačiau dabar, praktiškai viskas pasikeitė. Faktiškai yra duodama viena savaitė naujai programai parašyti(terminai yra kas dvi savaitės, bet viena iš tų dviejų yra 95 proc. atveju esamos programos pataisymas pagal reikalautus pakeitimus).

O ir palyginus dviejų užduočių reikalavimus:

Užduotį reikia atsiskaityti iki 2009.10.26 imtinai

1. Kurios nors užduoties klasės vietoje sudaryti bent trijų klasių hierarchiją.
2. Aprašyti specifinį išvestinių klasių elgesį, perrašant reikiamus bazinės klasės metodus.
3. Bent vieną išvestinę klasę papildyti laukais ir metodais, kurių nėra bazinėje.
4. Pademonstruoti klasių polimorfinį elgesį vykdymui skirtoje klasėje.

Bei: 

Užduotį reikia atsiskaityti iki 2009.11.09 imtinai

1. Parengti parašytas klases klonavimui.
2. Vykdymui skirtoje klasėje pagaminti objektus su identiška būsena.
3. Išimtinių situacijų aprašymui sukurti savo išimčių klasių hierarchiją ir ją panaudoti.
4. Vykdymui skirtoje klasėje išimtis pagauti ir atspausdinti informatyvius pranešimus.
5. Prasmingai panaudoti static, final, static final specifikatorius kuriems nors klasių laukams ar/ir metodams.

Tikrai, kaip vienos savaitės darbui, reikalavimai tikrai gana progresyviai keliami. Ir jeigu visi universitetiniai dalykai būtų dėstomi tokiais tempais ir reikalavimais, manau nesunkiai būtų galima pamanyti besimokant ne VU MIF’e, o Kembridžo MIF’e :) . Ir mokslo kokybės nebūtų galima kritikuoti.

Taip, dauguma atveju tai priklauso nuo pačio dėstytojo. Šiuo atveju tikrai pasitaikė ‘programeris’ :) . Ir išties malonu tokiais atvejais rašyti programą, kuomet reikalavimai jai nebėra pirmoko lygmens :) .

Atsimenu vieno dėstytojo pretenzijas, kai parašiau programą per gudriai. Kadangi programos reikalavimas buvo rašytas Pascal programai, ir C++ buvo kaip alternatyvą, aš pasinaudojau ‘vector.h’ įrankiu ir labai lengvai realizavau programą. Tačiau visvien galiausiai teko perrašyti vector.h, t.y. pasirašyti savo ‘vector.h’ vien dėl to, kad realizuoti programos ‘tūpūmą’.

Beje, nusivyliau ir C++ universitetiniais reikalavimais. Niekas nereikavo panaudoti nei ‘template’ <T> tipo abstrakčių duomenų tipų, nei realizuoti grafinio interfeiso. T.y. bent jau primityvaus grafinio modeliavimo. Tai padariau tik savo noru ir nuožiūrą.

Ko pasekoje gaudavosi kuriozinė situacija, universitetinį pažymį ‘10′ galėjo gauti tie, kurie rašė elementarias programas.

Java programų atveju, kaip jau minėjau vienas dalykas tapo idealus – tai deadline’ai. Kas dvi savaitės, o praktiškai – kas viena. Reikalavimų progresija išties puiki. Neskaitant tūpų pirmųjų programų, kuomet atsiskaityt pirmas dvi pavyko per 30 minučių, o parašyt – tik pora dienų, nes reikalavimai joms buvo tarsi cheap-quality php tinklapio.

Mano supratimu, jeigu jau mokaisi VU, ir neva hi-end specialybėje, tai apskritai joje neturėtų būti žmonių gaunančių aukštus įvertinimus rašant žemo lygio programas. Ir reikalavimai turėtų būti ne hi-end, o labiau super-hi-end.

Nes priešingu atveju universitetas neteikia jokios naudos – gi universitetas siekia išugdyti kvalifikuotus specialistus. Bet kaip jis tokius gali išugdyti, kai ’sunkiausiai’ semestro programa ‘tenkinanti’ reikalavimus teužima vos 700 eilučių ir parašoma per dieną-dvi. Ir tokia programa gerų geriausiai teišnaudoja vos pusę programavimo kalbos galimybių.

Ir po to tokie specialistai eina dirbti į įmones. :) Nieko stebėtina, kad pačios įmonės po to turi inverstuoti tūkstančius į darbuotojų kvalifikacijos kėlimą.

——-

Kitas aspektas – tikrai neturėtų būti taip, kad visus semestro laboratorinius programavimo darbus pavyktų atsiskaityt vos per pirmas 4-5 semestro savaites kiekvienai programai skiriant vos viena-dvi dienas darbo.

O to esmė vėlgi, kaip jau ir minėjau – tiesiog programų sudėtingumo kilimo kreivė yra kone horizontali, nors pagal Kembridžo dėsnius ji turėtų būti bent jau geometrinės progresijos arba netgi eksponentinė.

Galbūt ir tokiu atveju būtų įmanoma atsiskaityti darbus per 7-8 semestro savaites, bet tokiu atveju vienai programai mažiausiai 4 pilnų dienų gilinimosi į prog. kalbos galimybes ir jos realizacija prireiktų, ir bent jau gavęs diplomą studentas galėtų sakyti kad jis kažko vertas.

Dabar gi gaunasi taip, kad ir tas, kuris rašo 3000+ eilučių programas realizuodamas paskutine ’sunkiausia’ semestro užduotimi 90+ proc.  prog. kalbos esminių galimybių, ir tas, kuris rašo 600-700 eilučių programas, realizuodamas vos 40-50 proc. prog. kalbos savybių, gauna lygiai tokius pačius diplomus. Negana to, jeigu pastarąjam geriau sekąsi antriniai specialybės dalykai, jis gali būti netgi aukščiau už pirmąjį žmogų.

Taigi ar tame yra logikos? Manau, kad ne.

Žinoma, visada atsiras prieštaraujančių, kad reikalavimai programoms yra ‘kosminiai’.

Bet tada kyla natūralus klausimas tokiems žmonėms – ko Jūs einate į tuos universitetus?

Kitas kuriozinis dalykas – universitetuose praktiškai nedėstomas Php. O C# dėstomas minimaliai. Kas dar kurioziškiau – realybėje realūs darbo užsakymai būtent sudaro 90 proc. būtent šioms programavimo kalboms. :)

Tačiau itin uoliai išdėstomas ‘pascal’is’. Ir turbūt būtų išdėstytas dar uoliau, jeigu ne galimybės pakeisti pascal į C++ leidimas antrame ir tolimesniuose semestruose universitete. Tačiau visgi visi dėstytojai ‘pasikaustę paskalyje’, ir kartais gana juokinga būdavo žiūrėti kaip jie vertina ‘C++ kodą’ :) . O supratę, kad C++ tai padaryti be galo paprasta ir lengva atsidurdavo keblioje situacijoje – universitetiniai reikalavimai tiesiog nėra ruošiami aukštesnio lygio programavimo kalboms.

Tai tiek minčių apie mokslo kokybę Lietuvos universitetuose. Šiuo atveju, bene geriausiu laikomame ‘VU’. Skirtumas tas, kad nuo šių metų fux’ai už tai dar moka ir kelioliką tūkstančių litų kasmet :) . Argi ne kurioziška :) .