Programų sistemų katedra įkurta 1999 metų gegužės 10 dieną.

 

Programų sistemų katedros steigimo pagrindimas

Kodėl reikia steigti informatikos krypties naują katedrą?

Šeštąjame dešimtmetyje atsiradusi informatikos niša pildėsi iš dviejų srautų: radioelektronikos ir matematikos.
Raidos pradžioje radioelektronikų įsiliejimą į informatikų gretas lėmė kompiuterių techninės įrangos vyraujanti padėtis prieš jų programinę įrangą. Vėliau, šiam santykiui kintant programinės įrangos naudai, toks įsiliejimas mažėjo. Matematikų persikvalifikavimas į informatikus arba jų savarankiškas informatiko kvalifikacijos įgijimas yra dažnesnis reiškinys negu radioelektronikų atveju.
Pirmoji informatikos 25 inžinierių laida 1960 metais baigė Kauno Politechnikos Institutą. Sekantį dešimtmetį šį institutą baigė kasmet vidutiniškai 23 inžinieriai su vis besikeičiančiu specialybės pavadinimu: skaičiavimo mašinos, matematiniai ir skaičiavimo prietaisai bei įrenginiai ir pan. Nuo tų metų iki dabar ruošiami kompiuterių techninės įrangos inžinieriai.
1972 metais Kauno Politechnikos Institutą baigė 24 taikomosios matematikos ir 6 automatizuoto valdymo sistemų absolventai. Jie pradėjo tenkinti vis augančius matematinės ir programinės įrangos bei kompiuterių taikymo poreikius.
Vilniaus Universitete informatikos pradžia susijusi ne su naujos specialybės įvedimu, bet su matematikos specialybės gamybinio profilio absolventų paskyrimu į darbą kompiuterių programuotojais. Pradžia galima būtų laikyti 1962 metus. Per dešimtmetį matematikų gamybininkų absolventų skaičius išaugo nuo 25 iki 50.
Matematikos specialybės absolventai nuo 1960 metų ir žymia dalimi iki dabar savarankiškai įgyja informatikų kvalifikaciją. Bet kuriuo atveju, ginčas dėl matematinio paruošimo tinkamumo darbui informatikos srityje yra daugiau vietinio ir teorinio pobūdžio, nes pasaulinėje praktikoje tiek informatikos disciplina, tiek informatikos specialybė yra savarankiški dalykai. Tačiau faktas yra tas, kad žymi, nors vis mažėjanti, dalis besidarbuojančių informatikoje turi bazinį matematiko išsilavinimą.
Taikomosios matematikos specialybė Vilniaus Universiteto Matematikos fakultete įkurta 1970 metais. Šios specialybės įkūrimas sudarė palankesnes sąlygas informatikos vystymuisi Matematikos fakultete, mokymo proceso atitikimui informatikos disciplinos reikalavimams. Taikomosios matematikos specialybėje 1979 metais įsteigta ESM matematinės įrangos specializacija ir šią specializaciją kuruojanti ESM matematinės įrangos katedra.
Informatikos specialybė Matematikos fakultete įsteigta 1991 metais. Specialybėje yra dvi jau anksčiau susiformavusios specializacijos, kurių pavadinimai evoliucionavo iki šiuo metu naudojamų pavadinimų: kompiuterių mokslas ir programų sistemos.
Matematikos fakultete neatsirado matematikų (kaip daugelyje kitų universitetų), kurie persikvalifikuotų į informatikus. Todėl vienintelis būdas spręsti aukščiausios kvalifikacijos informatikos specialistų problemą buvo pasinaudoti kitų universitetų specialistais, pasikviečiant juos pačius arba siunčiant pas juos mokytis savus studentus ir jaunus dėstytojus. Į Maskvos, Peterburgo ir kitus universitetus buvo pasiųsta visa eilė studentų ir stažuotojų su tikslu baigti aspirantūrą ir paruošti mokslų kandidato disertaciją. Vykdant šį planą, užmegztas labai glaudus bendradarbiavimas su žymiausiais Rusijos informatikos specialistais, paruoštos ir apgintos aštuonios mokslų kandidato disertacijos informatikos mokslų kryptyje.
Betarpiškai informatikos specialistų rengimo pradžia Vilniaus Universitete reikėtų laikyti 1981 metus, kai studijas baigė pirmieji taikomosios matematikos specialybės ESM matematinės įrangos specializacijos absolventai.
Per 20 metų nuo ESM matematinės įrangos katedros įsteigimo informatikoje ir jos reikšmingumui visuomenėje įvyko dramatiški pasikeitimai. Tų pasikeitimų natūralus atspindys - įsteigti Informatikos fakultetai, specialybės, katedros daugelyje Lietuvos universitetų. Tuo tarpu Matematikos fakultete šie procesai užkonservuoti lyg "mamutai amžino įšalo žemėje". Kiekvienas pakitimas lydimas daugybe kompromisų, kaip kokie svarsčiai prie kojų trukdančių vytis nuvažiuojantį informatikos traukinį. Kur tai matyta, kad XX-to amžiaus pačioje pabaigoje informatikos pirmakursiai mokytųsi pagal klasikinę matematikos studijų programą su 60 proc. studijuojamų grynai matematinių disciplinų?
Per tuos 20 metų, nors ir sunkiai, bet vis tik įvyko rimtų pokyčių - apie pusę fakulteto studentų yra informatikai. Todėl informatikos krypties naujos katedros steigimas yra natūralus dalykas, mažinantis susidariusį disbalansą ir nereikalaujantis jokių papildomų argumentų. Priešingai, nėra jokių argumentų esamo disbalanso išsaugojimui, išskyrus grupinius interesus. Tačiau informatikos Vilniaus universitete, kaip pagrindinio informatikos centro Vilniuje, vystymosi blokavimas yra per didelė kaina Lietuvai už atskirų grupinių interesų tenkinimą.

