Preskoči na sadržaj

Povijest

Nastanak i razvoj ustrojbenih jedinica

Laboratorij za računalne mreže

U travnju 2008. godine, usporedno s osnivanjem Odjela za informatiku, predviđeno je uspostavljanje četiri laboratorija, među njima i Laboratorija za računalne mreže kao ustrojbene jedinice na Katedri za mrežne sustave koja je oformljena na Zavodu za komunikacijske sustave. Za voditelja Laboratorija predviđen je asistent Igor Jugo.

Godinu dana kasnije na Odjelu je zaposlen Vedran Miletić na mjestu asistenta s namjerom da preuzme nastavu vježbi iz kolegija Računalne mreže 1 i Računalne mreže 2, a time i vodstvo Laboratorija namijenjenog za izvođenje laboratorijskih vježbi i brigu o unaprjeđenju praktične nastavne djelatnosti iz tih predmeta.

Laboratorij za računalne mreže, paralelizaciju i simulaciju

Nakon preseljenja Odjela za informatiku u zgradu Sveučilišnih odjela na kampusu Trsat u listopadu 2012. godine Laboratorij je smješten u prostoriju O-336. Kako iste godine kreće izvođenje kolegija Paralelno programiranje na heterogenim sustavima u partnerstvu s tvrtkom NVIDIA u sklopu programa CUDA nastavni centar, Laboratorij proširuje svoj rad i na to područje. Teme od interesa stoga uključuju paralelizaciju algoritama za izvođenje na grafičkim procesorima i općenito razvoj simulacijske programske podrške namijenjene za izvođenje na superračunalima. Cilj je bio da Laboratorij vremenom postane i sudionik NVIDIA-inog programa CUDA istraživački centar.

S tim ciljem na umu, u listopadu 2013. godine laboratorij je započeo suradnju s Grupom za strukturu i funkciju biomolekula s Odjela za biotehnologiju koja je pokazala veliki interes za korištenje grafičkih procesora za istraživanja u području biokemije. Kako se suradnja pokazala plodonosnom, fokus znanstvenog rada Laboratorija postao je primjena tehnologija paralelnog i distribuiranog programiranja u računalnoj kemiji i srodnim disciplinama. Znanstveni rezultati stvoreni u okviru te suradnje objavljeni su u pet zajedničkih publikacija.

Grupa za aplikacije i usluge na eksaskalarnoj istraživačkoj infrastrukturi

U listopadu 2021. usporedno s promjenom naziva Odjela za informatiku u Fakultet informatike i digitalnih tehnologija donesena je i odluka o novom unutarnjem ustroju. U okviru tog ustroja se ukidaju zavodi, katedre prenamjenjuju u ustrojbene jedinice za organizaciju nastavne, a laboratoriji u ustrojbene jedinice za organizaciju znanstvene djelatnosti. Neformalno mogu postojati grupe koje su istovremeno nastavnog i istraživačkog karaktera.

Kako je djelatnost Laboratorija bila tijekom proteklih godina i nastavnog i istraživačkog karaktera, kao njegov nasljednik oformljena je Grupa za aplikacije i usluge na eksaskalarnoj istraživačkoj infrastrukturi. Odabrano ime obuhvaća aktualne i planirane pravce znanstvenog istraživanja i nastavnog rada. Dodatno, kako istraživački tim s Nacionalnog sveučilišta obrambene tehnologije u Kini predviđa da će eksaskalarnu infrastrukturu zamijeniti zetaskalarna 2035. godine, za očekivati je da će ovo područje istraživanja i posljedično naziv grupe biti aktualni barem 14 godina.

Tehnologije prezentacije nastavnih materijala

MoinMoin

Početkom 2011. godine docentica Ana Meštrović i asistent Vedran Miletić pokrenuli su dva wikija za potrebe nastave, BlueWiki za Logičko programiranje i Upravljanje znanjem te RedWiki za Operacijske sustave 1, Operacijske sustave 2 i Upravljanje mrežnim sustavima. Cilj oba wikija bio je omogućiti suradnju u izradi nastavnih materijala, ali i seminarskih i praktičnih radova studenata. Za pogon oba wikija iskorišten je sustav MoinMoin, pisan u Pythonu, jednostavan za instalaciju, održavanje i korištenje te lako proširiv.

Godinu dana kasnije RedWiki je preimenovan u HeterogeneousWiki (kraće HgWiki) kako bi ime odražavalo sadržaj, odnosno veliki broj različitih nastavnih materijala koji su već bili postavljeni i nove koji su trebali doći u budućnosti. Osim ranije navedenih kolegija, na wikiju su sada bili i kolegiji Računalne mreže 1 i Računalne mreže 2. Dodatni razlog za odabir baš tog imena bila je namjera uključivanja materijala za kolegij Paralelno programiranje na heterogenim sustavima koji je bio u pripremi tijekom ljeta 2012. godine. Otprilike u isto vrijeme su na wiki dodani i materijali za vježbe iz Distribuiranih sustava.

HgWiki je uvelike olakšao pripremu materijala za vježbe i studentima omogućio pristup nastavnim materijalima putem interneta. Međutim, kako web evolvira izrazito brzo, tako i očekivanja od načina prezentacije nastavnih materijala rastu. Specifično, od samog početka HgWikija postojao je interes od strane studenata za poboljšanjem podrške za mobilne uređaje i taj je interes bio u porastu iz godine u godinu s rastom popularnosti pristupanja webu putem mobilnih uređaja. Nažalost, službena tema za MoinMoin koju smo koristili nije bila namijenjena za mobilne uređaje, a isto nisu bile ni teme treće strane koje smo proučili. Čak i da su teme treće strane bile namijenjene za mobilne uređaje, bili smo ih nevoljki koristiti s obzirom na upitnu podršku kroz duži period. Naposlijetku, sama budućnost MoinMoina bila je neizvjesna s obzirom na velike i ambiciozne planove za verziju 2.0 uz relativno mali broj programera koji na njemu aktivno rade.

MoinMoin smo koristili do ljeta 2014. godine.

reStructuredText, Sphinx i Bootstrap

Kako bismo studentima omogućili da uče kad žele, gdje žele i s kojih god uređaja žele, postavili smo temeljni zahtjev prema nasljedniku HgWikija da bude potpuno responzivan, odnosno da ga bude moguće koristiti i na web preglednicima na mobilnim uređajima različitih veličina ekrana. Naravno, to nije bio jedini zahtjev prema nasljedniku HgWikija; htjeli smo i skup materijala učiniti jednostavnijim za navigaciju i pretraživanje, staviti fokus isključivo na sadržaj vježbi i prateće zadatke te smanjiti količinu distrakcije na stranicama, naročito na mobilnim uređajima gdje je prostor na ekranu vrlo ograničen.

Razmotreni su wiki sustavi DokuWiki i MediaWiki, a naposlijetku je odlučeno da se umjesto prelaska na drugi wiki sustav počne koristiti sustav za dokumentaciju Sphinx. Sphinx je alat napisan u programskom jeziku Python koji prevodi sadržaj u formatu reStructuredText u HTML (ili PDF putem LaTeX-a, ili neki treći format); dobivene HTML datoteke s unaprijed renderiranim/generiranim sadržajem je zatim moguće posluživati korištenjem bilo kojeg web poslužitelja (uključujući i PaaS). Sphinx je zbog toga generator statičkih stranica i, za razliku od ranije navedenih wiki sustava, kod posluživanja web sjedišta ne zahtijeva pokretanje interpretera programskog jezika na poslužitelju. Taj arhitekturalni pristup kasnije je nazvan Jamstack.

Kako je pritom sadržaj HgWikija pretvoren u format reStructuredText, rezultat pretvorbe je imenovan reStructuredHgWiki (pritom je količina kreativnosti u imenovanju bila na maksimalnoj razini). Umjesto uređivanja sadržaja stranica putem web aplikacije, promjene su se vršile izravno u tekstualnim datotekama verzioniranim korištenjem Gita i čuvanim na Bitbucketu. Responzivnost je omogućio sveprisutni Bootstrap putem teme Bootstrap za Sphinx, a za vizualni identitet je poslužila Bootswatcheva tema Cerulean čija paleta boja je slična bojama Odjela za informatiku.

Početkom 2018. godine postala je dostupna Bootstrap verzija 4 i bilo je vrlo brzo jasno da tema za Sphinx koju smo koristili neće tako skoro prijeći na nju. Zbog toga smo odlučili temu Bootstrap zamijeniti za temu Read the Docs, koja je bila vjerojatno najkorištenija tema za Sphinx i koja je zbog podrške istoimene kompanije, zajednice entuzijasta i velikog broja korisnika imala osiguranu budućnost.

Sphinx smo koristili do ljeta 2021. godine.

Markdown, MkDocs i Material

Prednosti generatora statičkih stranica, odnosno generatora Jamstack sjedišta, su nam se tijekom ovih 7 godina postale jasne i htjeli smo ih zadržati. Zbog toga smo se kod traženja alternative Sphinxu ograničili na Jamstackov popis, uz otvorenost prema korištenju drugog formata umjesto reStructuredTexta.

Format reStructuredText nudio je brojne prednosti nad jednostavnijim i popularnijim Markdownom kod pisanja dokumentacije programske podrške. Nažalost, te prednosti nisu značile naročito mnogo kod pisanja nastavnih materijala jer nastavni materijali nisu koristili podršku za stiliziranje tipova podataka programskih jezika C++ i Python. S druge strane, MkDocs, popularni generator statičkih stranica za Markdown, je uz proširenja za parser Python-Markdown i dodatna proširenja PyMdown Extensions nudio gotovo sve značajke koje su potrebne za pisanje nastavnih materijala i koje smo koristili u Sphinxu. Uz to, neke operacije su bile i jednostavnije; primjerice, moguće je bez instalacije dodataka jednom naredbom generirati HTML iz napisanog Markdowna i postaviti ga na GitHub Pages, što nas je motiviralo da prijeđemo s Bitbucketa na GitHub.

Dodatno je privlačna bila izvrsno dizajnirana i redovito osvježavana tema Material za MkDocs koja je, uz responzivnost, nudila i druge korisne značajke kao što su odabir sheme boja i tamni način rada, višejezičnost, pretraživanje stranica za vrijeme unosa teksta, integraciju Google Analyticsa, automatsko skrivanje zaglavlja kod skrolanja kako bi sadržaj dobio više prostora te dodavanje Git repozitorija s izvornim kodom materijala.

Naposljetku, ali nikako najmanje važno, iz godine u godinu sve je veći broj studenata mogao čitati i pisati Markdown, velikim dijelom zahvaljujući korištenju Markdowna na GitHubu i drugdje na webu te podršci za uređivanje Markdown datoteka u popularnom razvojnom okruženju Visual Studio Code. Kako je od početka bio cilj omogućiti studentima da lako doprinose nastavnim materijalima ako to žele, napravljena je pretvorba čitavog sadržaja reStructuredHgWikija (preko 200 000 riječi) iz reStructuredTexta u Markdown. Kako pritom kreativnost nije bila na maksimalnoj razini, rezultat je jednostavno nazvan nastavnim materijalima istodobno oformljene Grupe za aplikacije i usluge na eksaskalarnoj istraživačkoj infrastrukturi.

Author: Vedran Miletić