Kodėl reikia steigti Programų sistemų katedrą?
Prieš dešimtį metų pasauliniu mastu imta vis labiau akcentuoti programinės įrangos krizę ir imtis adekvačių veiksmų jos įveikimui. Tyrimais nustatyta, kad vos keli procentai sukurtos programinės įrangos yra naudojama. Be to, daugelio programinės įrangos projektų faktiniai kaštai ir terminai net kelis kartus viršija planinius. Programinės įrangos kūrime į pirmąjį planą iškyla inžineriniai bei ekonominiai aspektai. Programinės įrangos instrumentinių priemonių kūrimas ir gamyba vis labiau koncentruojasi atskiruose taškuose, o visuotiną pobūdį išsaugo tik taikomosios programinės įrangos kūrimas bei integravimas, panaudojant esamus instrumentus bei metodus.
Kaip reakcija į programinės įrangos krizę, į areną ateina programų inžinerija (Software Engineering), ypač kaip savarankiška profesija ir kaip savarankiška specialybė.
Buvo toks laikas, kai matematikos specialybė tarnavo tramplinu į programuotojo profesiją. Laikui bėgant, situacija pasikeitė ir atsirado vienokiu ar kitokiu pavadinimu "programuotojo" specialybė. Dabar istorija padarė dar vieną kilpą spirale. "Programuotojo" specialybė tarnauja tramplinu programų inžinieriaus profesijai. Tačiau labai rimtai formuojasi savarankiška programų inžinerijos specialybė. Nekyla didesnių abejonių, kad dabartinė "programuotojo" specialybė taps nelabai tinkamu būdu pasirengti programų inžinieriaus profesijai.
Galima būtų pabandyti apibūdinti informatikos pasaulyje vykstančius procesus. Kompiuterių mokslas jungiasi su kompiuterių inžinerija, bet programų inžinerija atsiskiria ir galbūt absorbuos informacines sistemas. Prasidėjo diskusija: ar programų inžinerija yra kompiuterių mokslo ir inžinerijos dalis, ar priešingai, kompiuterių mokslas ir inžinerija yra programų inžinerijos dalis. Programų inžinerija, kaip savarankiška esybė - disciplina, specialybė, profesija - dar tik kuriasi, dar nėra laiko patikrintų stereotipų. Kelias dešimtis metų programų inžinerija egzistuoja tik kaip skyrius, dalykas ar pareigos. Tam tikra prasme programų inžinerijos savarankiškumas atsiranda kaip reakcija į kompiuterių mokslo ir inžinerijos akademizmą, instrumentinę orientaciją, inžinerijos, kaip ekonominės kategorijos, traktavimo stoką.
Viskas, kas esminio vyksta informatikoje, vyksta Amerikoje, tik nevadinant to informatika. Visa ta struktūrizacija, visos srovės vyksta JAV. Kitur pasaulyje tėra tik tų procesų atšvaitai. Mes ilgą laiką džiaugėmės ir tebesidžiaugiame, kad informatika - tai intelektualiam darbui imlus užsiėmimas, o mes kaip tik ir esame intelektualūs, nors ir neturtingi, neturim jokių iškasenų ar šiaip naudingų dalykų, išskyrus tranzitą ir gražias moteris. Vadinasi, mums informatika tik ir užsiėminėt. Atrodo, kad informatika pastaraisiais metais įgavo naują esminį bruožą, labai mums nemalonų ir verčiantį atsigręžti į inžinerinius ir ekonominius aspektus.
Informatika tampa finansams imliu užsiėmimu!
Praėjo tie laikai, kai du vyrukai garaže informatikos verslą pradėjo... Dabar mes labai sėkmingai padedame tų vyrukų produktus pardavinėti. Padedame, nors ir ne taip sėkmingai, parduotus prižiūrėti. Dar nesupratome, ar galime patys sau kažką tautiška pasidaryti, ar reikia paprašyti, kad užsieniečiai padarytų. Bandoma ir vienaip, ir kitaip. Buvo netgi bandyta pavyti ir pralenkti iki 2000-ųjų metų. Tik viena bėda: visos tos idėjos gimsta komersantų galvose, reikalinga tik kilni priedanga: Lietuvos informacinė infrastruktūra, lietuviškas kompiuteris mokykloms, lietuviškas kompiuteris apskritai, mokyklų kompiuterizacija, savivaldybių ir valstybinių valdininkų informatizacija, muitininkų digitalizacija, bobučių kortelizacija ir t.t. Kol dar nėra principo: man gerai, kai klientui gerai ir kol užsakovas nėra šeimininkas - visi tokie projektai yra pasmerkti. Pačiu geriausiu atveju, kai jokios korupcijos nėra, situaciją Lietuvoje ryšium su didesniais informatikos projektais galima būtų apibūdinti: "Yra galimybė pasirinkti Škodą arba Mersedesą. Ką renkiesi?" Natūralu, kad renkasi Mersedesą, pvz. ORACLE, o tas, kas bando taupyti valdiškus pinigus, lieka durniaus vietoje. Yra tarpusavyje konkuruojantys komersantai, yra valdininkai, kartais suinteresuoti, kartais nekompetentingi, ir tokioje situacijoje valstybė turėtų būti suinteresuota stipraus nepriklausomo informatikos ekspertų centro buvimu. Programų sistemų katedros įkūrimas Vilniaus universitete būtų žingsnis šia linkme.
Kažkaip savaime Lietuvoje labai prigijo terminas "informatika". Gal tik bibliotekininkai kiek protestavo, kadangi buvusioje Tarybų Sąjungoje tas terminas buvo užimtas ir turėjo kitokią prasmę, būtent, bibliografinės informacijos apdorojimo automatizavimas. Jėgos buvo per daug nelygios ir į tuos protestus niekas dėmesio nekreipė. Per daug jau visiems buvo įgrisę: ESM matematinė įranga, programinė įranga, techninė įranga. Kompiuterių mokslas, kompiuterių inžinerija ar programų inžinerija irgi kažkaip nelimpa. Visiems tiko informatika, visi esam informatikai. Struktūra ir srovės liko praeityje. Ar vėl atsiras struktūrizacija? Yra balsų, raginančių, kad mums reikia pasiskirstyti, specializuotis, kad vieni universitetai keltų sau vienus tikslus, kiti - kitus, kad turėtume skirtingas informatikos studijų programas ir pan. Gana aišku, kad valingų sprendimų laikai praėjo ir kad procesas vyks natūraliai. Kaip jis vyks? Nėra akivaizdu. Net ir dabar vykstantis programų inžinerijos formavimasis nėra paties dalyko sąlygotas. Kompiuterių mokslas, kompiuterių inžinerija, programų inžinerija ir informacinės sistemos iš esmės kalba apie tą patį, tik skirtingai sudeda akcentus. Programų inžinerija akcentuoja ekonominius sprendimų aspektus: geras programų inžinerijos sprendimas yra ekonomiškas sprendimas. Informacinės sistemos yra labai svarbi taikymų sritis, galbūt pati svarbiausia.
Pagal įvykių raidą informatikoje schematiškai galima būtų apjungti kompiuterių mokslą ir inžineriją į vieną grupę bei programų inžineriją ir informacines sistemas - į kitą. Tokio sustambinto sujungimo kriterijais galima būtų laikyti:
1) pirmaeilis kompiuterių mokslo ir inžinerijos uždavinys yra instrumentinių (gamybos) priemonių gamyba, o programų inžinerija ir informacinės sistemos visų pirma orientuoti į taikymus, nors, savaime suprantama, programų inžinerijos metodai yra taikomi ir instrumentinių priemonių gamyboje;
2) kompiuterių mokslas ir inžinerija labiau iškelia mokslą bei tyrimus, projektuojami dalykai turi geresnį teorinį pagrindą, einama nuo apačios į viršų. O programų inžinerija ir informacinės sistemos dažnai susiduria su uždaviniais, kurių nėra išsprendę kompiuterių mokslas ir inžinerija. Tai yra praktiniai uždaviniai ir juos bet kuriuo atveju reikia spręsti, nors mokslas ir mažai pagelbsti. Aišku, gaunami nekokybiški arba nepakankamai kokybiški sprendimai, bet pasirinkimo nėra. Išsprendus daugybę tokių praktinių uždavinių, susikaupia tam tikra patirtis, atsiranda poreikis ją apibendrinti, užfiksuoti, t.y. gaminti žinias ir dalintis jomis su kitais. Tai ir sudaro programų inžinerijos ir informacinių sistemų sritis. Tos žinios, aišku, yra kitokios, negu kompiuterių mokslo. Nėra tokių griežtų sąvokų, nėra tokių formalizmų, mažiau įrodymų, daugiau atpasakojimo, arčiau į socialinius mokslus. Iš pradžių ieškoma atsakymų į pačius bendriausius klausimus, vėliau siekiama juos detalizuoti. Sąlygiškai galima būtų sakyti, kad einama iš viršaus į apačią. Tai tiesiog pats gyvenimas.

Tačiau nėra nieko praktiškesnio už gerą teoriją. Objektyvumo dėlei tinka paklausti: kas gali būti vertingesnio programų inžinerijai ir informacinėms sistemoms už matematikų sukurtus reliacinių duomenų bazių valdymo sistemų pagrindus arba asimetrinį kriptavimo mechanizmą. Panašu, kad ypatingą svarbą įgis matematika pagrįstas programų kūrimo metodas CLEANROOM. Savaime aišku, iš to neseka, kad bet kokia matematika ar bet kokie matematikai tinka ir gali traukti informatikos vežimą.
Nėra jokio pagrindo kalbėti apie prieštaravimus tarp kompiuterių mokslo ir inžinerijos bei programų inžinerijos ir informacinių sistemų. Priešingai, galima manyti, kad tai yra skirtingi, naudingi ir svarbūs požiūriai į tą patį dalyką, egzistuojantys dėl negalėjimo pavieniui susidoroti su praktikos padiktuotomis problemomis.
Gary Ford iš JAV Gynybos Departamento įsteigto ir finansuojamo Programų inžinerijos instituto prie Carnegie Mellon universiteto atkreipia dėmesį, kad universitetuose, kur nėra inžinerinių padalinių, pavadinimas "Software Engineering" gali kelti komplikacijų ir siūlo naudoti neutralų terminą "Software Systems". Todėl bent jau lietuviškai galėtume sakyti "programų sistemos", tačiau susikalbėjimo dėlei, kad nereikėtų papildomų komentarų, anglų kalba tikslinga būtų naudoti terminą "Software Engineering".
Lietuvos informacinių technologijų firmų vadovų daug kartų išsakyti pageidavimai, išreiškiami vienokiais ar kitokiais žodžiais, faktiškai reiškia, kad jiems labiausiai trūksta programų inžinierių (naudojant šiuolaikinę terminologiją). Todėl informatikos Vilniaus universitete vystymosi strateginis žingsnis būtų parengti programų sistemų (programų inžinerijos) studijų programą ir ją įgyvendinti.
Šiam uždaviniui atlikti ir yra steigiama Programų sistemų katedra.

Kas gali atlikti Programų sistemų specialistų ruošimo darbą?

Programų inžinierius - tai profesionalas, apjungiantis savyje 3 sugebėjimus: programuotojo, projektuotojo bei analitiko ir kiekviename iš šių vaidmenų taikantis programų kūrimo proceso metodus (technical management).
Programų inžinierių rengimas iškelia netradicinius reikalavimus studijų procesui ir jį vykdančiam pedagogų personalui. Šios studijų krypties pedagogai turi subtiliai derinti moksliškumą su profesionalumu.
Programų sistemų katedra savo veikloje turi integruoti 3 komponentes: programų sistemų studijų užtikrinimą, programų inžinerijos analitinius bei tiriamuosius darbus ir programų inžinierių profesinės kvalifikacijos palaikymą bei ugdymą industrinių informatikos projektų pagrindu.
Informatikos specifika reikalauja bent jau dalies dėstytojų su industrine patirtimi. Dėl tos priežasties, pavyzdžiui, mums gerai žinoma Maskvos universiteto sisteminio programavimo katedra buvo ir yra sukomplektuota iš esmės tik iš specialistų, kurių pagrindinė darbovietė yra ne universitetas. Analogiška situacija yra labai dažna ir Vakarų šalių universitetuose. Nors Vilniaus universitetas yra paskelbęs, kad antraeilininkų skaičius yra per didelis, kad siektina jį mažinti, tačiau informatikos atveju tai nėra skiriamasis požymis tarp gerų ir prastų darbuotojų. Tiek gerų, tiek prastų darbuotojų gali būti ir tarp antraeilininkų ir tarp pagrindinėse pareigose Vilniaus universitete dirbančiųjų. Informatikos kryptyje antraeilininkai nėra blogybė, tai yra tiesiog normalu. Todėl principas: "antraeilininkų neskaičiuokime" yra nepriimtinas ir neatitinkantis tikrovės.

Pasiūlymą parengė komisija (A. Mitašiūnas, S. Ragaišis, A. Šermokas) daugkartinių konsultacijų su Informatikos katedros darbuotojais pagrindu. 1998.12.07.