Skip to main content

Tölvunarfræði

Tölvunarfræði

Verkfræði- og náttúruvísindasvið

Tölvunarfræði

BS gráða – 180 einingar

Nám í tölvunarfræði er eitt það hagnýtasta sem völ er á.

Tölvunarfræðingar taka virkan þátt í þróun, hönnun, prófun, breytingu og forritun hugbúnaðar og starfa með fólki úr mörgum fagstéttum.

Uppbygging og rekstur nútímaþjóðfélags byggist í veigamiklum atriðum á hugbúnaði og námið miðar að því að nemendur verði færir um að þróa og reka traustan og skilvirkan hugbúnað.

Skipulag náms

X

Hagnýt stærðfræðigreining (STÆ105G)

Í námskeiðinu er fjallað um undirstöðuatriði stærðfræðigreiningarinnar auk fylkjareiknings. Meginviðfansefni eru fallahugtakið, helstu föll stærðfræðigreiningarinnar (lograr, veldisvísisföll, hornaföll), markgildi, samfelldni, deildanleg föll, reglur um afleiður, afleiður af hærra stigi, stofnföll, notkun deildareiknings (svo sem  útgildisverkefni og línuleg nálgun), meðalgildissetningin, heildun, ákveðin heildi og reiknireglur fyrir þau, undirstöðusetning stærðfræðigreiningarinnar, heildunartækni, óeiginleg heildi, runur, raðir, afleiðujöfnur, vigrar og fylkjareikningur.

X

Tölvunarfræði 1 (TÖL101G)

Einingar til BS-prófs gilda aðeins fyrir annaðhvort TÖL101G Tölvunarfræði 1 eða TÖL105G Tölvunarfræði 1a.

Forritunarmálið Java verður notað til að kynnast grundvallaratriðum í tölvuforritun. Æfingar í forritasmíð verða á dagskrá allt misserið. Áhersla verður lögð á skipulegar og rökstuddar aðferðir við smíði forrita og góða innri skjölun. Helstu hugtök tengd tölvum og forritun. Klasar, hlutir og aðferðir. Stýrisetningar. Strengir og fylki, aðgerðir og innbyggð föll. Inntaks- og úttaksaðgerðir. Erfðir. Hugtök varðandi hönnun og byggingu kerfa og vinnubrögð við forritun. Ítrun og endurkvæmni. Röðun og leit.

X

Stærðfræðimynstur (TÖL104G)

Yrðingar, umsagnir og rökleiðingar. Mengjareikningur og Boolealgebrur. Þrepun og endurkvæmni. Grunnaðferðir við greiningu reiknirita og talningu. Einföld reiknirit í talnafræði. Vensl, eiginleikar þeirra og framsetning. Tré og net og einföld reiknirit tengd þeim. Strengir, dæmi um mál, stöðuvélar og málskipan.

Dæmatímar
Það eru 7 dæmahópar og nemendur velja sér hóp. Dæmatímar eru tvennskonar:
Venjulegir (5 hópar): 2x40 mín. vikulega, á eftir hverjum er 40 mín. stoðtími 
Hraðferðir (2 hópar): 1x40 mín. vikulega
Sjá nánar í stundaskrá

X

Vefforritun 1 (TÖL107G)

Kenndur er grunnur í vefsmíði með áherslu á framenda: HTML, CSS og JavaScript. Staðlar, venjur og það sem þarf til að útbúa góða vefi. Hönnun, útlit og að vinna með hönnunarskjöl. Forritun í túlkaða forritunarmálinu JavaScript, tenging þess við vafra og tól tengdum því. HTTP staðallinn kynntur. Verkefni felast í smíði vefja þar sem nýta skal það sem kennt er.

X

Viðmótsforritun (HBV201G)

Í þessu námskeiði munu nemendur þjálfa forritun grafísks notendaviðmóts í Java og læra um helstu skref í þróun hugbúnaðarverkefnis frá hugmyndavinnu til prófana. Lögð er áhersla á að nemendur öðlist meiri færni í forritun stærri verkefna en í byrjendanámskeiði í forritun (TÖL101G), geti hannað gagnvirkt notendaviðmót, forritað það og prófað. Í því felst að nemendur geti kynnt sér stór forritasöfn (hér JavaFX) og notað þau. Einnig að nemendur geti lesið, skilið og útfært fyrirmæli um virkni, þ.m.t. gagnvirkni. Nemendur munu kynnast hönnunarferli sem samanstendur af fimm sprettum, skilja verkefnið, skissa hugmyndir og gagnvirkni, velja úr og skilgreina, forrita frumgerð og að kokum prófa og ígrunda. Gefin er innsýn í efnisatriði eins og notendamiðaða þróun, hönnun gagnvirkni, frumgerðir og notendaprófanir.
Námskeiðið mun undirbúa nemendur fyrir námskeiðin Þróun hugbúnaðar og Hugbúnaðarverkefni 1 og þau námskeið þar sem nemendur þurfa að forrita. Námskeiðið er einnig góður grunnur fyrir námskeið eins og TÖL502M Samskipti manns og tölvu.

X

Stærðfræði og reiknifræði (REI201G)

Einingar til BS-prófs gilda aðeins fyrir annaðhvort REI201G Stærðfræði og reiknifræði eða STÆ107G Línuleg algebra.

Skekkjumat við fleytitölureikninga. Lausn ólinulegra jafna með ítrekun. Reiknifræðileg forritun í Python.  Vigrar, fylki, lausn línulegra jöfnuhneppa, aðhvarfsgreining.

X

Tölvunarfræði 2 (TÖL203G)

Námskeiðið mun nota forritunarmálið Java. Fjallað er um gagnaskipan, reiknirit og huglæg gagnatög. Meðal gagnaskipana, sem farið er yfir, eru listar, hlaðar, biðraðir, forgangsbiðraðir, tré, tvítré, tvíleitartré og hrúgur auk viðkomandi reiknirita. Kynnt verða ýmis leitar- og röðunarreiknirit. Reiknirit eru greind, hvað þau taka langan tíma í vinnslu og hve mikið minnisrými. Forritunarverkefni, sem nota áðurnefnda gagnaskipan og reiknirit, eru leyst í Java. Mörg lítil forritunarverkefni verða í námskeiðinu.

X

Tölvur, stýrikerfi og tölvufærni (TÖL205G)

Í þessu námskeiði er snert á mörgum hlutum sem tengjast tölvufærni. Markmið námskeiðsins er að kynna nemandann fyrir mörgum hugtökum án þess þó að kafa djúpt í hvert hugtak.

Kynning á stýrikerfinu Unix. Skipulag skráakerfis, helstu hjálparforrit, gluggakerfi, skipanalínuvinnsla og skeljarforritun. Einnig er farið yfir ritla í skelinni og höndlun gagna í henni. Farið er yfir útgáfustjórnunarkerfi eins og Git, notkun aflúsunaraðferða og aðferða til að byggja hugbúnað. Farið er yfir algeng hugtök í dulmálsfræðum og kynnt eru hugtök á borð við sýndarvélar og gáma.

X

Greining og hönnun stafrænna rása (TÖV201G)

Virkni og notkun flétturása, kóðara, afkóðara, lesminni (ROM), og forritanlegs rökrásabúnaðar við rásahönnun. Hönnun og greining reiknirása, samleggjari/frádragari, margfaldari. Hönnun og greining runurása bæði samhæfðar og ósamhæfðar. Farið verður í hönnun rása með D og JK vippum. Sérstakar runurásir, teljarar og hliðrunargisti. Meðhöndlun og notkun stöðuvéla (FSM). Stöðulágmörkun, stöðustjórnun, stöðukennsl. Runuvinnsla með stöðuvélum. Grundvallaratriði í notkun vélhermimáls (HDL) og forritanlegs rása búnaðar (FPGA) í samræmi við fyrrnefndar rásir. Nemendur munu skila sjö verklegum verkefnum sem byggja á stafrænni rásahönnun, Verilog og FPGA. Auk þess munu nemendur kynnast eldri aðferðum með notkun á tengibrettum til að byggja rásir nokkurra valinna verkefna.

Á síðari vikum námskeiðsins verður farið í hönnun flóknari rása með verilog og FPGA. Fjallað verður um kerfi á kubb ofl. Sem tengist notkunn FPGA og Xilinx hönnunarumhverfisins.

Markmið: Meðal markmiða námskeiðsins er að nemendur átti sig á grundvallaratriðum á greiningu og hönnun stafrænna rása og öðlist reynslu og þekkingu á leiðandi aðferðum við hönnun stafrænna rása.

X

Gagnasafnsfræði (TÖL303G)

Gagnasöfn og gagnasafnskerfi. Einindavenslalíkanið. Töflulíkanið og töflualgebra. SQL fyrirspurnarmálið. Hagkvæmni geymsluaðferða og úrvinnsluaðferða. Fallákveður, lyklar og staðalskipulag gagna í venslalíkaninu. Bestun fyrirspurna. Hreyfingar, samhliða vinnsla hreyfinga og læsingar. Endurbygging gagnasafna. Öryggi gagnasafna og aðgangsheimildir. Vöruhús gagna.

X

Forritunarmál (TÖL304G)

Helstu gerðir forritunarmála kynntar. Bálkmótuð mál, listavinnslumál, hlutbundin forritun. Lýsing forritunarmála, þýðendur og túlkar. Uppbygging bálkmótaðra mála. Einingaforritun. Föll og undirforrit, viðföng og samskipti. Minnismeðhöndlun, ruslasöfnun. Forritunarmálin Scheme, CAML, Java, Morpho, C++ og Haskell verða skoðuð. Hlutbundin forritunarmál. Hlutir og erfðir. Listavinnsla og fallsforritun. Lýsing forritunarmála. Málfræði, uppbygging þýðenda. Áhersla er lögð á einingaforritun (einkum fjölnota einingar), listavinnslu, fallsforritun, og bálkmótun.

X

Tölvutækni og forritun (TÖL309G)

Námskeiðið fjallar um innri gerð tölva og hvernig best er að haga forritun til að nýta sem best eiginleika nútíma tölva.  Farið verður í forritunarmálið C og sér í lagi fjallað um benda og minnisnotkun.  Táknun heiltalna og kommutalna í tölvum.  Forritun í x86-64 smalamáli.  Sérstaklega verður skoðað hvernig aðgerðir í C eru útfærðar í smalamáli.  Minnisstigveldi og áhrif þess á afköst forrita.  Ferli og stýring þeirra.  Útfærsla og notkun frábrigða í tölvum.  Sýndarminni tölva. Samskeiða forritun.

X

Þróun hugbúnaðar (HBV401G)

Í þessu námskeiði stíga nemendur skrefið frá því að forrita sjálfir lítil forrit til að leysa vel skilgreind afmörkuð verkefni yfir í að vinna í hópi með öðrum að gerð stærri forritakerfa sem uppfylla stundum óljósar kröfur viðskiptavina. Námskeiðið fjallar um ýmsar grunnhugmyndir hugbúnaðarverkfræði til að fást við slík stærri kerfi, svo sem lipur hugbúnaðarferli, hugbúnaðarferli byggð á áætlunum, þarfaverkfræði, mat á vinnumagni, hlutbundna greiningu og hönnun, högun hugbúnaðar og þróun byggða á prófunum. Notkun þessara hugtaka er æfð í hópvinnuverkefnum þar sem nemendur þróa kerfi sem eru samsett úr minni þáttum og forrituð í Java.

X

Tölfræði og gagnavinnsla (STÆ209G)

Í byrjun námskeiðsins eru grunnhugtök tölfræðinnar kynnt til sögunnar, svo sem þýði, úrtak og breyta. Nemendur kynnast hinum ýmsu lýsistærðum og myndrænni framsetningu gagna. Því næst verður farið í grundvallaratriði líkindafræðinnar og helstu líkindadreifingar kynntar.

Síðasti hluti námskeiðsins snýr að ályktunartölfræði þar sem skoðuð verða tilgátupróf og öryggisbil fyrir meðaltöl, dreifni og hlutföll og farið verður í fervikagreiningu og aðhvarfsgreiningu. Nemendur læra beitingu allra ofangreindra aðferða í tölfræðihugbúnaðinum R.

X

Stýrikerfi (TÖL401G)

Innihald námskeiðsins nær yfir hugtök um stýrikerfi tölva. 

Auk grunn undirstöðu í vélbúnaðarbyggingum tölva og almennri uppbyggingu stýrikerfa verður farið yfir helstu hugtök um ferla (processes) og þræði (threads) ásamt stjórnun þeirra, meginreglur um tímasetningar og tímasetninga fyrir reiknirit, samskipti og samstillingu milli ferla og vandamál sem tengjast sjálfheldu, meginreglur í minnisstjórnun þar á meðal sýndarminni og reiknirit fyrir síðuskipti, skjalakerfi og útfærslu þeirra, sem og stjórnun á geymslu gagna.

Ef tíminn leyfir þá verður fjallað um meginreglur er varða vernd og öryggi og þætti er snúa að dreifingu (t.d. hugtök dreifðra kerfa og dreifðra skjalkerfa). Í þessu námskeiði eru almenn hugtök kynnt sem notuð eru við innleiðingu stýrikerfa og sem forritunarhönnuður þarf að þekkja við hönnun á notendahugbúnaði. 

Í námskeiðinu er ekki fjallað um smáatriði er varða útfærslu stýrikerfa. Þar sem við á eru stýrikerfi eins og Microsoft Windows og POSIX-samhæft UNIX-líkt kerfi (t.d. Linux) notuð sem tilviksrannsókn við útfærslu og stýrikerfisköll. Notkun á stýrikerfis þjónustu innan forritunarmála (t.d. C, C++ og Java) er sýnd á grundvelli forritunar viðmóta (API), sem ríkjandi kerfis bókasöfn (system libraries) bjóða upp á.

X

Greining reiknirita (TÖL403G)

Aðferðir við hönnun og greiningu á tímaflækju reiknirita. Kynning og greining á reikniritum fyrir röðun, leit, netafræði og fylkjareikning. Torleysanleg vandamál, nálgunaraðferðir og slembin reiknirit.

X

Hugbúnaðarverkefni 1 (HBV501G)

Markmið námskeiðsins er að nemendur geti þróað hugbúnaðarkerfi, tekið þátt í hugbúnaðarverkefnum og hugleitt hugbúnaðarþróun.

Einn meginhluti námskeiðsins er þróun hugbúnaðar sem nemendur vinna að í teymum. Kennslan er verkefnismiðuð. Efni námskeiðsins spannar fyrri fasa hugbúnaðarþróunar, stærðarmat, hönnun og forritun og samstæðustjórnun.

Verkefni sem nemendur vinna að í námskeiðinu vinna þeir áfram í námskeiðinu HBV601G Hugbúnaðarverkefni 2.

X

Formleg mál og reiknanleiki (TÖL301G)

Endanlegar stöðuvélar, regluleg mál og málskipan, staflavélar, samhengisóháð mál og málskipan, Turingvélar, almenn mál og málskipan og helstu eiginleikar þeirra.

Ávarðanleg og listanleg mál, yfirfærsla milli mála, tengsl við ákvörðnarverkefni og sönnun á óleysanleika slíkra verkefna. Flækjustigsflokkarnir P og NP og NP-fullkomleiki. Dæmi um ýmis líkön af reiknanleika.

X

Örugg hugbúnaðargerð (HBV506M)

Örugg hugbúnaðargerð felur í sér að greina og draga úr veikleikum til að minnka ógnun við hugbúnað. Nemendur öðlast í þessu námskeið skilning á öruggum vinnubrögðum í hugbúnaðargerð og hvernig hægt er að beita þeim í gegnum allan þróunarferil hugbúnaðar.

Nemendur munu (í teymum) hanna, þróa og viðhalda vefforriti fyrir viðskiptavin í samræmi við öruggar hugbúnaðarverkfræðilegar meginreglur. Nemendur munu sýna skilning sinn og verklega hæfni á öryggismati (hvítkassi og svartkassi) með því að prófa eigin forrit og forrit annarra teyma fyrir veikleika gegn OWASP 10 - helstu hættum vefforrita.

Því er gert ráð fyrir að nemendur hafi þekkingu á þróun vefforrita með notkun JavaScript.

X

Hugbúnaðarverkefni 2 (HBV601G)

Seinna námskeiðið af tveimur (HBV501G og HBV601G) þar sem nemendur vinna að umfangsmiklu hugbúnaðarverkefni í hópvinnu. Fínönnun, útfærsla, prófanir, uppsetning og afhending verkefnisins, sem var þarfagreint og hannað í námskeiðinu Hugbúnaðarverkefni 1. Útfærsla á skrefum. Forritunarstaðlar, skjölun, rekjanleiki og sönnun forrita. Gallalaus forritun. Mat á umfangi hugbúnaðarkerfa. Prófunaraðferðir. Prófanir og gæðamat á hugbúnaðarverkefnum. Rýni á hönnun og útfærslu. Uppsetning og viðtaka kerfa. Líftími hugbúnaðarkerfa. Mælingar í hugbúnaðargerð. Alþjóðlegir staðlar um þróun hugbúnaðar.

X

Undirstöður internetsins (RAF617M)

Fjarskipti nútímans einkennast af því að gögnin eru send eftir fastlínunetum stærstan hluta leiðarinnar en við seinasta spölinn er oft notuð þráðlaus tækni sem veitir þægindi þráðlausrar upplifunar. Nærri öll gögn sem send eru milli fólks eða tækja fara eftir fastlínukerfum stærstan hluta leiðarinnar. Fyrir verkfræðinga á sviði fjarskipta skiptir því afar miklu að hafa yfirgripsmikla þekkingu á fastlínunetum og þeim fjölbreyttu aðferðum sem beitt er á því sviði.

Í námskeiðinu verða kenndar helstu aðferðir við uppbyggingu stofnneta, ljósleiðaratækni verður kynnt og m.a.farið yfir DWDM, SDH, Ethernet, ATM og MPLS-TP. Á sviði aðgangsneta verður ítarlega fjallað um kopar-, kóax- og ljósleiðaranet, ADSL, VDSL, G.fast og fleiri meðlimi DSL fjölskyldunnar, kapalkerfi og DOCSIS staðalinn, FTTH og mismunandi útfærslur þeirra eins og virkt Ethernet og GPON.

Grunntækni fastlínuneta nútímans er IP tæknin og verða henni gerð góð skil allt frá bitaflutningslagi til notkunarlags. Á greinalagi verður lögð áhersla á Ethernet og MPLS. Farið verður í rása- og pakkaskiptingu, rásamiðuð og rásalaus fjarskipti. Þjónustuþáttum eins og PSTN, VoIP, IPTV, OTT og P2P verður lýst. Jafnframt verður fjallað um bakfæðingu þráðlausra neta eins og farsíma og Wi-Fi. Sýndarvæðing í fjarskiptum verður kynnt og fjallað um hugbúnaðardrifin net (SDN) ásamt sýndarvæðingu netaðgerða (NFV). Farið verður yfir laga- og regluumhverfi fjarskipta og fjallað um þætti eins og nethlutleysi, netnjósnir, skerðingu netfrelsis og aðila eins og Google, Apple, Microsoft og Netflix. Að lokum verður stuttlega farið í staðarnet (LAN) með áherslu á heimanet. Fjallað verður um beina, myndlykla, NAS, fjarskipti um raflínur (PLC), plastljósleiðara, MOCA og Wi-Fi kynnt til sögunnar.

Kennslan mun að mestu fara fram á fyrirlestra- og umræðuformi. Unnin verða verkefni á sviði IP fjarskipta en auk þess eiga nemendur að skrifa fjórar greinar um valið efni og halda stutta fyrirlestra um efnið.

X

Grundvallaratriði í aðferðum siðferðislegra hakkara (TÖL605M)

Markmið námskeiðsins er að skoða aðferðir og fræði “siðferðislegra hakkara” (e. ethical hacking), þar sem sjónarhorn árásaraðilans er meginforsenda öryggisgreiningar. “Siðferðislegir hakkarar” nýta sér aðferðarfræði og verkfæri árásaraðila til að greina og betrumbæta öryggi ýmissa kerfa.

Þetta námskeið mun kynna nemendum fyrir helstu tólum og aðferðum sem siðferðislegir hakkarar nýta. Námskeiðið mun hefjast á því að nemendur setji upp öruggt rannsóknarumhverfi með því að nota sýndarvélar. Á tveggja vikna fresti verður ný aðferðarfræði siðferðilegra hakkara kynnt ásamt viðeigandi verkfærum. Nemendur hafa í kjölfarið vikuna framundan til þess að gera tilraunir ásamt að skrásetja hvernig verkfæring voru notuð.

Nemendur þurfa að hafa aðgang að tölvu sem getur keyrt sýndarvél.

X

Mentor í Spretti (GKY001M)

Í námskeiðinu felast verkefni nemenda í  að vera mentor fyrir þátttakendur á framhalds- og háskólastigi í verkefninu „Sprettur”. Mentorar sinna því mikilvæga starfi að styðja og hvetja ungmenni í námi og félagslífi. Hlutverk mentora er að skapa uppbyggjandi samband við þátttakendur, vera jákvæð fyrirmynd og taka þátt í sameiginlegum viðburðum skipulögðum í Spretti. Mentorhlutverkið snýst um tengslamyndun og samveru sem felur í sér skuldbindingu gagnvart ungmennunum sem mentor styður.  

Sprettur er verkefni sem styður við nemendur með innflytjenda- eða flóttamannabakgrunn sem koma úr fjölskyldum þar sem fáir eða engir hafa háskólamenntun.  Nemendur í námskeiðinu eru mentorar þátttakenda og eru þeir tengdir saman með hliðsjón af sameiginlegu áhugasviði. Hver mentor ber ábyrgð á að styðja tvo þátttakendur. Mentorar skipuleggja samveru og verja þremur klukkustundum á mánuði (frá ágúst fram í maí) með þátttakendum í Spretti, þremur klukkustundum í mánuði í heimavinnuhópi og mæta í fimm málstofur sem dreifast yfir skólaárið. Nemendur skila dagbókarfærslum á Canvas í nóvember og mars. Dagbókarfærslur byggjast á lesefni og hugleiðingum nemenda um mentorstarfið. Námskeiðið er kennt á íslensku og ensku.  

 Nemendur sækja um þátttöku á námskeiðinu. Sjá rafrænt umsóknareyðublað.  Umsækjendur fara í viðtal og eru 15-30 nemendur valdir til þátttöku.   

Frekari upplýsingar um verkefnið „Sprettur” má nálgast hér: www.hi.is/sprettur 

X

Nytsemi friðhelgis og öryggis (HBV507M)

Yfirlit nytsams friðhelgis og öryggis með áherslu á tækninýjungar. Viðfangsefnin eru m.a. auðkenning, staðsetningar- og samfélagslegt friðhelgi, hegðunartengdar auglýsingar, friðhelgi heilsuverndar, nafnleynd, rafmynt, tækniskrif og siðferðilegt framferði við rannsóknir á sviði nytsemi friðhelgis og öryggis.  

X

Inngangur að hugbúnaðarverkfræði (HBV101G)

Námskeiðið útskýrir hvað hugbúnaðarverkfræði er, af hverju greinin er mikilvæg og hvaða færni og hæfi hún krefst.

Í  heimsóknum frá hugbúnaðarverkfræðingum úr atvinnugreininni og vinnu að hagnýtum verkefnum, mun námskeiðið kynna sérstaklega lykilhugtök hugbúnaðarverkfræði, krafta sem móta hugbúnaðarvörur og hlutverk og ábyrgð þeirra sem að þeim standa.

Nemendur vinna í hópum og velja verkefni í umhverfi sínu, sem hægt er að leysa eða betrumbæta með hugbúnaði, og greina áskoranir sem þarf að yfirstíga þegar hentugar hugbúnaðarlausnir eru hannaðar og þróaðar. Verkefnavinnan mun mótivera aðferðir og leiðir sem verða kynntar og þjálfaðar í námskeiðum  hugbúnaðarverkfræðinámsleiðarinnar.

Athugið! Námskeiðið er sérstaklega ætlað nýnemum á 1. ári í Hugbúnaðarverkfræði. Nýnemar í Tölvunarfræði eða öðrum námsleiðum þurfa sérstakt leyfi námsbrautar til að skrá sig í námskeiðið en það er ekki ætlað 2. eða 3. árs nemendum.

X

Viðhald hugbúnaðar (HBV103M)

Kennt að jafnaði annað hvert ár (í haust þegar ártalið er oddatölu en mun breyta frá og með 2024)

The first part of the course is based on flipped-classroom style weekly reading, videos and assignments on:

  • Evolution of Software and Lehman’s laws,
  • Maintenance processes,
  • Metrics useful for maintenance,
  • Software analysis,
  • Re-engineering,
  • Reverse engineering,
  • Code Smells & Refactoring,
  • Basics of (Regression-)Testing,
  • Design principles to support change & Design Patterns,
  • Tools for software maintenance (including advanced features of an IDE).

In the second part of this course, these techniques will be applied in order to maintain a real legacy software written in Java.

Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be advanced in their BSc. studies and you need solid Java programming experience: we will maintain a complex software and being able to understand how such a grown software works and to fix bugs is even more difficult to write such a software from scratch. Hence, you should have passed HBV501G Software Project 1, preferably even HBV601G Software Project 2. (It is impossible to maintain a software if you would not even be able to develop it.) Also, BSc. students should not take this course, if they know that they are going to continue with MSc. studies, because they might then experience a lack of suitable courses in their MSc. studies.

X

Lokaverkefni (HBV261L)

Lokaverkefni er námskeið þar sem nemendur vinna verkefni undir handleiðslu kennara innan námsbrautar í Tölvunarfræði. Nemendur þurfa sjálfir að finna verkefni og kennara sem er tilbúinn að leiðbeina þeim. Verkefnum er ekki úthlutað. Í flestum tilfellum er unnið að forriti/vefsíðu/appi en það er ekki skilyrði. Verkefni lýkur með skýrslu sem skilað er til kennarans og hann gefur í kjölfarið einkunn.

Viðmiðunarregla er að 6 eininga verkefni sé þriggja vikna vinna og 8 einingar svari til fjögurra vikna, og þar með eru gerðar meiri kröfur til 8 eininga verkefna.

Upplýsingar um skil á verkefni
Skil eru í maí fyrir júníbrautskráningu
Skil eru í september fyrir októberbrautskráningu
Skil eru í janúar fyrir febrúarbrautskráningu

Í upphafi misseris koma nemandi og leiðbeinandi sér upp tímalínu um skil á verkefni

Skil á fullbúnu verkefni til leiðbeinanda/umsjónarkennara er 10. maí/ september/ janúar

Skil nemanda inn á Skemmu eru í síðasta lagi 30. maí/ september/ janúar og senda þarf staðfestingu um samþykkt skil á nemvon@hi.is

Einkunn frá leiðbeinanda á að hafa borist skrifstofu í síðasta lagi 30. maí/ september/ janúar

Bent er á að þátttaka í þessu námskeiði útilokar þátttöku í námskeiðunum HBV004G, HBV502G og HBV603G starfsnámi.

X

Verkfræði kröfugreiningar (HBV301G)

Hugbúnaðarkröfur lýsa þörfum  sem hugbúnaður þarf að uppfylla og takmörkunum sem hann þarf að lúta til að hann geti leyst verkefni í tilteknu viðfangsefni notkunar. Námskeiðið fjallar um  aðferðir til að lýsa, greina, skilgreina, staðfesta og stjórna hugbúnaðarkröfum.

Námskeiðið kynnir tegundir og eiginleika hugbúnaðarþarfa, viðeigandi hagsmunaaðila, aðferðir til að draga fram, lýsa, greina, skilgreina og staðfesta kröfur. Einnig mun það fjalla um hagnýtar aðferðir eins og breytingastjórnun og úrlausn ágreiningsefna. Nemendur æfa sig í aðferðunum í hópum með því að beita þeim í verkefnum að eigin vali.

Nýtt skyldunámskeið - fyrst kennt 2023-2024

X

Reiknigreind (IÐN102M)

Við hönnun á greind kerfa er þörf fyrir sjálfvirk kerfi sem læra að taka góðar ákvarðanir. Í námskeiðinu er kynnt fyrir nemendum reiknirit sem endurbætast sjálfvirkt með reynslu. Þessi reiknirit þurfa enga leiðsögn aðra en umbun fyrir teknum ákvörðunum. Hugmyndafræði er kölluð styrkingalærdómur (e. reinforcement learning) og er snertiflötur ólíkra fræða; aðgerðgreiningu, gervigreind og stýritækni. Að námskeiði loknu eiga nemendur að hafa færni í að setja upp, greina og leysa stærðfræðileg líkön sem standa fyrir ákvörðunarverkefnum. Tekin eru fyrir Markov-ákvörðunarferli, kvik-bestun, Monte-Carlo aðferðir, ákvörðunarstefnur, áætlanagerð og trjáleit, ásamt djúpum tauganetum. Nemendur kynnast einnig forritunarmálinu Python.

X

Tæknistjórnun (IÐN103G)

Tilgangur námskeiðsins er að undirbúa nemendur undir störf í tæknifyrirtækjum og tæknimiðuðum skipuheildum. Farið verður í helstu þætti í reksti fyrirtækja og annarra skipuheilda og fjallað um hlutverk verkfræðinga og áskoranir sem þeir standa frammi fyrir. Nemendur kynnast greiningaraðferðum sem notaðar eru við ákvarðantöku, túlka niðurstöður þeirra og miðla munnlega og skriflega.

X

Greining ferla og kerfa (IÐN301G)

Markmiðið með námskeiðinu er að undirbúa nemendur í að greina ferla og kerfi. Farið verður í hvernig ferlum er lýst með það að markmiði að greina þá. Farið er í kortun ferla og hvernig uppgötva megi ferla. Farið verður í 3 aðferðir til að uppgötva ferla: staðreyndaleið, viðtalsleið og vinnustofuleið. Þegar ferlar liggja fyrir er hægt að greina þá. Farið er í bæði megindlegar og eigindlegar aðferðir við greiningu ferla. Kynntar verða eigindlegu aðferðirnar virðisgreining, rótargreining og áhættumat. Kynntar verða megindlegu aðferðirnar árangursmælingar, flæðisgreining, biðraðafræði og hermun.

Seinni hluti námskeiðsins fjallar um kerfi og greiningu kerfa. Fjallað verður um hvernig hægt er að lýsa heiminum sem kerfi. Farið verður í aðferðir til að lýsa kerfum eins og orsakarit og birgðir-og-flæði (e. stock and flow).  Í lok námskeiðs verða bæði ferli og kerfi hermd.

X

Hagverkfræði (IÐN502G)

Markmið námskeiðsins er að gera nemendur færa um:

1. Að skilja helstu hugtök bókhalds, kostnaðarreiknings og fjárfestingarfræði.

2. Að nota aðferðir til að meta hagkvæmni verktæknilegra kosta.

3. Að gera reiknilíkan til að meta arðsemi fjárfestinga, virði fyrirtækja og verðleggja hlutabréf og skuldabréf.

Meðal námsefnis er  bókhald, kostnaðarreikningar, greining á fjárstreymi, fjárfestingarfræði, mælikvarðar á arðsemi, þar á meðal núvirði og innri vextir, og gerð  arðsemilíkana. Námskeiðinu lýkur með hópverkefnum þar sem nemendur æfa arðsemimat verkefna.

X

Verkefnastjórnun (IÐN503G)

Í námskeiðinu eru kennd grunnatriði í verkefnastjórnun. Farið verður yfir grunnhugtök, umhverfi og val verkefna, áætlunargerð, eftifylgni, stjórnun verkefnateyma og lok verkefna. Nemendur fá þjálfun í gerð verkefnaáætlana og að takast á við áskoranir við framkvæmd og lok verkefna. Sérstök áhersla er á notkun verkefnastjórnunar við tækninýsköpun í skipuheildum.

X

Vörustjórnun og umhverfismál (IÐN510M)

Tilgangur námskeiðsins er að fara í gegnum grundvallaratriði lokistik (vörustjórnunar), stjórnun aðfangakeðja og áhrif þeirra á umhverfið. Námskeiðið er í raun þríþætt þar sem byrjað er á að fara í gegnum þá þætti sem snúa að innkaupum á vörum og þjónustu ásamt stjórnun birgða. Því næst er tekið á þeim þáttum sem snúa að flutningum og dreifingu. Að lokum er áhrifum aðfangakeðja á umhverfi gert greinagóð skil og öllum þremur þáttunum steypt saman í eina heild sem styður sjálfbærni.

Námskeiðið er kennt með því fyrirkomulagi að haldnir eru fyrirlestrar til að útskýra fræðilega undirstöðu greinarinnar en til að fá aukinn skilning á einstökum þáttum verða reiknuð dæmi sem skila þarf inn til yfirferðar. Samhliða fyrirlestrum og dæmatímum verður unnið með fyrirtækjaspil í hópum auk þess að spila „The Beer game“ - þar sem þáttakendur leika hlutverk fyrirtækja sem og taka þátt í raunhæfum hlutverkum stjórnenda.

X

Greining á frammistöðu tölvukerfa (REI503M)

Kennt að jafnaði annað hvert ár.

Námskeiðið fjallar um gerð líkana af tölvu- og samskiptakerfum auk mælinga á frammistöðu. Stór dreifð tölvukerfi afgreiða þjónustubeiðnir (t.d. vefsíðufyrirspurnir) samhliða til að lágmarka svartíma og hámarka ánægju notenda. Aðrir mælikvarðar á frammistöðu eru afköst (afgreiddar beiðnir á tímaeiningu) og uppfylling samkomulags um þjónustustig. Meðal námsefnis eru stærðfræðilegar aðferðir til að meta og skilja slík kerfi, bæði veikleika þeirra og styrkleika, til dæmis varðandi hönnun, verkröðunaraðferðir og rekstrarstefnur. Umfjöllunin byggir á aðferðum aðgerðagreiningar, sér í lagi biðraðafræði og Markov-ferlum (fyrirfram þekking á þessum aðferðum er ekki krafa).

Eindregið er mælt með mætingu í tíma.

X

Skýjaforritun og stórgögn (REI504M)

Yfirlit yfir forritun ofurtölva og stórgögn, umhverfi ofurtölva, tölvunet og gagnalausnir og samhliða forritun. Innviðir fyrir geymslu gagna og þjónustur fyrir stórgögn, greining fyrir stórgögn, ”map-reduce” aðferðarfræðin, formuð og hálfformuð gögn. Hagnýt verkefni: (A) Nemendur nota Amazon Web Services (AWS) skýið eða sambærilega lausn til að setja upp fjöltölvuvefþjónustu og samsvarandi kerfi fyrir prófun á henni. (B) Nemendur leysa verkefni á stórgögnum með ”map-reduce” aðferðafræði á AWS skýinu.

X

Gervigreind (REI505M)

Fjallað er um hugtök, aðferðir og reiknirit á sviði gervigreindar, með áherslu á studdan og óstuddan lærdóm. Forvinnsla og myndræn framsetning gagna. Mat á gæðum líkana og val á líkönum. Línuleg aðhvarfsgreining, næstu nágrannar, stoðvigravélar, tauganet, ákvarðanatré og safnaðferðir. Djúpur lærdómur. Þyrpingagreining og k-means aðferðin. Nemendur útfæra einföld reiknirit í Python og læra á sérhæfða forritspakka. Námskeiðinu lýkur með hagnýtu verkefni.

X

Netafræði (STÆ520M)

Net, netamótanir og netaeinsmótanir. Hlutnet, spannandi hlutnet. Vegir, tengd net. Örvanet. Tvíhlutanet. Euler-net og Hamilton-net; setningar Chvátals, Pósa, Ores og Diracs. Keppnisnet. Tré, spannandi tré, trjáfylkjasetningin, Cayley-setningin. Vegin net, reiknirit Kruskals og Dijkstra. Flæðinet, setning um hámarksflæði og lágmarkssnið, Ford-Fulkerson-reikniritið, Menger-setningin. Spyrðingar, Berge-setningin, giftingarsetning Halls, König-Egerváry-setningin, Kuhn-Munkres-reikniritið. Óaðskiljanleg net, tvítengd net. Lagnet, Euler-formúla, Kuratowski-setningin, nykurnet. Greypingar neta í fleti, Ringel-Youngs-Mayer-setningin. Litanir, litunarsetning Heawoods, Brooks-setningin, litamargliða; leggjalitanir, Vizing-setningin.

X

Rafmyntir (STÆ532M)

Í byrjun námskeiðsins eru grunnhugtök rafmynta kynnt til sögunnar, svo sem veski, veskisföng og færslur.  Nemendur kynnast dulkóðun, færslum, blokkum
og keðjum. Rafmyntin Broskallar verður notuð sem sýnidæmi í öllu námskeiðinu.
Nemendur þýða sín eigin veski og fara nægilega djúpt í algrímin á bak við myntirnar til að geta sett saman sínar eigin færslur af Linux skipanalínu og lesið dæmigerðan veskiskóða sem skrifaður er í C++.
Nemendur læra hvernig kalla má á veski úr öðrum hugbúnaði, m.a. til að greina flæði myntarinnar.
Nemendur læra hvernig má útfæra ýmsar viðbætur við hefðbunda notkun rafmynta, s.s. dulkóðun skilaboða, keyrslu hugbúnaðar sem svar við greiðslu o.s.frv. Nemendur setja upp eigin dæmi um viðbætur og læra m.a. hvernig má geta frumskipti (e. atomic swap) á mismunandi myntum.

Skilaverkefni verða einstaklingsbundin og valin úr nokkrum verkefnagerðum í formi (1) lausna sem byggja á notkun veskis á skipanalínu, (2) greinargerða sem mynda ítarefni í tutor-web kerfið (3) smáforrita sem bregðast við færslum sem koma inn á tiltekið veskisfang eða í tiltekið veski (4) forrita sem tala við kauphallir og/eða (5) ný notendaandlit sem bæta virkni framenda tiltekins veskis.

Allt efni námskeiðsins og skilaverkefni eru á ensku. Skilaverkefni enda sem hluti af opna vefkerfinu tutor-web.
Nemendur læra hvernig kalla má á veski úr öðrum hugbúnaði, m.a. til að greina flæði myntarinnar.
Nemendur læra hvernig má útfæra ýmsar viðbætur við hefðbunda notkun rafmynta, s.s. dulkóðun skilaboða, keyrslu hugbúnaðar sem svar við greiðslu o.s.frv. Nemendur setja upp eigin dæmi um viðbætur og læra m.a. hvernig má geta frumskipti (e. atomic swap) á mismunandi myntum og nota þá Broskalla sem tilkyninngakerfi.

Stefnt er að því að námskeiðið verði kennt sem lesnámskeið eða sjálfsnám, en nánari framkvæmd fer eftir þátttöku.

X

Forritun snjalltækja (TÖL103M)

Námskeiðið býður upp á verklegan inngang að hönnun og forritun hugbúnaðar í örtölvum í samhengi IoT snjalltækja.

Svona tækieiga oft marga inn- og úttakspinnar, eitthvað af skyndiminni og geymsluminni, og þráðlausan samskiptabúnað (WiFi, Bluetooth, o.s.frv.).

Þessir eiginleikar gera tækin tilvalin fyrir ýmiss verkefni sem tengjast gagnasöfnun, úrvinnslu gagna og þráðlausum samskiptum.

Í þessum áfanga verða lögð fyrir verkefni aðra hverja viku sem tengjast meðal annars samskiptum yfir raðbundin (serial) tengi, gagnasöfnun og úrvinnsla, hönnun forrita fyrir rauntíma-stýrikerfi (RTOS), þráðlaus samskipti og TCP/IP samskipti sem miðlari/biðlari.

Áfanganum lýkur síðan með lokaverkefni sem er byggt á þessum þáttum.

X

Tölvugrafík (TÖL105M)

Megináhersla námskeiðsins er á grunnhugtök og stærðfræði fyrir þrívíddar tölvugrafík. Tvívíðar og þvívíðar varpanir. Sjónvörpun. Ljós og litun hluta. Mynsturvörpun, blöndun, holuvörpun. Forritanleg litun. Ferlar og yfirborð. Forritunarverkefni í WebGL.

X

Öryggisverkfræði fyrir upplýsingainnviði (TÖL106M)

Þetta námskeið miðar að því að bjóða upp á handhæga kynningu á grunnatriðum þess að skapa og stýra áreiðanlegum, flóknum innviðum upplýsingakerfa á landsvísu.

Námskeiðið er hugsað til að hjálpa háskólanemum að læra að skipuleggja, byggja upp, reka og vernda þessa innviði fyrir mistökum og ógnum.

Við skoðum líka ýmsar aðferðir á sviði netöryggis til að hjálpa þeim sem bera ábyrgð á þessum innviðum-frá stefnumótandi aðilum til netöryggissérfræðinga-að koma á aðgerðum sem auka viðnámsþrótt þeirra.

Á námskeiðinu verður fjallað um tölvuógnargreind og tilraunanotkun á opnum hugbúnaði og gervigreindartóli, ChatGPT.

X

Netárekstrar, netöryggisofbeldi og verkfræði, upplýsingainnviðir á landsvísu (TÖL107M)

Á þessu þverfaglega námskeiði er farið yfir ýmislegt sem tengist tækni og netöryggi. Farið er bæði yfir þá tækni sem er til staðar og þá tækni sem er í þróun, sem og stefnur sem stýra sviðum eins og eftirliti á netinu, nethernaði og stafrænum ógnum. Á námskeiðinu er farið yfir ýmis tæknileg hugtök, þar á meðal innlend upplýsingakerfi, internetið, hulduvefinn, netkerfi og skynjaratækni og vaxandi þróun Internets hlutanna.

Við munum einnig kafa ofan í sögu átaka á netinu, skoða helstu atburði og hvernig þeir hafa mótað stefnur á alþjóðavettvangi og í einstökum ríkjum. Við munum fjalla um grundvallaratriði öryggistækninnar, með áherslu á að búa til kerfi sem eru örugg frá upphafi.

Við munum einnig skoða hernaðarlegar og borgaralegar aðferðir og draga lærdóm af því hvernig netrekstur hefur verið notaður í átökum í fortíðinni, hvernig hann er nýttur í dag og hvernig hann gæti nýst í framtíðinni.

X

Tölvunet og öryggi (TÖL305G)

Kennt að jafnaði annað hvert ár.

Námskeiðið er hagnýtt námskeið sem kennir nemendum undirstöðuatriði tölvuneta. Lögð er áhersla á staðarnet, 802.3 og 802.11, og jafnframt á TCP/IP. Farið er í greiningu á þörfum fyrir tölvunet og hönnun þeirra. Fjallað verður um hug- og vélbúnað sem notaður er til útfærslu tölvuneta. Uppsetning og viðhald tölvuneta. Öryggiskerfi fyrir tölvunet. Nemendur læra að greina hættur og bregðast við þeim.

X

Frá hugmynd að veruleika (TÖL501G)

Námskeiðið hefur verið í þróun í rúman áratug undir nafninu „Tölvukerfi og markaðsmál“. 

Námskeiðið byggist á fyrirlestrum kennara og einstaklings- og hópverkefnum sem hjálpa nemendum að hugsa út fyrir kassann. Kennari mun segja frá reynslu sinni af því að gera hugmynd að veruleika og mun hann ekki síður tala um þau mistök sem hafa verið gerð en það sem hefur heppnast.

Lokaverkefni námskeiðsins er viðskiptaáætlun sem varin er munnlega fyrir prófdómara. Viðskiptaáætlunin fjallar um hugmynd nemenda og hvernig hann vill hrinda henni í framkvæmd.

X

Samskipti manns og tölvu (TÖL502M)

Kennt að jafnaði annað hvert ár.

Markmið námskeiðsins er að leyfa nemendum að kafa dýpra í einstaka afmarkaða þætti í samskiptum manns og tölvu heldur en gert er námskeiðinu Viðmótsforritun HBV201G sem er inngangsnámskeið í faginu.   Þættirnir eru hönnun notendaviðmóta með frumgerðum, forritun snjalltækja og viðtaka notenda á hugbúnaðinum.  Lögð verður áhersla á mismunandi tækni og tól til að gera frumgerðir. Áhersla er á hönnun notendaviðmóta og útfærsla þeirra í snjallsíma eða spjaldtölva (native).  Þróunarferli miðast allt við að tryggja aðgengileika búnaðarins og viðtöku notenda. Nemendur vinna að litlum einstaklingsverkefnum en einnig að stærri verkefnum í hópum. 

X

Dreifð kerfi (TÖL503M)

Kennt að jafnaði annað hvert ár.

This course covers concepts of distributed systems and their application. Besides foundations on characteristics and models of distributed systems, networking and security, this includes network-based low-level interprocess communication, high-level remote procedure calls, the distributed object model and remote method invocation, services relevant in distributed systems (such as name services or distributed file systems), selected topics of distributed algorithms and their implementation (such as coordination, agreement,  time, replication). Furthermore, special types of distributed systems may be covered (such as peer-to-peer systems, Cloud and Grid computing).  Current technologies (such as Java RMI, Web Services, gRPC) are used as case study and as platform for developing distributed applications using high-level programming languages (such as Java).

Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be advanced in their BSc. studies. (E.g. we will implement middleware in Java, so you should have programming experience well beyond "TÖL101G Computer Science 1". As a middleware adds functionality on top of an Operating System, you should have also passed TÖL401G Operating Systems.)

X

Inngangur að djúpum tauganetum (TÖL506M)

Í þessu námskeiði förum við yfir djúp tauganet og helstu aðferðir tengdar þeim. Kynnt verða net og aðferðir fyrir mynd, hljóð og textagreiningu. Lögð verður áhersla á hagnýtingu lausna og munu nemendur t.a.m. kynna verkefni eða grein á þessu sviði.

X

Gervigreind fyrir jarðarkönnun keyrt á ofurtölvum (REI506M)

Í þessu námskeiði er farið yfir grundvallaratriði fjarkönnunar með gervitunglum, aðferðir á sviði tölvusjónar sem byggja á djúpum tauganetum og hagnýtingu slíkra aðferða með ofurtölvum.

Námskeiðinu er skipt í fjóra hluta sem endurspegla þau fræðilegu hugtök sem farið er yfir í námskeiðinu og í hverjum hluta vinna nemendur verkefni sem tengist viðfangsefninu hverju sinni. Verkefnin tengjast öll fjarkönnun og myndaflokkun og nemendur vinna að verkefninu í gegnum misserið.

X

Inngangur að gagnaöryggi (TÖL029M)

This course provides the foundation for understanding the key issues associated with protecting information assets, determining the levels of protection and response to security incidents, and designing a consistent, reasonable information security system, with appropriate intrusion detection and reporting features.  The purpose of the course is to provide the student with an overview of the field of information security and assurance. Students will be exposed to the spectrum of security activities, methods, methodologies, and procedures.  Coverage will include inspection and protection of information assets, detection of and reaction to threats to information assets, and examination of pre- and post-incident procedures, technical and managerial responses and an overview of the information security planning and staffing functions.  Topics include risk assessment, authentication, securing web, application security, privacy and data protection, introduction to cryptography, security architecture, firewalls and other devices and network topologies.

X

Starfsþjálfun (HBV004G)

Markmið starfsþjálfunarinnar er að þjálfa nemendur í að vinna störf undir handleiðslu sérfræðinga hjá fyrirtækjum og stofnunum.  Verkefnin skulu tengjast einhverjum þeirra námsgreina sem kenndar eru við Námsbraut í tölvunarfræði og skulu þau reyna á þá þekkingu og færni sem nemandi hefur aflað sér þar.

Við upphaf starfstímans skal nemandi senda tölvupóst á umsjónarkennara sem skráður er hér í UGLA til að koma á sambandi.

Í lok starfstímans skal nemandi skila til umsjónarmanns:

  • Skýrslu (u.þ.b. 3 bls.) um meginverkefni nemandans og tengslum þess við nám hans í tölvunarfræði/hugbúnaðarverkfræði. Í skýrslunni skal einnig koma fram hvaða námsmarkmið nemandinn setti sér í upphafi starfsþjálfunar og hvernig hann náði þeim í verkefnunum.
  • Dagbók sem nemandi hefur haldið meðan á starfstíma stóð. Dagbókin skal fela í sér vikulegt yfirlit þar sem fram kemur hver verkefni vikunnar voru og hve miklum tíma var varið í einstök verkefni.

Starfsþjálfun telst ekki lokið fyrr en umsjónarmaður fyrirtækis/stofnunar hefur skilað staðfestingu á ástundun nemandans og verkefnavinnu og umsjónarmaður starfsþjálfunar hjá Námsbraut í tölvunarfræði  hefur staðfest skilin.

Einkunnagjöf er staðið/fall.

ATH: Nemendur geta ekki skráð sig sjálfir í þetta námskeið heldur eru þeir skráðir í námskeiðið þegar þeir hafa tryggt sér starfsþjálfunarstöðu hjá fyrirtæki eða stofnun.

Allar starfsþjálfunarstöður verða auglýstar sérstaklega á Tengslatorgi (www.tengslatorg.hi.is ) í upphafi hvers kennslumisseris og nemendur sækja sérstaklega um að komast í starfsþjálfun.  Umsókn ásamt ferilskrá og kynningarbréfi, þar sem nemendur tilgreina hvers vegna þeir hafa áhuga á að komast í starfsþjálfun hjá viðkomandi fyrirtæki skal senda á von-starfsthjalfun@hi.is

Bent er á að þátttaka í þessu námskeiði útilokar þátttöku í námskeiðunum HBV502G og HBV603G starfsnámi og lokaverkefni HBV261L.

X

Hugbúnaðarhönnun og forritun (HBV202G)

Námskeiðið fjallar um undirstöður hugbúnaðarhönnunar og forritunaraðferðir og þróunarumhverfi fyrir lengra komna. Fjallað er um hugbúnaðarhönnun með því að fara í hlutbundna líkanagerð í Unifed Modeling Language (UML), hlutbundin hönnunarreglur (t.d. skil, pakka og Liskov Substitution Principle), og einfaldari hönnunarmynstur.

Farið verður í forritun með því að nota aðferðir fyrir lengra komna í samþættu þróunarumhverfi hugbúnaðar (IDE) (t.d. sjálfvirka fullgerð kóða, notkun aflúsara og endurbætingu kóða með því að endurskrifa hann), skrifa sjálfvirka byggingu kóða sem tekur tillit til hvernig hlutar hugbúnaðar eru háðir öðrum (innri venslastjórnun) (t.d. Maven og Gradle tólin og Java módúla), þýðendur (t.d. aðvaranir frá þýðendum) og keyrsluumhverfi (t.d. classpath) og grundvallaratriði einingaprófana.

X

Prófun hugbúnaðar (HBV205M)

Kennt að jafnaði annað hvert ár (í vor þegar ártalið er oddatölu en mun breyta frá og með 2024)

Usually taught every second year (typically in spring of odd years, but this is subject to change in 2024).

This course covers testing of software. Besides basic foundations, this includes both dynamic testing where the software under test is executed and static approaches where software and other artefacts produced during software development are investigated without executing them. The focus of this course is, however, on dynamic testing. The different levels of testing (component test, integration test, system and acceptance test) and types of testing (functional, non-functional, structural and change-related) are covered as well as different test design techniques (black box test and white box test). Furthermore, test management and principles of test tools are discussed. In addition, selected advanced topics may be covered (for example, test languages, testing of object-oriented software, test process improvement, agile testing). The covered topics are a superset of the International Software Testing Qualifications Board's (ISTQB) certified tester foundation level syllabus.

The first part of the course is based on flipped-classroom style weekly reading, videos and assignments. In the second part, students work independently on some project related to software testing.

Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be very advanced in their BSc. studies, i.e. have experience in programming languages, software development and applying it in some software project, but should also be familiar with theoretical concepts from automata theory.

Also, BSc. students should not take this course, if they know that they are going to continue with MSc. studies, because they might then experience a lack of suitable courses in their MSc. studies.

X

Lokaverkefni (HBV261L)

Lokaverkefni er námskeið þar sem nemendur vinna verkefni undir handleiðslu kennara innan námsbrautar í Tölvunarfræði. Nemendur þurfa sjálfir að finna verkefni og kennara sem er tilbúinn að leiðbeina þeim. Verkefnum er ekki úthlutað. Í flestum tilfellum er unnið að forriti/vefsíðu/appi en það er ekki skilyrði. Verkefni lýkur með skýrslu sem skilað er til kennarans og hann gefur í kjölfarið einkunn.

Viðmiðunarregla er að 6 eininga verkefni sé þriggja vikna vinna og 8 einingar svari til fjögurra vikna, og þar með eru gerðar meiri kröfur til 8 eininga verkefna.

Upplýsingar um skil á verkefni
Skil eru í maí fyrir júníbrautskráningu
Skil eru í september fyrir októberbrautskráningu
Skil eru í janúar fyrir febrúarbrautskráningu

Í upphafi misseris koma nemandi og leiðbeinandi sér upp tímalínu um skil á verkefni

Skil á fullbúnu verkefni til leiðbeinanda/umsjónarkennara er 10. maí/ september/ janúar

Skil nemanda inn á Skemmu eru í síðasta lagi 30. maí/ september/ janúar og senda þarf staðfestingu um samþykkt skil á nemvon@hi.is

Einkunn frá leiðbeinanda á að hafa borist skrifstofu í síðasta lagi 30. maí/ september/ janúar

Bent er á að þátttaka í þessu námskeiði útilokar þátttöku í námskeiðunum HBV004G, HBV502G og HBV603G starfsnámi.

X

Vefforritun 2 (HBV403G)

Framhald af vefforritun I þar sem farið er í umhverfi bakendaforritunar í node.js, smíði og tengingar við vefþjónustur og tengingar við gagnagrunna. Framenda forritasöfn/framework notuð til að setja upp framenda (React, Ember, Vue). Öryggismál sem huga þarf að þegar vefverkefni eru unnin. Verkefni felast í smíði vefja þar sem nýta skal það sem kennt er.

X

Hagnýt hugbúnaðarverkfræði (HBV404G)

Námskeiðið fjallar um lagaleg og hagfræðileg viðfangsefni hugbúnaðarverkfræði og hugbúnaðarverkefnastjórnunar.

Í fyrirlestrum, gestafyrirlestrum, málstofum og vinnu við hagnýt verkefni, mun námskeiðið skoða viðskiptalíkön fyrir þróun og/eða rekstur hugbúnaðar, kynna leiðir til áætlunar á stærð, tíma og mannaflaþarfa hugbúnaðar, áhættustjórnunar og verðmats, útskýra líkön fyrir hugbúnaðarleyfi og ræða mismunandi hliðar siðfræði, persónuverndar og öryggi í hugbúnaði.

Nýtt skyldunámskeið - fyrst kennt 2023-2024.

X

Starfsnám í tölvunarfræði og hugbúnaðarverkfræði - grunnnám (HBV603G)

Markmiðið er að tryggja starfsþjálfun undir faglegri handleiðslu reyndra stjórnenda hjá fyrirtækjum eða opinberum stofnunum sem tengjast tölvunarfræði eða hugbúnaðarverkfræði.
Hlutverk nemanda
• Vinna við eitt veigamikið verkefni
• Nemandi er í 6 mánaða starfsnámi.
Nemandi má ekki taka Lokaverkefni (TÖL261L eða HBV261L)

Verkefni nemanda
Hér getur verið um að ræða þarfagreiningu, forritshönnun,  forritun, prófanir hugbúnaðar, uppsetningu og rekstur tölvukerfa.  Verkefnið skal vera á sviði tölvunarfræði eða hugbúnaðarverkfræði og reyna á þá þekkingu og færni sem nemandi hefur aflað sér í náminu. Lokaafurð starfsþjálfunar skal skilgreina í verkefnalýsingu, þ.e. hvað lokaskýrsla skuli innihalda. Umsjónarkennari starfsnáms þarf að samþykkja tillögu að verkefni.
Hlutverk fyrirtækis/stofnunar
• Fyrirtæki lætur nemanda í té vinnuaðstöðu og tilnefnir umsjónarmann innan fyrirtækis sem fylgist með vinnu hans.
• Nemandi er launþegi fyrirtækis og greiðir fyrirtæki nemanda laun samkvæmt nánari samningi þar um.
• Starfsþjálfun er þrír til sex mánuðir í fullu starfi.
• Í upphafi starfsþjálfunar liggur fyrir hvaða verkefni nemandi á að sinna. Verkefnislýsing skal fylgja með samningi.
• Umsjónarmaður og nemandi hittast reglulega og meta framvindu verkefna.
Fullnusta starfsþjálfunar
• Í lok starfstímans skal skila til umsjónarkennara:
1. Lokaskýrslu nemanda (skv. skilgreiningu í verkefnislýsingu). Ef um er að ræða 24 ECTS námskeið  skal nemandi skila áfangaskýrslu um miðbik starfsnámsins.
2. Dagbók sem nemandi hefur haldið meðan á starfsþjálfun stóð. Dagbókin skal fela í sér vikulegt yfirlit þar sem fram kemur hver verkefni vikunnar voru og hve miklum tíma var varið í einstök verkefni.
3. Staðfesting umsjónarmanns á ástundum nemanda og verkefnavinnu í lok starfsþjálfunar.
• Námskeiðinu telst ekki lokið fyrr en bæði umsjónarkennari starfsnáms og umsjónarmaður starfþjálfunar telja að viðunandi árangur hafi náðst og áfanga- og lokaskýrslum verið skilað.

Bent er á að þátttaka í þessu námskeiði útilokar þátttöku í námskeiðunum HBV004G og HBV502G starfsnámi og lokaverkefni HBV261L.

X

Hugbúnaðararkitektúr (HBV604G)

Hugbúnaðararkitektúr snýst um að skilgreina skipulagningu hugbúnaðarkerfis (sem er byggt á íhlutunum sem það er byggt úr og hegðun og samskipti og samvinna á milli íhlutanna), þannig að hann uppfylli mögulegar lykil virknis- og gæðakröfur.

Námskeiðið fjallar um aðferðir til að greina drifkraft arkitektúrs, greina áhrif þeirra og að taka ákvarðanir um arkitektúr til að taka hann til greina. Í fyrirlestrum og hagnýtum verkefnum munu nemendur æfa sig í að greina drifkraft arkitektúrs út frá  kröfum, meta hann með tilliti til árekstra, forgangs og málamiðlunar og leysa úr þeim með viðeigandi arkitektúra mynstrum.

Nýtt skyldunámskeið. Væntanlega í boði vorið 2025.

X

Aðgerðir í skipuheildum (IÐN201G)

Markmiðið með námskeiðinu er að undirbúa nemendur í að nálgast skipuheildir sem röð af aðgerðum.  Farið verður í hvernig lýsa megi skipuheildum sem safni af aðgerðum sem framkvæma virðisaukandi verk.  Fyrirtæki verða heimsókn og þeim lýst af nemendum.  Farið verður í aðferðir til að lýsa aðgerðum, greina aðgerðir og setja fram aðgerðayfirlit. Nemendur kynnast greiningaraðferðum sem notaðar eru við lýsingu og greiningu aðgerða, túlka niðurstöður þeirra og miðla munnlega og skriflega.

X

Aðgerðagreining (IÐN401G)

Í námskeiðinu er nemendum kynnt hvernig gera á skipulega mynd af ákvörðunar- og bestunarverkefnum í aðgerðagreiningu.
Að námskeiði loknu eiga nemendur að hafa færni í að setja upp, greina og leysa stærðfræðileg líkön sem standa fyrir raunhæfum verkefnum og hvernig meta eigi lausn þeirra á gagnrýninn hátt. Tekin eru fyrir línuleg bestun og Simplex aðferðin, auk skyld fræðileg efni.
Námskeiðið kynnir auk þess stærðfræðileg líkön fyrir einstök verkefni; flutningsverkefni, úthlutunarverkefni, netverkefni og heiltölubestun. Nemendur kynnast einnig sérhæfðu forritunarmáli við líkangerð fyrir línulega bestun.

X

Inngangur að kerfislíffræði (LVF601M)

Kerfislíffræði er þverfaglegt svið sem rannsakar líffræðileg fyrirbæri byggt á samverkandi líffræðilegum þáttum. Í kerfislíffræði er sérstök áhersla lögð á það hvernig líffræðileg kerfi breytast yfir tíma. Í þessu námskeiði munum við fjalla sérstaklega um þá þætti kerfislíffræðinnar sem snúa að heilsu og sjúkdómum manna.

Þetta námskeið mun kynna 1) notkun líkana fyrir líffræðileg ferli (bæði genastjórnunarlíkön og efnaskiptalíkön); 2) frumulíffræðileg fyrirbæri sem stuðla að samvægi (e. homeostasis), t.d. þroskun vefja og seiglu örvera og 3) greiningu á sameindamynstri sem finnast í stórum erfðagreiningargögnum, sem tengjast sjúkdómum í mönnum og geta nýst í flokkun sjúklinga og uppgötvun lífmerkja. Þannig mun námskeiðið fjalla um notkun kerfislíffræðilegra aðferða á þremur helstu stigum líffræðinnar, þ.e. á sameindum, frumum og lífverum.

Námskeiðið felur í sér lestur og túlkun vísindagreina, útfærslu reiknirita, vinnslu á rannsóknarverkefni og kynningu á vísindalegum niðurstöðum.

Fyrirlestrar munu samanstanda af bæði (1) kynningu á grunnhugtökum kerfislíffræðinnar og (2) tölvukennslu þar sem Python forritunarmálið er notað. Námskeiðið verður kennt á ensku.

X

Forritun ofurtölva (REI204M)

Hönnun samhliða tölva og ýmis líkön af forritun þeirra. Högun tölva út frá samnota minni og út frá dreifðu minni með skeytaflutningi. Samhliða forritun tölvuklasa með MPI og samhliða forritun fjölkjarna tölva með OpenMP. Samhliða reiknirit við röðun, leit og ýmis verkefni í línulegri algebru og netafræði.

For a longer description refer to the English page.

Course topics will be very similar like HPC in Fall 2019:

http://www.morrisriedel.de/hpc-course-fall-2019

X

Lífsferill gervigreindarlausna (REI603M)

Í þessu námskeiði kynnumst við lífsferli gervigreindarlausna og hvernig þróa á rekstrarhæfar lausnir.

Við förum yfir eftirfarandi skref lífsferilsins:
- Gagnasöfnun og undirbúningur gagna
- Breytuval
- Þjálfun líkana
- Mat á gæðum líkana
- Líkön sett í rekstur
- Líkön sem þjónustur
- Hvernig vakta á líkön
- Hvernig viðhalda á líkönum
Yfir misserið verða þrjú stór verkefni þar sem nemendur keppa um að smíða gervigreindarlausnir.

X

Þýðendur (TÖL202M)

Hönnun forritunarmála. Skipulag og hönnun þýðenda. Lesgreinar, ofansæknir og neðansæknir þáttarar, þulusmiðir. Stórt einstaklingsverkefni.

X

Rökstudd forritun (TÖL212M)

Fjallað er um grundvallaratriði í rökstuddri forritun. Áhersla verður lögð á að nota rökstudda forritun til að þróa traust og sönnuð afbrigði af vel þekktum reikniritum, einkum á sviði leitar, röðunar og tvíleitartrjáa. Meðal reiknirita sem fjallað verður um eru ýmis afbrigði af insertion sort, selection sort, quicksort, helmingunarleit og leit í tvíleitartré. Áhersla verður lögð á að dýpka skilning nemenda á reikniritunum ásamt því að ná góðum tökum á rökstuddri forritun. Að hluta verða verkefni leyst með hjálp sannreyningartóla svo sem Dafny eða OpenJML.

X

Frá hugmynd að veruleika II (TÖL602M)

Námskeiðið er framhaldsnámskeið af námskeiðinu „Frá hugmynd að veruleika“. Ætlast er til að nemendur haldi áfram að þróa hugmynd sína sem þeir voru með í námskeiðinu „Frá hugmynd að veruleika“. Ef nemendur eru ekki sáttir við fyrri hugmynd sína og telja sig vera komna með betri hugmynd þá er það í lagi og ef kennari er sáttur við nýju hugmyndina.

Nemendur þurfa að sækja um styrki í samkeppnissjóði. Æfa að kynna hugmynd sína fyrir hugsanlegum fjárfestum og samnemendum sínum.

Kennari mun fara yfir bókhaldsmál og áætlanagerð byggða á líkum.

Kennari mun fara yfir stofnun fyrirtækja og skattamál.

X

Reiknirit í lífupplýsingafræði (TÖL604M)

Efni námskeiðsins eru helstu reiknirit sem notuð eru í lífupplýsingafræði. Í upphafi er stutt yfirlit yfir erfðamengjafræði og reiknirit fyrir nemendur af öðrum sviðum. Námskeiðinu er skipt upp í nokkrar einingar og er hverri ætlað að fara yfir einstök verkefni í lífupplýsingafræði sem mótast af rannsóknarverkefnum. Hver eining samanstendur af verkefnislýsingu og aðferðum sem beitt er við úrlausn. Viðfangsefnin verða m.a. mynstraleit, strengjafjarlægð, samröðun gena og erfðamengja, þyrpingagreining, raðgreining og myndun erfðamengja og að lokum aðferðir við úrvinnslu úr háhraðaraðgreiningar gögnum.

X

Keppnisforritun (TÖL607G)

Í þessu námskeiði fá nemendur þjálfun í að leysa reikniverkefni af þeim toga sem oft koma fyrir í forritunarkeppnum. Færni til að leysa slík verkefni nýtist ekki eingöngu við keppnisforritun heldur kemur hún einnig að gagni við almenna forritun, í framhaldsnámskeiðum í tölvunarfræði og í atvinnuviðtölum.

Fjallað verður um helstu reiknirit og lausnaraðferðir sem koma við sögu í keppnisverkefnum. Ennfremur verður farið í netreiknirit, strengjavinnslu, reiknirúmfræði og talningafræði. Nemendur verja mestum hluta tíma síns í að forrita lausnir á keppnisverkefnum.

X

Þættir úr sögu og heimspeki vísindanna (SAG448G)

Markmið námskeiðsins er að kynna nemendum þróun og eðli vísinda með því að rekja dæmi úr vísindasögunni og nýleg viðhorf sem varða eðli, markmið og þróun vísinda. Sérstök áhersla verður lögð á sögu eðlisvísinda frá Aristótelesi fram á daga Newtons, þar á meðal hræringar í stjörnufræði í Vísindabyltingunni. Auk þessa verður saga þróunarkenningar Darwins skoðuð sérstaklega. Þá verður lögð sérstök áhersla á að skoða sögu vísinda út frá ólíkum hugmyndum um vísindalegar framfarir og út frá nýlegum hugmyndum um tengsl vísinda og samfélags. Námsefnið getur breyst með hliðsjón af áhugasviði nemenda.

X

Inngangur að máltækni (TÖL025M)

If requested, the course may be taught in English.

Í námskeiðinu verður farið yfir helstu atriði í máltækni með áherslu á greiningu og vinnslu ritaðs máls. Farið verður yfir helstu kjarnaverkefni í máltækni og nytsemi þeirra. Helstu tól og málföng verða kynnt, auk þess sem farið verður sérstaklega yfir stöðu íslenskrar máltækni.

Áhersla verður lögð á aðferðir sem nýta greypingar, djúp tauganet og mállíkön við lausn hagnýtra verkefna auk þess sem farið verður yfir hvernig gervigreindaraðferðir hafa nær alfarið tekið yfir við vinnslu mannlegs máls. 

Í námskeiðinu verða 6 heimaverkefni sem gilda 60% af lokaeinkunn námskeiðsins auk stærra lokaverkefnis sem gildir 40%. Auk þess verða verkefni í fyrirlestrum sem geta minnkað vægi heimaverkefna um 5% ef lágmarksfjölda er skilað. 

X

Reiknirit í raunheimum (TÖL608M)

Í námskeiðinu verður farið yfir hönnun og greiningu reiknirita, með sérstaka áherslu á reiknirit sem vinna á stórum gagnasettum og eru notuð í raunverulegum verkefnum.

Reikniritin koma úr ýmsum áttum, m.a. þjöppun gagna og texta, villuleiðréttingar með leiðréttingarkóðum, leit í stórum textasöfnum fyrir leitarvélar, samhliða vinnsla, GPU forritun, straumareiknirit, slembin reiknirit, nágrannaleit í margvíðum gögnum.

X

Þættir úr sögu og heimspeki vísindanna (SAG448G)

Markmið námskeiðsins er að kynna nemendum þróun og eðli vísinda með því að rekja dæmi úr vísindasögunni og nýleg viðhorf sem varða eðli, markmið og þróun vísinda. Sérstök áhersla verður lögð á sögu eðlisvísinda frá Aristótelesi fram á daga Newtons, þar á meðal hræringar í stjörnufræði í Vísindabyltingunni. Auk þessa verður saga þróunarkenningar Darwins skoðuð sérstaklega. Þá verður lögð sérstök áhersla á að skoða sögu vísinda út frá ólíkum hugmyndum um vísindalegar framfarir og út frá nýlegum hugmyndum um tengsl vísinda og samfélags. Námsefnið getur breyst með hliðsjón af áhugasviði nemenda.

X

Hagnýt dulritunarfræði (TÖL213M)

Í þessu námskeiði munu nemendur taka hagnýta nálgun til að skilja byggingu og brot á dulritunarútfærslum. Fyrri helmingur þessarar einingar mun fela í sér forritunarverkefni en seinni helmingurinn mun fela í sér tvö smáverkefni.

Byrjað er á einföldum aðferðum sem notaðar eru sögulega, eins og Caeser dulmálið, yfir í nútíma samskiptareglur sem notaðar eru til að tryggja fjarskipti alls staðar, eins og AES og TLS. Nemendur munu einnig íhuga hlutverk dulritunar í samfélaginu víðar með því að rannsaka hvernig umdeild tækni eins og dulkóðun frá enda til enda og Tor hefur áhrif á réttlæti og friðhelgi einkalífs, og dreifðar höfuðbækur geta gert valddreifingu lykilkerfa í samfélaginu. Að lokum lýkur námskeiðinu með smáverkefni sem sýnir hagnýta árás gegn dulmálsútfærslu með siðferðilegum innbrotsaðferðum t.d. Wi-Fi-sprunga, þvingun lykilorða eða man-in-the-middle árás á dulkóðaða tengingu til að þefa niður umferð.

Námskeiðið mun ná yfir eftirfarandi áfanga:

1) Byggja dulmáls frumstæður á forritunarmáli að eigin vali.

2) Bestu starfsvenjur umsóknaverkfræði.

3) Rannsóknarverkefni í dulritun og samfélagi.

4) Hagnýtt verkefni í siðferðilegu hakki á dulritun.

Öll fög eru skyldufög nemaVValfagBBundið val er háð skilyrðum ENámskeiðið er ekki kennt á misserinuNámsleiðin í Kennsluskrá
X

Stærðfræðigreining I (STÆ104G)

Þetta er grunnnámskeið um stærðfræðigreiningu í einni breytistærð. Æskilegur undirbúningur er að nemendur hafi lokið námskeiðum á framhaldsskólastigi sem fjalla um algebru, rúmfræði, hornaföll, diffrun og heildun. Námskeiðið leggur grunn að skilningi á greinum á borð við náttúrufræði, verkfræði, hagfræði og tölvunarfræði. Umfjöllunarefni námskeiðsins eru meðal annars:

  • Rauntölur.
  • Markgildi og samfelld föll.
  • Deildanleg föll, reglur um afleiður, hærri afleiður, hagnýtingar deildareiknings (útgildisverkefni, línuleg nálgun).
  • Torræð föll.
  • Meðalgildissetning, setningar l'Hôpitals og Taylors.
  • Heildun, ákveðin heildi og reiknireglur fyrir þau, stofnföll, óeiginleg heildi.
  • Undirstöðusetning stærðfræðigreiningarinnar.
  • Hagnýtingar heildareiknings: Bogalengd, flatarmál, rúmmál, þungamiðjur.
  • Venjulegar afleiðujöfnur: fyrsta stigs línulegar diffurjöfnur, annars stigs línulegar diffurjöfnur með fastastuðlum.
  • Runur og raðir, samleitnipróf.
  • Veldaraðir, Taylor-raðir.
X

Línuleg algebra (STÆ107G)

Einingar til BS-prófs gilda aðeins fyrir annaðhvort REI201G  Stærðfræði og reiknifræði eða STÆ107G Línuleg algebra.

Fjallað er um undirstöðuatriði línulegar algebru yfir rauntölurnar.

Viðfangsefni: Línuleg jöfnuhneppi,fylkjareikningur, Gauss-Jordan aðferð.  Vigurrúm og hlutrúm þeirra.  Línulega óháð hlutmengi, grunnar og vídd.  Línulegar varpanir, myndrúm og kjarni.  Depilfargfeldið, lengd og horn.  Rúmmál í margvíðu hnitarúmi og krossfeldi í þrívíðu.  Flatneskjur, stikaframsetning og fólgin framsetning.  Hornrétt ofanvörp og einingaréttir grunnar.  Aðferð Grams og Schmidts.  Ákveður og andhverfur fylkja.  Eigingildi, eiginvigrar og hornalínugerningur.

X

Tölvunarfræði 1 (TÖL101G)

Einingar til BS-prófs gilda aðeins fyrir annaðhvort TÖL101G Tölvunarfræði 1 eða TÖL105G Tölvunarfræði 1a.

Forritunarmálið Java verður notað til að kynnast grundvallaratriðum í tölvuforritun. Æfingar í forritasmíð verða á dagskrá allt misserið. Áhersla verður lögð á skipulegar og rökstuddar aðferðir við smíði forrita og góða innri skjölun. Helstu hugtök tengd tölvum og forritun. Klasar, hlutir og aðferðir. Stýrisetningar. Strengir og fylki, aðgerðir og innbyggð föll. Inntaks- og úttaksaðgerðir. Erfðir. Hugtök varðandi hönnun og byggingu kerfa og vinnubrögð við forritun. Ítrun og endurkvæmni. Röðun og leit.

X

Stærðfræðimynstur (TÖL104G)

Yrðingar, umsagnir og rökleiðingar. Mengjareikningur og Boolealgebrur. Þrepun og endurkvæmni. Grunnaðferðir við greiningu reiknirita og talningu. Einföld reiknirit í talnafræði. Vensl, eiginleikar þeirra og framsetning. Tré og net og einföld reiknirit tengd þeim. Strengir, dæmi um mál, stöðuvélar og málskipan.

Dæmatímar
Það eru 7 dæmahópar og nemendur velja sér hóp. Dæmatímar eru tvennskonar:
Venjulegir (5 hópar): 2x40 mín. vikulega, á eftir hverjum er 40 mín. stoðtími 
Hraðferðir (2 hópar): 1x40 mín. vikulega
Sjá nánar í stundaskrá

X

Tölvur, stýrikerfi og tölvufærni (TÖL108G)

Í þessu námskeiði er snert á mörgum hlutum sem tengjast tölvufærni. Markmið námskeiðsins er að kynna nemandann fyrir mörgum hugtökum án þess þó að kafa djúpt í hvert hugtak.

Kynning á stýrikerfinu Unix. Skipulag skráakerfis, helstu hjálparforrit, gluggakerfi, skipanalínuvinnsla og skeljarforritun. Einnig er farið yfir ritla í skelinni og höndlun gagna í henni. Farið er yfir útgáfustjórnunarkerfi eins og Git, notkun aflúsunaraðferða og aðferða til að byggja hugbúnað. Farið er yfir algeng hugtök í dulmálsfræðum og kynnt eru hugtök á borð við sýndarvélar og gáma.

X

Inngangur að gagnavísindum (REI202G)

Í námskeiðinu er fjallað um grunnaðferðir í gagnavísindum auk þess sem kennt er á forritasöfn á borð við numpy, pandas, matplotlib og scikit-learn.

Námskeiðið er í 6 hlutum:

  1. Kynning á Python forritunarmálinu.
  2. Umbreyting hrágagna á form sem auðvelt er að vinna með.
  3. Forkönnun á gögnum og myndræn framsetning á þeim.
  4. Bestun.
  5. Klösun og víddarfækkun.
  6. Aðhvarfsgreining og flokkun.

Hverjum hluta lýkur með verkefni.

Athugið að námslega skörun er við REI201G Stærðfræði og reiknifræði og geta bæði námskeiðin ekki gilt til sömu gráðunnar.

X

Líkindareikningur og tölfræði (STÆ203G)

Grundvallarhugtök í líkindafræði og tölfræði, stærðfræðileg undirstaða þeirra og beiting með tölfræðihugbúnaðinum R. 

  • Líkindi, slembistærðir og væntigildi þeirra
  • Mikilvægar líkindadreifingar
  • Úrtök, lýsistærðir og úrtaksdreifing lýsistærða
  • Metlar og öryggisbil
  • Hugmyndafræði tilgátuprófa
  • Mikilvæg tilgátupróf
  • Línuleg aðhvarfsgreining

X

Stærðfræðigreining II (STÆ205G)

Í námskeiðinu er fengist við stærðfræðigreiningu falla af mörgum breytistærðum. Helstu hugtök sem koma vip sögu eru:

Opin mengi og lokuð. Varpanir, markgildi og samfelldni. Deildanlegar varpanir, hlutafleiður og keðjuregla. Jacobi-fylki. Stiglar og stefnuafleiður. Blandaðar hlutafleiður. Ferlar. Vigursvið og streymi. Sívalningshnit og kúluhnit. Taylor-margliður. Útgildi og flokkun stöðupunkta. Skilyrt útgildi. Fólgin föll og staðbundnar andhverfur. Ferilheildi, stofnföll. Heildun falla af tveimur breytistærðum. Óeiginleg heildi. Setning Greens. Einfaldlega samanhangandi svæði. Breytuskipti í tvöföldu heildi. Margföld heildi. Breytuskipti í margföldu heildi. Heildun á flötum. Flatarheildi vigursviðs. Setningar Stokes og Gauss.

X

Tölvunarfræði 2 (TÖL203G)

Námskeiðið mun nota forritunarmálið Java. Fjallað er um gagnaskipan, reiknirit og huglæg gagnatög. Meðal gagnaskipana, sem farið er yfir, eru listar, hlaðar, biðraðir, forgangsbiðraðir, tré, tvítré, tvíleitartré og hrúgur auk viðkomandi reiknirita. Kynnt verða ýmis leitar- og röðunarreiknirit. Reiknirit eru greind, hvað þau taka langan tíma í vinnslu og hve mikið minnisrými. Forritunarverkefni, sem nota áðurnefnda gagnaskipan og reiknirit, eru leyst í Java. Mörg lítil forritunarverkefni verða í námskeiðinu.

X

Viðmótsforritun (HBV201G)

Í þessu námskeiði munu nemendur þjálfa forritun grafísks notendaviðmóts í Java og læra um helstu skref í þróun hugbúnaðarverkefnis frá hugmyndavinnu til prófana. Lögð er áhersla á að nemendur öðlist meiri færni í forritun stærri verkefna en í byrjendanámskeiði í forritun (TÖL101G), geti hannað gagnvirkt notendaviðmót, forritað það og prófað. Í því felst að nemendur geti kynnt sér stór forritasöfn (hér JavaFX) og notað þau. Einnig að nemendur geti lesið, skilið og útfært fyrirmæli um virkni, þ.m.t. gagnvirkni. Nemendur munu kynnast hönnunarferli sem samanstendur af fimm sprettum, skilja verkefnið, skissa hugmyndir og gagnvirkni, velja úr og skilgreina, forrita frumgerð og að kokum prófa og ígrunda. Gefin er innsýn í efnisatriði eins og notendamiðaða þróun, hönnun gagnvirkni, frumgerðir og notendaprófanir.
Námskeiðið mun undirbúa nemendur fyrir námskeiðin Þróun hugbúnaðar og Hugbúnaðarverkefni 1 og þau námskeið þar sem nemendur þurfa að forrita. Námskeiðið er einnig góður grunnur fyrir námskeið eins og TÖL502M Samskipti manns og tölvu.

X

Greining og hönnun stafrænna rása (TÖV201G)

Virkni og notkun flétturása, kóðara, afkóðara, lesminni (ROM), og forritanlegs rökrásabúnaðar við rásahönnun. Hönnun og greining reiknirása, samleggjari/frádragari, margfaldari. Hönnun og greining runurása bæði samhæfðar og ósamhæfðar. Farið verður í hönnun rása með D og JK vippum. Sérstakar runurásir, teljarar og hliðrunargisti. Meðhöndlun og notkun stöðuvéla (FSM). Stöðulágmörkun, stöðustjórnun, stöðukennsl. Runuvinnsla með stöðuvélum. Grundvallaratriði í notkun vélhermimáls (HDL) og forritanlegs rása búnaðar (FPGA) í samræmi við fyrrnefndar rásir. Nemendur munu skila sjö verklegum verkefnum sem byggja á stafrænni rásahönnun, Verilog og FPGA. Auk þess munu nemendur kynnast eldri aðferðum með notkun á tengibrettum til að byggja rásir nokkurra valinna verkefna.

Á síðari vikum námskeiðsins verður farið í hönnun flóknari rása með verilog og FPGA. Fjallað verður um kerfi á kubb ofl. Sem tengist notkunn FPGA og Xilinx hönnunarumhverfisins.

Markmið: Meðal markmiða námskeiðsins er að nemendur átti sig á grundvallaratriðum á greiningu og hönnun stafrænna rása og öðlist reynslu og þekkingu á leiðandi aðferðum við hönnun stafrænna rása.

X

Gervigreind (REI505M)

Fjallað er um hugtök, aðferðir og reiknirit á sviði gervigreindar, með áherslu á studdan og óstuddan lærdóm. Forvinnsla og myndræn framsetning gagna. Mat á gæðum líkana og val á líkönum. Línuleg aðhvarfsgreining, næstu nágrannar, stoðvigravélar, tauganet, ákvarðanatré og safnaðferðir. Djúpur lærdómur. Þyrpingagreining og k-means aðferðin. Nemendur útfæra einföld reiknirit í Python og læra á sérhæfða forritspakka. Námskeiðinu lýkur með hagnýtu verkefni.

X

Stærðfræðigreining III (STÆ302G)

Í námskeiðinu er fjallað undistöðuatriði um tvö svið stærðfræðigreiningar, tvinnfallagreiningu og afleiðujöfnur, með áherslu á hagnýtingu og útreikninga á lausnum.

Viðfangsefni: Tvinntölur og varpanir á svæðum í tvinntalnasléttunni. Föll af einni tvinnbreytistærð. Fáguð föll. Veldisvísisfallið, lograr, rætur og horn. Cauchy-setningin og Cauchy-formúlan. Samleitni í jöfnum mæli. Veldaraðir. Laurent-raðir. Leifareikningur. Hagnýtingar á tvinnfallagreiningu í straumfræði. Venjulegar afleiðujöfnur og afleiðujöfnuhneppi. Línulegar afleiðujöfnur  með fastastuðlum. Ýmsar aðferðir til að reikna út sérlausnir. Green-föll fyrir upphafsgildisverkefni. Línuleg afleiðujöfnuhneppi. Veldisvísisfylkið. Veldaraðalausnir og aðferð Frobeniusar. Laplace-ummyndun og notkun hennar við lausn á afleiðujöfnum. Leifaformúlur fyrir Fourier-myndir og andhverfar Laplace-myndir.

X

Formleg mál og reiknanleiki (TÖL301G)

Endanlegar stöðuvélar, regluleg mál og málskipan, staflavélar, samhengisóháð mál og málskipan, Turingvélar, almenn mál og málskipan og helstu eiginleikar þeirra.

Ávarðanleg og listanleg mál, yfirfærsla milli mála, tengsl við ákvörðnarverkefni og sönnun á óleysanleika slíkra verkefna. Flækjustigsflokkarnir P og NP og NP-fullkomleiki. Dæmi um ýmis líkön af reiknanleika.

X

Gagnasafnsfræði (TÖL303G)

Gagnasöfn og gagnasafnskerfi. Einindavenslalíkanið. Töflulíkanið og töflualgebra. SQL fyrirspurnarmálið. Hagkvæmni geymsluaðferða og úrvinnsluaðferða. Fallákveður, lyklar og staðalskipulag gagna í venslalíkaninu. Bestun fyrirspurna. Hreyfingar, samhliða vinnsla hreyfinga og læsingar. Endurbygging gagnasafna. Öryggi gagnasafna og aðgangsheimildir. Vöruhús gagna.

X

Forritunarmál (TÖL304G)

Helstu gerðir forritunarmála kynntar. Bálkmótuð mál, listavinnslumál, hlutbundin forritun. Lýsing forritunarmála, þýðendur og túlkar. Uppbygging bálkmótaðra mála. Einingaforritun. Föll og undirforrit, viðföng og samskipti. Minnismeðhöndlun, ruslasöfnun. Forritunarmálin Scheme, CAML, Java, Morpho, C++ og Haskell verða skoðuð. Hlutbundin forritunarmál. Hlutir og erfðir. Listavinnsla og fallsforritun. Lýsing forritunarmála. Málfræði, uppbygging þýðenda. Áhersla er lögð á einingaforritun (einkum fjölnota einingar), listavinnslu, fallsforritun, og bálkmótun.

X

Þróun hugbúnaðar (HBV401G)

Í þessu námskeiði stíga nemendur skrefið frá því að forrita sjálfir lítil forrit til að leysa vel skilgreind afmörkuð verkefni yfir í að vinna í hópi með öðrum að gerð stærri forritakerfa sem uppfylla stundum óljósar kröfur viðskiptavina. Námskeiðið fjallar um ýmsar grunnhugmyndir hugbúnaðarverkfræði til að fást við slík stærri kerfi, svo sem lipur hugbúnaðarferli, hugbúnaðarferli byggð á áætlunum, þarfaverkfræði, mat á vinnumagni, hlutbundna greiningu og hönnun, högun hugbúnaðar og þróun byggða á prófunum. Notkun þessara hugtaka er æfð í hópvinnuverkefnum þar sem nemendur þróa kerfi sem eru samsett úr minni þáttum og forrituð í Java.

X

Lífsferill gervigreindarlausna (REI603M)

Í þessu námskeiði kynnumst við lífsferli gervigreindarlausna og hvernig þróa á rekstrarhæfar lausnir.

Við förum yfir eftirfarandi skref lífsferilsins:
- Gagnasöfnun og undirbúningur gagna
- Breytuval
- Þjálfun líkana
- Mat á gæðum líkana
- Líkön sett í rekstur
- Líkön sem þjónustur
- Hvernig vakta á líkön
- Hvernig viðhalda á líkönum
Yfir misserið verða þrjú stór verkefni þar sem nemendur keppa um að smíða gervigreindarlausnir.

X

Töluleg greining (STÆ405G)

Einingar til BS-prófs gilda aðeins fyrir annaðhvort REI201G Stærðfræði og reiknifræði eða STÆ405G Töluleg greining.

Undirstöðuhugtök um nálgun og skekkjumat. Lausn línulegra og ólínulegra jöfnuhneppa. PLU-þáttun. Margliðubrúun, splæsibrúun og aðhvarfsgreining. Töluleg nálgun afleiða og heilda. Útgiskun. Töluleg lausn upphafshafsgildisverkefna fyrir venjuleg afleiðujöfnuhneppi. Fjölskrefaaðferðir. Töluleg lausn jaðargildisverkefna fyrir venjulegar afleiðujöfnur.

Gefin er einkunn fyrir skriflegar úrlausnir á forritunarverkefnum og vegur hún 30% af heildareinkunn. Stúdent verður að hafa lágmarkseinkunn 5 bæði fyrir verkefni og lokapróf.

X

Greining reiknirita (TÖL403G)

Aðferðir við hönnun og greiningu á tímaflækju reiknirita. Kynning og greining á reikniritum fyrir röðun, leit, netafræði og fylkjareikning. Torleysanleg vandamál, nálgunaraðferðir og slembin reiknirit.

X

Hugbúnaðarverkefni 1 (HBV501G)

Markmið námskeiðsins er að nemendur geti þróað hugbúnaðarkerfi, tekið þátt í hugbúnaðarverkefnum og hugleitt hugbúnaðarþróun.

Einn meginhluti námskeiðsins er þróun hugbúnaðar sem nemendur vinna að í teymum. Kennslan er verkefnismiðuð. Efni námskeiðsins spannar fyrri fasa hugbúnaðarþróunar, stærðarmat, hönnun og forritun og samstæðustjórnun.

Verkefni sem nemendur vinna að í námskeiðinu vinna þeir áfram í námskeiðinu HBV601G Hugbúnaðarverkefni 2.

X

Skýjaforritun og stórgögn (REI504M)

Yfirlit yfir forritun ofurtölva og stórgögn, umhverfi ofurtölva, tölvunet og gagnalausnir og samhliða forritun. Innviðir fyrir geymslu gagna og þjónustur fyrir stórgögn, greining fyrir stórgögn, ”map-reduce” aðferðarfræðin, formuð og hálfformuð gögn. Hagnýt verkefni: (A) Nemendur nota Amazon Web Services (AWS) skýið eða sambærilega lausn til að setja upp fjöltölvuvefþjónustu og samsvarandi kerfi fyrir prófun á henni. (B) Nemendur leysa verkefni á stórgögnum með ”map-reduce” aðferðafræði á AWS skýinu.

X

Inngangur að djúpum tauganetum (TÖL506M)

Í þessu námskeiði förum við yfir djúp tauganet og helstu aðferðir tengdar þeim. Kynnt verða net og aðferðir fyrir mynd, hljóð og textagreiningu. Lögð verður áhersla á hagnýtingu lausna og munu nemendur t.a.m. kynna verkefni eða grein á þessu sviði.

X

Örugg hugbúnaðargerð (HBV506M)

Örugg hugbúnaðargerð felur í sér að greina og draga úr veikleikum til að minnka ógnun við hugbúnað. Nemendur öðlast í þessu námskeið skilning á öruggum vinnubrögðum í hugbúnaðargerð og hvernig hægt er að beita þeim í gegnum allan þróunarferil hugbúnaðar.

Nemendur munu (í teymum) hanna, þróa og viðhalda vefforriti fyrir viðskiptavin í samræmi við öruggar hugbúnaðarverkfræðilegar meginreglur. Nemendur munu sýna skilning sinn og verklega hæfni á öryggismati (hvítkassi og svartkassi) með því að prófa eigin forrit og forrit annarra teyma fyrir veikleika gegn OWASP 10 - helstu hættum vefforrita.

Því er gert ráð fyrir að nemendur hafi þekkingu á þróun vefforrita með notkun JavaScript.

X

Málstofa í gervigreind (TÖL028M)

Nemendur setji sig inn í tiltekið efni á sviði gervigreindar, t.d. aðferðir á sviði tölvusjónar, máltækni, gagnaforvinnslu, gagnagerðar, eða annarra sviða, með því að lesa viðeigandi fræðilegt efni.

Þeir halda síðan fyrirlestur um efnið fyrir kennara námskeiðsins og samnemendur. Nemendur geta stungið upp á efni sem þeir hafa áhuga á eða valið efni sem kennari stingur upp á.

Samhliða því að læra umfjöllunarefnið er markmið námskeiðsins að æfa sig í munnlegri framsetningu.

Kennslutímabil sumarnáms: júní- ágúst

X

Lokaverkefni (TÖL261L)

Lokaverkefni er námskeið þar sem nemendur vinna verkefni undir handleiðslu kennara innan námsbrautar í Tölvunarfræði. Nemendur þurfa sjálfir að finna verkefni og kennara sem er tilbúinn að leiðbeina þeim. Verkefnum er ekki úthlutað. Í flestum tilfellum er unnið að forriti/vefsíðu/appi en það er ekki skilyrði. Verkefni lýkur með skýrslu sem skilað er til kennarans og hann gefur í kjölfarið einkunn.

Viðmiðunarregla er að 6 eininga verkefni sé þriggja vikna vinna og 8 einingar svari til fjögurra vikna, og þar með eru gerðar meiri kröfur til 8 eininga verkefna.

Upplýsingar um skil á verkefni
Skil eru í maí fyrir júníbrautskráningu
Skil eru í september fyrir októberbrautskráningu
Skil eru í janúar fyrir febrúarbrautskráningu

Í upphafi misseris koma nemandi og leiðbeinandi sér upp tímalínu um skil á verkefni

Skil á fullbúnu verkefni til leiðbeinanda/umsjónarkennara er 10. maí/ september/ janúar

Skil nemanda inn á Skemmu eru í síðasta lagi 30. maí/ september/ janúar og senda þarf staðfestingu um samþykkt skil á nemvon@hi.is

Einkunn frá leiðbeinanda á að hafa borist skrifstofu í síðasta lagi 30. maí/ september/ janúar

X

Eðlisfræði 1 V (EÐL102G)

Markmið: Að kynna nemendum aðferðir og grundvallarlögmál aflfræði, stöðufræði og bylgjufræði til þeirrar hlítar að þeir geti beitt þeim við lausn dæma. Námskeiðinu er m.a. ætlað að vera undirstaða í þessum greinum fyrir frekara nám í verkfræði.

Námsefni: Hugtök, einingar, tölur, víddir. Vigrar. Gangfræði. Hreyfifræði agna, tregða, kraftar og lögmál Newtons. Núningur. Vinna og orka og varðveisla orkunnar. Skriðþungi, árekstrar. Agnakerfi, massamiðja. Snúningur stjarfhlutar. Hverfiþungi og hverfitregða. Stöðufræði. Þyngd. Storka og straumefni, jafna Bernoullis. Sveiflur: Hreinar, deyfðar og þvingaðar. Bylgjur. Hljóð.

Verklegt: Gerðar eru 3 verklegar æfingar þar sem viðfangsefnin eru einkum sótt í aflfræði og áhersla lögð á að kynna nemendum verklag við gagnasöfnun og úrvinnslu gagna.  Nemendur skila vinnubókum fyrir verklegu æfingarnar og fá einkunn.

Athugið að kennslubókin er aðgengileg nemendum í gegnum Canvas án endurgjalds.

X

Reiknigreind (IÐN102M)

Við hönnun á greind kerfa er þörf fyrir sjálfvirk kerfi sem læra að taka góðar ákvarðanir. Í námskeiðinu er kynnt fyrir nemendum reiknirit sem endurbætast sjálfvirkt með reynslu. Þessi reiknirit þurfa enga leiðsögn aðra en umbun fyrir teknum ákvörðunum. Hugmyndafræði er kölluð styrkingalærdómur (e. reinforcement learning) og er snertiflötur ólíkra fræða; aðgerðgreiningu, gervigreind og stýritækni. Að námskeiði loknu eiga nemendur að hafa færni í að setja upp, greina og leysa stærðfræðileg líkön sem standa fyrir ákvörðunarverkefnum. Tekin eru fyrir Markov-ákvörðunarferli, kvik-bestun, Monte-Carlo aðferðir, ákvörðunarstefnur, áætlanagerð og trjáleit, ásamt djúpum tauganetum. Nemendur kynnast einnig forritunarmálinu Python.

X

Slembiþáttalíkön (MAS104M)

Í námskeiðinu er fjallað um fræði og hagnýtingu slembiþáttalíkana, sem og annarra líkana, til greiningar á háðum útkomubreytum.  Í námskeiðinu verður farið yfir aðferðir fyrir útkomur sem teljast samfelldar og normaldreifðar.  Í slíkum kringumstæðum þarf tölfræðilíkanið bæði að lýsa væntigildi útkoma og fylgni á milli þeirra.  Fræðin á bak við eru því umfram hefðbundina línulega aðhvarfsgreiningu. Til slíkrar greiningar þarf sérstakar tölfræðiaðferðir, sem helstu forrit bjóða uppá, eins og R, STATA og SAS.  Aðallega verður stuðst við R en önnur forrit kynnt til samanburðar eftir þörfum. 
Námskeiðið er kennt frá byrjun september til loka nóvember einu sinni í viku.  Stuðst verður við vendikennslu í námskeiðinu.  Námsefnið, bæði fyrirlestrar og lesefni, er allt á netinu (sjá annað lesefni) og ætlast er til að nemendur kynni sér það fyrir tíma og vinni svo í tímum við þær aðferðir sem eru til umfjöllunar á eigin tölvum.

X

Greining á frammistöðu tölvukerfa (REI503M)

Kennt að jafnaði annað hvert ár.

Námskeiðið fjallar um gerð líkana af tölvu- og samskiptakerfum auk mælinga á frammistöðu. Stór dreifð tölvukerfi afgreiða þjónustubeiðnir (t.d. vefsíðufyrirspurnir) samhliða til að lágmarka svartíma og hámarka ánægju notenda. Aðrir mælikvarðar á frammistöðu eru afköst (afgreiddar beiðnir á tímaeiningu) og uppfylling samkomulags um þjónustustig. Meðal námsefnis eru stærðfræðilegar aðferðir til að meta og skilja slík kerfi, bæði veikleika þeirra og styrkleika, til dæmis varðandi hönnun, verkröðunaraðferðir og rekstrarstefnur. Umfjöllunin byggir á aðferðum aðgerðagreiningar, sér í lagi biðraðafræði og Markov-ferlum (fyrirfram þekking á þessum aðferðum er ekki krafa).

Eindregið er mælt með mætingu í tíma.

X

Kennileg línuleg tölfræðilíkön (STÆ310M)

Einföld og fjölvíð aðhvarfsgreining, fervikagreining og samvikagreining, ályktanir, dreifni og samdreifni metla, mátpróf með frávika- og áhrifagreiningu, samtíma ályktanir. Almenn líkuleg líkön sem ofanvörp, fervikagreining sem sértilvik, samtíma öryggismörk á samanburðarföll. R notað í verkefnum. Lausnum verkefna er skilað i LaTeX og PDF.

Til viðbótar  er tekið efni eftir vali, t.d. útvíkkuð línuleg líkön (GLM), ólínuleg aðhvarfsgreining og/eða slembiþáttalíkön (random/mixed effects models) og/eða skóreimaaðferðir (bootstrap) o.s.frv.

Nemendur kynna lausnir verkefna, sem áður hefur verið skilað inn í gegnum vefsíðu.

Námskeiðið er kennt þegar ártalið er slétt tala.

X

Hagnýtt línuleg tölfræðilíkön (STÆ312M)

Í námskeiðinu er fjallað um einfalda og fjölvíða aðhvarfsgreiningu ásamt fervikagreiningu (ANOVA) og samvikagreiningu (ANCOVA). Að auki er farið í tvíkosta aðhvarfsgreiningu (binomial regression) og rætt um hugtök því tengt, svo sem gagnlíkindi (odds) og gagnlíkindahlutfall (odds ratio).
Námskeiðið er framhald af dæmigerðu grunnnámskeiði í tölfræði sem kennd eru á hinum ýmsu sviðum skólans. Farið verður í aðferðir til að meta stika í línulegum líkönum, hvernig smíða má öryggisbil og kanna tilgátur fyrir stikana, hverjar forsendur líkananna eru og hvað hægt sé að gera sé þeim ekki fullnægt. Verkefni eru unnin í tölfræðihugbúnaðinum R.

X

Netafræði (STÆ520M)

Net, netamótanir og netaeinsmótanir. Hlutnet, spannandi hlutnet. Vegir, tengd net. Örvanet. Tvíhlutanet. Euler-net og Hamilton-net; setningar Chvátals, Pósa, Ores og Diracs. Keppnisnet. Tré, spannandi tré, trjáfylkjasetningin, Cayley-setningin. Vegin net, reiknirit Kruskals og Dijkstra. Flæðinet, setning um hámarksflæði og lágmarkssnið, Ford-Fulkerson-reikniritið, Menger-setningin. Spyrðingar, Berge-setningin, giftingarsetning Halls, König-Egerváry-setningin, Kuhn-Munkres-reikniritið. Óaðskiljanleg net, tvítengd net. Lagnet, Euler-formúla, Kuratowski-setningin, nykurnet. Greypingar neta í fleti, Ringel-Youngs-Mayer-setningin. Litanir, litunarsetning Heawoods, Brooks-setningin, litamargliða; leggjalitanir, Vizing-setningin.

X

Hagnýt Bayesísk tölfræði (STÆ529M)

Markmið: Að kenna nemendum að beita ýmsum aðferðum úr Bayesískri tölfræði fyrir greiningu gagna. Námsefni: Fræðileg undirstaða Bayesískrar ályktunartölfræði, fyrirframdreifingar, gagnadreifingar og eftirádreifingar. Bayesísk ályktunartölfræði fyrir stika í einvíðum og margvíðum líkindadreifingum: tvíkosta-; normal-; Possion; veldis-; margvíð normal-; fjölkostadreifing.  Mat á gæðum líkans og samanburður á líkönum: Bayesísk p-gildi; deviance information criterion (DIC). Bayesísk hermun: Markov keðju Monte Carlo (MCMC) aðferðir; Gibbs sampler; Metropolis-Hastings skref; mat á samleitni. Línuleg líkön: normal línuleg líkön; stigskipt normal línuleg líkön; almenn línuleg líkön. Áhersla á greiningu gagna með forritum eins og Matlab og R.

X

Dreifð kerfi (TÖL503M)

Kennt að jafnaði annað hvert ár.

This course covers concepts of distributed systems and their application. Besides foundations on characteristics and models of distributed systems, networking and security, this includes network-based low-level interprocess communication, high-level remote procedure calls, the distributed object model and remote method invocation, services relevant in distributed systems (such as name services or distributed file systems), selected topics of distributed algorithms and their implementation (such as coordination, agreement,  time, replication). Furthermore, special types of distributed systems may be covered (such as peer-to-peer systems, Cloud and Grid computing).  Current technologies (such as Java RMI, Web Services, gRPC) are used as case study and as platform for developing distributed applications using high-level programming languages (such as Java).

Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be advanced in their BSc. studies. (E.g. we will implement middleware in Java, so you should have programming experience well beyond "TÖL101G Computer Science 1". As a middleware adds functionality on top of an Operating System, you should have also passed TÖL401G Operating Systems.)

X

Gervigreind fyrir jarðarkönnun keyrt á ofurtölvum (REI506M)

Í þessu námskeiði er farið yfir grundvallaratriði fjarkönnunar með gervitunglum, aðferðir á sviði tölvusjónar sem byggja á djúpum tauganetum og hagnýtingu slíkra aðferða með ofurtölvum.

Námskeiðinu er skipt í fjóra hluta sem endurspegla þau fræðilegu hugtök sem farið er yfir í námskeiðinu og í hverjum hluta vinna nemendur verkefni sem tengist viðfangsefninu hverju sinni. Verkefnin tengjast öll fjarkönnun og myndaflokkun og nemendur vinna að verkefninu í gegnum misserið.

X

Inngangur að gagnaöryggi (TÖL029M)

This course provides the foundation for understanding the key issues associated with protecting information assets, determining the levels of protection and response to security incidents, and designing a consistent, reasonable information security system, with appropriate intrusion detection and reporting features.  The purpose of the course is to provide the student with an overview of the field of information security and assurance. Students will be exposed to the spectrum of security activities, methods, methodologies, and procedures.  Coverage will include inspection and protection of information assets, detection of and reaction to threats to information assets, and examination of pre- and post-incident procedures, technical and managerial responses and an overview of the information security planning and staffing functions.  Topics include risk assessment, authentication, securing web, application security, privacy and data protection, introduction to cryptography, security architecture, firewalls and other devices and network topologies.

X

Eðlisfræði 2 V (EÐL201G)

Kennt í 12 vikur. Markmið: Að kynna nemendum aðferðir og grundvallarlögmál rafsegulfræði og ljósfræði. Námsefni: Hleðsla og rafsvið. Lögmál Gauss. Rafmætti. Þéttar og rafsvarar. Rafstraumur, viðnám, rafrásir. Segulsvið. Lögmál Ampères og Faradays. Span. Rafsveiflur og riðstraumur. Jöfnur Maxwells. Rafsegulbylgjur. Endurkast og ljósbrot. Linsur og speglar. Bylgjuljósfræði. Verklegt: Gerðar eru fjórar tilraunir í ljósfræði og almennri rafsegulfræði. Nemendur skila vinnubókum fyrir allar tilraunir og formlegri skýrslu um eina tíma tilraun.

X

Hugbúnaðarverkefni 2 (HBV601G)

Seinna námskeiðið af tveimur (HBV501G og HBV601G) þar sem nemendur vinna að umfangsmiklu hugbúnaðarverkefni í hópvinnu. Fínönnun, útfærsla, prófanir, uppsetning og afhending verkefnisins, sem var þarfagreint og hannað í námskeiðinu Hugbúnaðarverkefni 1. Útfærsla á skrefum. Forritunarstaðlar, skjölun, rekjanleiki og sönnun forrita. Gallalaus forritun. Mat á umfangi hugbúnaðarkerfa. Prófunaraðferðir. Prófanir og gæðamat á hugbúnaðarverkefnum. Rýni á hönnun og útfærslu. Uppsetning og viðtaka kerfa. Líftími hugbúnaðarkerfa. Mælingar í hugbúnaðargerð. Alþjóðlegir staðlar um þróun hugbúnaðar.

X

Aðgerðagreining (IÐN401G)

Í námskeiðinu er nemendum kynnt hvernig gera á skipulega mynd af ákvörðunar- og bestunarverkefnum í aðgerðagreiningu.
Að námskeiði loknu eiga nemendur að hafa færni í að setja upp, greina og leysa stærðfræðileg líkön sem standa fyrir raunhæfum verkefnum og hvernig meta eigi lausn þeirra á gagnrýninn hátt. Tekin eru fyrir línuleg bestun og Simplex aðferðin, auk skyld fræðileg efni.
Námskeiðið kynnir auk þess stærðfræðileg líkön fyrir einstök verkefni; flutningsverkefni, úthlutunarverkefni, netverkefni og heiltölubestun. Nemendur kynnast einnig sérhæfðu forritunarmáli við líkangerð fyrir línulega bestun.

X

Hönnun og framkvæmd tilrauna (IÐN405G)

Tilgangur námskeiðs er að þjálfa verkfræðilega nálgun á tilraunir og tilraunahugsun. Farið er í hönnun tilrauna, framkvæmd þeirra, söfnun gagna og úrvinnsla þeirra með tölfræðilegum aðferðum. Að lokum er farið í hvernig draga megi ályktanir út frá gögnum / upplýsingum við notkun tilrauna við til dæmis vöruhönnun og hönnun og rekstur framleiðslukerfa.

Námsefni: Línuleg og ólínuleg aðhvarfsgreining. Fervika- og þáttagreining. Hönnun tilrauna. Tölfræðilegt gæðaeftirlit. Stikalaus próf sem beita má við úrvinnslu á gögnum. Notkun tölfræðiforrita við lausn á verkefnum.

X

Stærðfræðigreining IV (STÆ401G)

Markmið: Að kynna fyrir nemendum Fourier-greiningu og hlutafleiðujöfnur og hagnýtingu á þeim.

Lýsing: Fourier-raðir og þverstöðluð fallakerfi, jaðargildisverkefni fyrir venjulega afleiðuvirkja, eigingildisverkefni fyrir Sturm-Liouville-virkja, Fourier-ummyndun, bylgjujafnan, varmaleiðnijafnan og Laplace-jafnan leystar á ýmsum svæðum í einni, tveimur og þremur víddum með aðferðum úr fyrri hluta námskeiðsins, aðskilnaður breytistærða, grunnlausn, Green-föll, speglunaraðferðin.

X

Þýðendur (TÖL202M)

Hönnun forritunarmála. Skipulag og hönnun þýðenda. Lesgreinar, ofansæknir og neðansæknir þáttarar, þulusmiðir. Stórt einstaklingsverkefni.

X

Reiknirit í lífupplýsingafræði (TÖL604M)

Efni námskeiðsins eru helstu reiknirit sem notuð eru í lífupplýsingafræði. Í upphafi er stutt yfirlit yfir erfðamengjafræði og reiknirit fyrir nemendur af öðrum sviðum. Námskeiðinu er skipt upp í nokkrar einingar og er hverri ætlað að fara yfir einstök verkefni í lífupplýsingafræði sem mótast af rannsóknarverkefnum. Hver eining samanstendur af verkefnislýsingu og aðferðum sem beitt er við úrlausn. Viðfangsefnin verða m.a. mynstraleit, strengjafjarlægð, samröðun gena og erfðamengja, þyrpingagreining, raðgreining og myndun erfðamengja og að lokum aðferðir við úrvinnslu úr háhraðaraðgreiningar gögnum.

X

Reiknirit í raunheimum (TÖL608M)

Í námskeiðinu verður farið yfir hönnun og greiningu reiknirita, með sérstaka áherslu á reiknirit sem vinna á stórum gagnasettum og eru notuð í raunverulegum verkefnum.

Reikniritin koma úr ýmsum áttum, m.a. þjöppun gagna og texta, villuleiðréttingar með leiðréttingarkóðum, leit í stórum textasöfnum fyrir leitarvélar, samhliða vinnsla, GPU forritun, straumareiknirit, slembin reiknirit, nágrannaleit í margvíðum gögnum.

X

Þættir úr sögu og heimspeki vísindanna (SAG448G)

Markmið námskeiðsins er að kynna nemendum þróun og eðli vísinda með því að rekja dæmi úr vísindasögunni og nýleg viðhorf sem varða eðli, markmið og þróun vísinda. Sérstök áhersla verður lögð á sögu eðlisvísinda frá Aristótelesi fram á daga Newtons, þar á meðal hræringar í stjörnufræði í Vísindabyltingunni. Auk þessa verður saga þróunarkenningar Darwins skoðuð sérstaklega. Þá verður lögð sérstök áhersla á að skoða sögu vísinda út frá ólíkum hugmyndum um vísindalegar framfarir og út frá nýlegum hugmyndum um tengsl vísinda og samfélags. Námsefnið getur breyst með hliðsjón af áhugasviði nemenda.

Öll fög eru skyldufög nemaVValfagBBundið val er háð skilyrðum ENámskeiðið er ekki kennt á misserinuNámsleiðin í Kennsluskrá
X

Stærðfræðigreining I (STÆ104G)

Þetta er grunnnámskeið um stærðfræðigreiningu í einni breytistærð. Æskilegur undirbúningur er að nemendur hafi lokið námskeiðum á framhaldsskólastigi sem fjalla um algebru, rúmfræði, hornaföll, diffrun og heildun. Námskeiðið leggur grunn að skilningi á greinum á borð við náttúrufræði, verkfræði, hagfræði og tölvunarfræði. Umfjöllunarefni námskeiðsins eru meðal annars:

  • Rauntölur.
  • Markgildi og samfelld föll.
  • Deildanleg föll, reglur um afleiður, hærri afleiður, hagnýtingar deildareiknings (útgildisverkefni, línuleg nálgun).
  • Torræð föll.
  • Meðalgildissetning, setningar l'Hôpitals og Taylors.
  • Heildun, ákveðin heildi og reiknireglur fyrir þau, stofnföll, óeiginleg heildi.
  • Undirstöðusetning stærðfræðigreiningarinnar.
  • Hagnýtingar heildareiknings: Bogalengd, flatarmál, rúmmál, þungamiðjur.
  • Venjulegar afleiðujöfnur: fyrsta stigs línulegar diffurjöfnur, annars stigs línulegar diffurjöfnur með fastastuðlum.
  • Runur og raðir, samleitnipróf.
  • Veldaraðir, Taylor-raðir.
X

Línuleg algebra (STÆ107G)

Einingar til BS-prófs gilda aðeins fyrir annaðhvort REI201G  Stærðfræði og reiknifræði eða STÆ107G Línuleg algebra.

Fjallað er um undirstöðuatriði línulegar algebru yfir rauntölurnar.

Viðfangsefni: Línuleg jöfnuhneppi,fylkjareikningur, Gauss-Jordan aðferð.  Vigurrúm og hlutrúm þeirra.  Línulega óháð hlutmengi, grunnar og vídd.  Línulegar varpanir, myndrúm og kjarni.  Depilfargfeldið, lengd og horn.  Rúmmál í margvíðu hnitarúmi og krossfeldi í þrívíðu.  Flatneskjur, stikaframsetning og fólgin framsetning.  Hornrétt ofanvörp og einingaréttir grunnar.  Aðferð Grams og Schmidts.  Ákveður og andhverfur fylkja.  Eigingildi, eiginvigrar og hornalínugerningur.

X

Tölvunarfræði 1 (TÖL101G)

Einingar til BS-prófs gilda aðeins fyrir annaðhvort TÖL101G Tölvunarfræði 1 eða TÖL105G Tölvunarfræði 1a.

Forritunarmálið Java verður notað til að kynnast grundvallaratriðum í tölvuforritun. Æfingar í forritasmíð verða á dagskrá allt misserið. Áhersla verður lögð á skipulegar og rökstuddar aðferðir við smíði forrita og góða innri skjölun. Helstu hugtök tengd tölvum og forritun. Klasar, hlutir og aðferðir. Stýrisetningar. Strengir og fylki, aðgerðir og innbyggð föll. Inntaks- og úttaksaðgerðir. Erfðir. Hugtök varðandi hönnun og byggingu kerfa og vinnubrögð við forritun. Ítrun og endurkvæmni. Röðun og leit.

X

Stærðfræðimynstur (TÖL104G)

Yrðingar, umsagnir og rökleiðingar. Mengjareikningur og Boolealgebrur. Þrepun og endurkvæmni. Grunnaðferðir við greiningu reiknirita og talningu. Einföld reiknirit í talnafræði. Vensl, eiginleikar þeirra og framsetning. Tré og net og einföld reiknirit tengd þeim. Strengir, dæmi um mál, stöðuvélar og málskipan.

Dæmatímar
Það eru 7 dæmahópar og nemendur velja sér hóp. Dæmatímar eru tvennskonar:
Venjulegir (5 hópar): 2x40 mín. vikulega, á eftir hverjum er 40 mín. stoðtími 
Hraðferðir (2 hópar): 1x40 mín. vikulega
Sjá nánar í stundaskrá

X

Tölvur, stýrikerfi og tölvufærni (TÖL108G)

Í þessu námskeiði er snert á mörgum hlutum sem tengjast tölvufærni. Markmið námskeiðsins er að kynna nemandann fyrir mörgum hugtökum án þess þó að kafa djúpt í hvert hugtak.

Kynning á stýrikerfinu Unix. Skipulag skráakerfis, helstu hjálparforrit, gluggakerfi, skipanalínuvinnsla og skeljarforritun. Einnig er farið yfir ritla í skelinni og höndlun gagna í henni. Farið er yfir útgáfustjórnunarkerfi eins og Git, notkun aflúsunaraðferða og aðferða til að byggja hugbúnað. Farið er yfir algeng hugtök í dulmálsfræðum og kynnt eru hugtök á borð við sýndarvélar og gáma.

X

Inngangur að gagnavísindum (REI202G)

Í námskeiðinu er fjallað um grunnaðferðir í gagnavísindum auk þess sem kennt er á forritasöfn á borð við numpy, pandas, matplotlib og scikit-learn.

Námskeiðið er í 6 hlutum:

  1. Kynning á Python forritunarmálinu.
  2. Umbreyting hrágagna á form sem auðvelt er að vinna með.
  3. Forkönnun á gögnum og myndræn framsetning á þeim.
  4. Bestun.
  5. Klösun og víddarfækkun.
  6. Aðhvarfsgreining og flokkun.

Hverjum hluta lýkur með verkefni.

Athugið að námslega skörun er við REI201G Stærðfræði og reiknifræði og geta bæði námskeiðin ekki gilt til sömu gráðunnar.

X

Líkindareikningur og tölfræði (STÆ203G)

Grundvallarhugtök í líkindafræði og tölfræði, stærðfræðileg undirstaða þeirra og beiting með tölfræðihugbúnaðinum R. 

  • Líkindi, slembistærðir og væntigildi þeirra
  • Mikilvægar líkindadreifingar
  • Úrtök, lýsistærðir og úrtaksdreifing lýsistærða
  • Metlar og öryggisbil
  • Hugmyndafræði tilgátuprófa
  • Mikilvæg tilgátupróf
  • Línuleg aðhvarfsgreining

X

Stærðfræðigreining II (STÆ205G)

Í námskeiðinu er fengist við stærðfræðigreiningu falla af mörgum breytistærðum. Helstu hugtök sem koma vip sögu eru:

Opin mengi og lokuð. Varpanir, markgildi og samfelldni. Deildanlegar varpanir, hlutafleiður og keðjuregla. Jacobi-fylki. Stiglar og stefnuafleiður. Blandaðar hlutafleiður. Ferlar. Vigursvið og streymi. Sívalningshnit og kúluhnit. Taylor-margliður. Útgildi og flokkun stöðupunkta. Skilyrt útgildi. Fólgin föll og staðbundnar andhverfur. Ferilheildi, stofnföll. Heildun falla af tveimur breytistærðum. Óeiginleg heildi. Setning Greens. Einfaldlega samanhangandi svæði. Breytuskipti í tvöföldu heildi. Margföld heildi. Breytuskipti í margföldu heildi. Heildun á flötum. Flatarheildi vigursviðs. Setningar Stokes og Gauss.

X

Tölvunarfræði 2 (TÖL203G)

Námskeiðið mun nota forritunarmálið Java. Fjallað er um gagnaskipan, reiknirit og huglæg gagnatög. Meðal gagnaskipana, sem farið er yfir, eru listar, hlaðar, biðraðir, forgangsbiðraðir, tré, tvítré, tvíleitartré og hrúgur auk viðkomandi reiknirita. Kynnt verða ýmis leitar- og röðunarreiknirit. Reiknirit eru greind, hvað þau taka langan tíma í vinnslu og hve mikið minnisrými. Forritunarverkefni, sem nota áðurnefnda gagnaskipan og reiknirit, eru leyst í Java. Mörg lítil forritunarverkefni verða í námskeiðinu.

X

Viðmótsforritun (HBV201G)

Í þessu námskeiði munu nemendur þjálfa forritun grafísks notendaviðmóts í Java og læra um helstu skref í þróun hugbúnaðarverkefnis frá hugmyndavinnu til prófana. Lögð er áhersla á að nemendur öðlist meiri færni í forritun stærri verkefna en í byrjendanámskeiði í forritun (TÖL101G), geti hannað gagnvirkt notendaviðmót, forritað það og prófað. Í því felst að nemendur geti kynnt sér stór forritasöfn (hér JavaFX) og notað þau. Einnig að nemendur geti lesið, skilið og útfært fyrirmæli um virkni, þ.m.t. gagnvirkni. Nemendur munu kynnast hönnunarferli sem samanstendur af fimm sprettum, skilja verkefnið, skissa hugmyndir og gagnvirkni, velja úr og skilgreina, forrita frumgerð og að kokum prófa og ígrunda. Gefin er innsýn í efnisatriði eins og notendamiðaða þróun, hönnun gagnvirkni, frumgerðir og notendaprófanir.
Námskeiðið mun undirbúa nemendur fyrir námskeiðin Þróun hugbúnaðar og Hugbúnaðarverkefni 1 og þau námskeið þar sem nemendur þurfa að forrita. Námskeiðið er einnig góður grunnur fyrir námskeið eins og TÖL502M Samskipti manns og tölvu.

X

Greining og hönnun stafrænna rása (TÖV201G)

Virkni og notkun flétturása, kóðara, afkóðara, lesminni (ROM), og forritanlegs rökrásabúnaðar við rásahönnun. Hönnun og greining reiknirása, samleggjari/frádragari, margfaldari. Hönnun og greining runurása bæði samhæfðar og ósamhæfðar. Farið verður í hönnun rása með D og JK vippum. Sérstakar runurásir, teljarar og hliðrunargisti. Meðhöndlun og notkun stöðuvéla (FSM). Stöðulágmörkun, stöðustjórnun, stöðukennsl. Runuvinnsla með stöðuvélum. Grundvallaratriði í notkun vélhermimáls (HDL) og forritanlegs rása búnaðar (FPGA) í samræmi við fyrrnefndar rásir. Nemendur munu skila sjö verklegum verkefnum sem byggja á stafrænni rásahönnun, Verilog og FPGA. Auk þess munu nemendur kynnast eldri aðferðum með notkun á tengibrettum til að byggja rásir nokkurra valinna verkefna.

Á síðari vikum námskeiðsins verður farið í hönnun flóknari rása með verilog og FPGA. Fjallað verður um kerfi á kubb ofl. Sem tengist notkunn FPGA og Xilinx hönnunarumhverfisins.

Markmið: Meðal markmiða námskeiðsins er að nemendur átti sig á grundvallaratriðum á greiningu og hönnun stafrænna rása og öðlist reynslu og þekkingu á leiðandi aðferðum við hönnun stafrænna rása.

X

Stærðfræðigreining III (STÆ302G)

Í námskeiðinu er fjallað undistöðuatriði um tvö svið stærðfræðigreiningar, tvinnfallagreiningu og afleiðujöfnur, með áherslu á hagnýtingu og útreikninga á lausnum.

Viðfangsefni: Tvinntölur og varpanir á svæðum í tvinntalnasléttunni. Föll af einni tvinnbreytistærð. Fáguð föll. Veldisvísisfallið, lograr, rætur og horn. Cauchy-setningin og Cauchy-formúlan. Samleitni í jöfnum mæli. Veldaraðir. Laurent-raðir. Leifareikningur. Hagnýtingar á tvinnfallagreiningu í straumfræði. Venjulegar afleiðujöfnur og afleiðujöfnuhneppi. Línulegar afleiðujöfnur  með fastastuðlum. Ýmsar aðferðir til að reikna út sérlausnir. Green-föll fyrir upphafsgildisverkefni. Línuleg afleiðujöfnuhneppi. Veldisvísisfylkið. Veldaraðalausnir og aðferð Frobeniusar. Laplace-ummyndun og notkun hennar við lausn á afleiðujöfnum. Leifaformúlur fyrir Fourier-myndir og andhverfar Laplace-myndir.

X

Formleg mál og reiknanleiki (TÖL301G)

Endanlegar stöðuvélar, regluleg mál og málskipan, staflavélar, samhengisóháð mál og málskipan, Turingvélar, almenn mál og málskipan og helstu eiginleikar þeirra.

Ávarðanleg og listanleg mál, yfirfærsla milli mála, tengsl við ákvörðnarverkefni og sönnun á óleysanleika slíkra verkefna. Flækjustigsflokkarnir P og NP og NP-fullkomleiki. Dæmi um ýmis líkön af reiknanleika.

X

Gagnasafnsfræði (TÖL303G)

Gagnasöfn og gagnasafnskerfi. Einindavenslalíkanið. Töflulíkanið og töflualgebra. SQL fyrirspurnarmálið. Hagkvæmni geymsluaðferða og úrvinnsluaðferða. Fallákveður, lyklar og staðalskipulag gagna í venslalíkaninu. Bestun fyrirspurna. Hreyfingar, samhliða vinnsla hreyfinga og læsingar. Endurbygging gagnasafna. Öryggi gagnasafna og aðgangsheimildir. Vöruhús gagna.

X

Forritunarmál (TÖL304G)

Helstu gerðir forritunarmála kynntar. Bálkmótuð mál, listavinnslumál, hlutbundin forritun. Lýsing forritunarmála, þýðendur og túlkar. Uppbygging bálkmótaðra mála. Einingaforritun. Föll og undirforrit, viðföng og samskipti. Minnismeðhöndlun, ruslasöfnun. Forritunarmálin Scheme, CAML, Java, Morpho, C++ og Haskell verða skoðuð. Hlutbundin forritunarmál. Hlutir og erfðir. Listavinnsla og fallsforritun. Lýsing forritunarmála. Málfræði, uppbygging þýðenda. Áhersla er lögð á einingaforritun (einkum fjölnota einingar), listavinnslu, fallsforritun, og bálkmótun.

X

Tölvutækni og forritun (TÖL309G)

Námskeiðið fjallar um innri gerð tölva og hvernig best er að haga forritun til að nýta sem best eiginleika nútíma tölva.  Farið verður í forritunarmálið C og sér í lagi fjallað um benda og minnisnotkun.  Táknun heiltalna og kommutalna í tölvum.  Forritun í x86-64 smalamáli.  Sérstaklega verður skoðað hvernig aðgerðir í C eru útfærðar í smalamáli.  Minnisstigveldi og áhrif þess á afköst forrita.  Ferli og stýring þeirra.  Útfærsla og notkun frábrigða í tölvum.  Sýndarminni tölva. Samskeiða forritun.

X

Þróun hugbúnaðar (HBV401G)

Í þessu námskeiði stíga nemendur skrefið frá því að forrita sjálfir lítil forrit til að leysa vel skilgreind afmörkuð verkefni yfir í að vinna í hópi með öðrum að gerð stærri forritakerfa sem uppfylla stundum óljósar kröfur viðskiptavina. Námskeiðið fjallar um ýmsar grunnhugmyndir hugbúnaðarverkfræði til að fást við slík stærri kerfi, svo sem lipur hugbúnaðarferli, hugbúnaðarferli byggð á áætlunum, þarfaverkfræði, mat á vinnumagni, hlutbundna greiningu og hönnun, högun hugbúnaðar og þróun byggða á prófunum. Notkun þessara hugtaka er æfð í hópvinnuverkefnum þar sem nemendur þróa kerfi sem eru samsett úr minni þáttum og forrituð í Java.

X

Töluleg greining (STÆ405G)

Einingar til BS-prófs gilda aðeins fyrir annaðhvort REI201G Stærðfræði og reiknifræði eða STÆ405G Töluleg greining.

Undirstöðuhugtök um nálgun og skekkjumat. Lausn línulegra og ólínulegra jöfnuhneppa. PLU-þáttun. Margliðubrúun, splæsibrúun og aðhvarfsgreining. Töluleg nálgun afleiða og heilda. Útgiskun. Töluleg lausn upphafshafsgildisverkefna fyrir venjuleg afleiðujöfnuhneppi. Fjölskrefaaðferðir. Töluleg lausn jaðargildisverkefna fyrir venjulegar afleiðujöfnur.

Gefin er einkunn fyrir skriflegar úrlausnir á forritunarverkefnum og vegur hún 30% af heildareinkunn. Stúdent verður að hafa lágmarkseinkunn 5 bæði fyrir verkefni og lokapróf.

X

Greining reiknirita (TÖL403G)

Aðferðir við hönnun og greiningu á tímaflækju reiknirita. Kynning og greining á reikniritum fyrir röðun, leit, netafræði og fylkjareikning. Torleysanleg vandamál, nálgunaraðferðir og slembin reiknirit.

X

Hugbúnaðarverkefni 1 (HBV501G)

Markmið námskeiðsins er að nemendur geti þróað hugbúnaðarkerfi, tekið þátt í hugbúnaðarverkefnum og hugleitt hugbúnaðarþróun.

Einn meginhluti námskeiðsins er þróun hugbúnaðar sem nemendur vinna að í teymum. Kennslan er verkefnismiðuð. Efni námskeiðsins spannar fyrri fasa hugbúnaðarþróunar, stærðarmat, hönnun og forritun og samstæðustjórnun.

Verkefni sem nemendur vinna að í námskeiðinu vinna þeir áfram í námskeiðinu HBV601G Hugbúnaðarverkefni 2.

X

Örugg hugbúnaðargerð (HBV506M)

Örugg hugbúnaðargerð felur í sér að greina og draga úr veikleikum til að minnka ógnun við hugbúnað. Nemendur öðlast í þessu námskeið skilning á öruggum vinnubrögðum í hugbúnaðargerð og hvernig hægt er að beita þeim í gegnum allan þróunarferil hugbúnaðar.

Nemendur munu (í teymum) hanna, þróa og viðhalda vefforriti fyrir viðskiptavin í samræmi við öruggar hugbúnaðarverkfræðilegar meginreglur. Nemendur munu sýna skilning sinn og verklega hæfni á öryggismati (hvítkassi og svartkassi) með því að prófa eigin forrit og forrit annarra teyma fyrir veikleika gegn OWASP 10 - helstu hættum vefforrita.

Því er gert ráð fyrir að nemendur hafi þekkingu á þróun vefforrita með notkun JavaScript.

X

Aðgerðagreining (IÐN401G)

Í námskeiðinu er nemendum kynnt hvernig gera á skipulega mynd af ákvörðunar- og bestunarverkefnum í aðgerðagreiningu.
Að námskeiði loknu eiga nemendur að hafa færni í að setja upp, greina og leysa stærðfræðileg líkön sem standa fyrir raunhæfum verkefnum og hvernig meta eigi lausn þeirra á gagnrýninn hátt. Tekin eru fyrir línuleg bestun og Simplex aðferðin, auk skyld fræðileg efni.
Námskeiðið kynnir auk þess stærðfræðileg líkön fyrir einstök verkefni; flutningsverkefni, úthlutunarverkefni, netverkefni og heiltölubestun. Nemendur kynnast einnig sérhæfðu forritunarmáli við líkangerð fyrir línulega bestun.

X

Mentor í Spretti (GKY001M)

Í námskeiðinu felast verkefni nemenda í  að vera mentor fyrir þátttakendur á framhalds- og háskólastigi í verkefninu „Sprettur”. Mentorar sinna því mikilvæga starfi að styðja og hvetja ungmenni í námi og félagslífi. Hlutverk mentora er að skapa uppbyggjandi samband við þátttakendur, vera jákvæð fyrirmynd og taka þátt í sameiginlegum viðburðum skipulögðum í Spretti. Mentorhlutverkið snýst um tengslamyndun og samveru sem felur í sér skuldbindingu gagnvart ungmennunum sem mentor styður.  

Sprettur er verkefni sem styður við nemendur með innflytjenda- eða flóttamannabakgrunn sem koma úr fjölskyldum þar sem fáir eða engir hafa háskólamenntun.  Nemendur í námskeiðinu eru mentorar þátttakenda og eru þeir tengdir saman með hliðsjón af sameiginlegu áhugasviði. Hver mentor ber ábyrgð á að styðja tvo þátttakendur. Mentorar skipuleggja samveru og verja þremur klukkustundum á mánuði (frá ágúst fram í maí) með þátttakendum í Spretti, þremur klukkustundum í mánuði í heimavinnuhópi og mæta í fimm málstofur sem dreifast yfir skólaárið. Nemendur skila dagbókarfærslum á Canvas í nóvember og mars. Dagbókarfærslur byggjast á lesefni og hugleiðingum nemenda um mentorstarfið. Námskeiðið er kennt á íslensku og ensku.  

 Nemendur sækja um þátttöku á námskeiðinu. Sjá rafrænt umsóknareyðublað.  Umsækjendur fara í viðtal og eru 15-30 nemendur valdir til þátttöku.   

Frekari upplýsingar um verkefnið „Sprettur” má nálgast hér: www.hi.is/sprettur 

X

Nytsemi friðhelgis og öryggis (HBV507M)

Yfirlit nytsams friðhelgis og öryggis með áherslu á tækninýjungar. Viðfangsefnin eru m.a. auðkenning, staðsetningar- og samfélagslegt friðhelgi, hegðunartengdar auglýsingar, friðhelgi heilsuverndar, nafnleynd, rafmynt, tækniskrif og siðferðilegt framferði við rannsóknir á sviði nytsemi friðhelgis og öryggis.  

X

Eðlisfræði 1 V (EÐL102G)

Markmið: Að kynna nemendum aðferðir og grundvallarlögmál aflfræði, stöðufræði og bylgjufræði til þeirrar hlítar að þeir geti beitt þeim við lausn dæma. Námskeiðinu er m.a. ætlað að vera undirstaða í þessum greinum fyrir frekara nám í verkfræði.

Námsefni: Hugtök, einingar, tölur, víddir. Vigrar. Gangfræði. Hreyfifræði agna, tregða, kraftar og lögmál Newtons. Núningur. Vinna og orka og varðveisla orkunnar. Skriðþungi, árekstrar. Agnakerfi, massamiðja. Snúningur stjarfhlutar. Hverfiþungi og hverfitregða. Stöðufræði. Þyngd. Storka og straumefni, jafna Bernoullis. Sveiflur: Hreinar, deyfðar og þvingaðar. Bylgjur. Hljóð.

Verklegt: Gerðar eru 3 verklegar æfingar þar sem viðfangsefnin eru einkum sótt í aflfræði og áhersla lögð á að kynna nemendum verklag við gagnasöfnun og úrvinnslu gagna.  Nemendur skila vinnubókum fyrir verklegu æfingarnar og fá einkunn.

Athugið að kennslubókin er aðgengileg nemendum í gegnum Canvas án endurgjalds.

X

Inngangur að hugbúnaðarverkfræði (HBV101G)

Námskeiðið útskýrir hvað hugbúnaðarverkfræði er, af hverju greinin er mikilvæg og hvaða færni og hæfi hún krefst.

Í  heimsóknum frá hugbúnaðarverkfræðingum úr atvinnugreininni og vinnu að hagnýtum verkefnum, mun námskeiðið kynna sérstaklega lykilhugtök hugbúnaðarverkfræði, krafta sem móta hugbúnaðarvörur og hlutverk og ábyrgð þeirra sem að þeim standa.

Nemendur vinna í hópum og velja verkefni í umhverfi sínu, sem hægt er að leysa eða betrumbæta með hugbúnaði, og greina áskoranir sem þarf að yfirstíga þegar hentugar hugbúnaðarlausnir eru hannaðar og þróaðar. Verkefnavinnan mun mótivera aðferðir og leiðir sem verða kynntar og þjálfaðar í námskeiðum  hugbúnaðarverkfræðinámsleiðarinnar.

Athugið! Námskeiðið er sérstaklega ætlað nýnemum á 1. ári í Hugbúnaðarverkfræði. Nýnemar í Tölvunarfræði eða öðrum námsleiðum þurfa sérstakt leyfi námsbrautar til að skrá sig í námskeiðið en það er ekki ætlað 2. eða 3. árs nemendum.

X

Viðhald hugbúnaðar (HBV103M)

Kennt að jafnaði annað hvert ár (í haust þegar ártalið er oddatölu en mun breyta frá og með 2024)

The first part of the course is based on flipped-classroom style weekly reading, videos and assignments on:

  • Evolution of Software and Lehman’s laws,
  • Maintenance processes,
  • Metrics useful for maintenance,
  • Software analysis,
  • Re-engineering,
  • Reverse engineering,
  • Code Smells & Refactoring,
  • Basics of (Regression-)Testing,
  • Design principles to support change & Design Patterns,
  • Tools for software maintenance (including advanced features of an IDE).

In the second part of this course, these techniques will be applied in order to maintain a real legacy software written in Java.

Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be advanced in their BSc. studies and you need solid Java programming experience: we will maintain a complex software and being able to understand how such a grown software works and to fix bugs is even more difficult to write such a software from scratch. Hence, you should have passed HBV501G Software Project 1, preferably even HBV601G Software Project 2. (It is impossible to maintain a software if you would not even be able to develop it.) Also, BSc. students should not take this course, if they know that they are going to continue with MSc. studies, because they might then experience a lack of suitable courses in their MSc. studies.

X

Lokaverkefni (HBV261L)

Lokaverkefni er námskeið þar sem nemendur vinna verkefni undir handleiðslu kennara innan námsbrautar í Tölvunarfræði. Nemendur þurfa sjálfir að finna verkefni og kennara sem er tilbúinn að leiðbeina þeim. Verkefnum er ekki úthlutað. Í flestum tilfellum er unnið að forriti/vefsíðu/appi en það er ekki skilyrði. Verkefni lýkur með skýrslu sem skilað er til kennarans og hann gefur í kjölfarið einkunn.

Viðmiðunarregla er að 6 eininga verkefni sé þriggja vikna vinna og 8 einingar svari til fjögurra vikna, og þar með eru gerðar meiri kröfur til 8 eininga verkefna.

Upplýsingar um skil á verkefni
Skil eru í maí fyrir júníbrautskráningu
Skil eru í september fyrir októberbrautskráningu
Skil eru í janúar fyrir febrúarbrautskráningu

Í upphafi misseris koma nemandi og leiðbeinandi sér upp tímalínu um skil á verkefni

Skil á fullbúnu verkefni til leiðbeinanda/umsjónarkennara er 10. maí/ september/ janúar

Skil nemanda inn á Skemmu eru í síðasta lagi 30. maí/ september/ janúar og senda þarf staðfestingu um samþykkt skil á nemvon@hi.is

Einkunn frá leiðbeinanda á að hafa borist skrifstofu í síðasta lagi 30. maí/ september/ janúar

Bent er á að þátttaka í þessu námskeiði útilokar þátttöku í námskeiðunum HBV004G, HBV502G og HBV603G starfsnámi.

X

Verkfræði kröfugreiningar (HBV301G)

Hugbúnaðarkröfur lýsa þörfum  sem hugbúnaður þarf að uppfylla og takmörkunum sem hann þarf að lúta til að hann geti leyst verkefni í tilteknu viðfangsefni notkunar. Námskeiðið fjallar um  aðferðir til að lýsa, greina, skilgreina, staðfesta og stjórna hugbúnaðarkröfum.

Námskeiðið kynnir tegundir og eiginleika hugbúnaðarþarfa, viðeigandi hagsmunaaðila, aðferðir til að draga fram, lýsa, greina, skilgreina og staðfesta kröfur. Einnig mun það fjalla um hagnýtar aðferðir eins og breytingastjórnun og úrlausn ágreiningsefna. Nemendur æfa sig í aðferðunum í hópum með því að beita þeim í verkefnum að eigin vali.

Nýtt skyldunámskeið - fyrst kennt 2023-2024

X

Reiknigreind (IÐN102M)

Við hönnun á greind kerfa er þörf fyrir sjálfvirk kerfi sem læra að taka góðar ákvarðanir. Í námskeiðinu er kynnt fyrir nemendum reiknirit sem endurbætast sjálfvirkt með reynslu. Þessi reiknirit þurfa enga leiðsögn aðra en umbun fyrir teknum ákvörðunum. Hugmyndafræði er kölluð styrkingalærdómur (e. reinforcement learning) og er snertiflötur ólíkra fræða; aðgerðgreiningu, gervigreind og stýritækni. Að námskeiði loknu eiga nemendur að hafa færni í að setja upp, greina og leysa stærðfræðileg líkön sem standa fyrir ákvörðunarverkefnum. Tekin eru fyrir Markov-ákvörðunarferli, kvik-bestun, Monte-Carlo aðferðir, ákvörðunarstefnur, áætlanagerð og trjáleit, ásamt djúpum tauganetum. Nemendur kynnast einnig forritunarmálinu Python.

X

Tæknistjórnun (IÐN103G)

Tilgangur námskeiðsins er að undirbúa nemendur undir störf í tæknifyrirtækjum og tæknimiðuðum skipuheildum. Farið verður í helstu þætti í reksti fyrirtækja og annarra skipuheilda og fjallað um hlutverk verkfræðinga og áskoranir sem þeir standa frammi fyrir. Nemendur kynnast greiningaraðferðum sem notaðar eru við ákvarðantöku, túlka niðurstöður þeirra og miðla munnlega og skriflega.

X

Greining ferla og kerfa (IÐN301G)

Markmiðið með námskeiðinu er að undirbúa nemendur í að greina ferla og kerfi. Farið verður í hvernig ferlum er lýst með það að markmiði að greina þá. Farið er í kortun ferla og hvernig uppgötva megi ferla. Farið verður í 3 aðferðir til að uppgötva ferla: staðreyndaleið, viðtalsleið og vinnustofuleið. Þegar ferlar liggja fyrir er hægt að greina þá. Farið er í bæði megindlegar og eigindlegar aðferðir við greiningu ferla. Kynntar verða eigindlegu aðferðirnar virðisgreining, rótargreining og áhættumat. Kynntar verða megindlegu aðferðirnar árangursmælingar, flæðisgreining, biðraðafræði og hermun.

Seinni hluti námskeiðsins fjallar um kerfi og greiningu kerfa. Fjallað verður um hvernig hægt er að lýsa heiminum sem kerfi. Farið verður í aðferðir til að lýsa kerfum eins og orsakarit og birgðir-og-flæði (e. stock and flow).  Í lok námskeiðs verða bæði ferli og kerfi hermd.

X

Hagverkfræði (IÐN502G)

Markmið námskeiðsins er að gera nemendur færa um:

1. Að skilja helstu hugtök bókhalds, kostnaðarreiknings og fjárfestingarfræði.

2. Að nota aðferðir til að meta hagkvæmni verktæknilegra kosta.

3. Að gera reiknilíkan til að meta arðsemi fjárfestinga, virði fyrirtækja og verðleggja hlutabréf og skuldabréf.

Meðal námsefnis er  bókhald, kostnaðarreikningar, greining á fjárstreymi, fjárfestingarfræði, mælikvarðar á arðsemi, þar á meðal núvirði og innri vextir, og gerð  arðsemilíkana. Námskeiðinu lýkur með hópverkefnum þar sem nemendur æfa arðsemimat verkefna.

X

Verkefnastjórnun (IÐN503G)

Í námskeiðinu eru kennd grunnatriði í verkefnastjórnun. Farið verður yfir grunnhugtök, umhverfi og val verkefna, áætlunargerð, eftifylgni, stjórnun verkefnateyma og lok verkefna. Nemendur fá þjálfun í gerð verkefnaáætlana og að takast á við áskoranir við framkvæmd og lok verkefna. Sérstök áhersla er á notkun verkefnastjórnunar við tækninýsköpun í skipuheildum.

X

Vörustjórnun og umhverfismál (IÐN510M)

Tilgangur námskeiðsins er að fara í gegnum grundvallaratriði lokistik (vörustjórnunar), stjórnun aðfangakeðja og áhrif þeirra á umhverfið. Námskeiðið er í raun þríþætt þar sem byrjað er á að fara í gegnum þá þætti sem snúa að innkaupum á vörum og þjónustu ásamt stjórnun birgða. Því næst er tekið á þeim þáttum sem snúa að flutningum og dreifingu. Að lokum er áhrifum aðfangakeðja á umhverfi gert greinagóð skil og öllum þremur þáttunum steypt saman í eina heild sem styður sjálfbærni.

Námskeiðið er kennt með því fyrirkomulagi að haldnir eru fyrirlestrar til að útskýra fræðilega undirstöðu greinarinnar en til að fá aukinn skilning á einstökum þáttum verða reiknuð dæmi sem skila þarf inn til yfirferðar. Samhliða fyrirlestrum og dæmatímum verður unnið með fyrirtækjaspil í hópum auk þess að spila „The Beer game“ - þar sem þáttakendur leika hlutverk fyrirtækja sem og taka þátt í raunhæfum hlutverkum stjórnenda.

X

Greining á frammistöðu tölvukerfa (REI503M)

Kennt að jafnaði annað hvert ár.

Námskeiðið fjallar um gerð líkana af tölvu- og samskiptakerfum auk mælinga á frammistöðu. Stór dreifð tölvukerfi afgreiða þjónustubeiðnir (t.d. vefsíðufyrirspurnir) samhliða til að lágmarka svartíma og hámarka ánægju notenda. Aðrir mælikvarðar á frammistöðu eru afköst (afgreiddar beiðnir á tímaeiningu) og uppfylling samkomulags um þjónustustig. Meðal námsefnis eru stærðfræðilegar aðferðir til að meta og skilja slík kerfi, bæði veikleika þeirra og styrkleika, til dæmis varðandi hönnun, verkröðunaraðferðir og rekstrarstefnur. Umfjöllunin byggir á aðferðum aðgerðagreiningar, sér í lagi biðraðafræði og Markov-ferlum (fyrirfram þekking á þessum aðferðum er ekki krafa).

Eindregið er mælt með mætingu í tíma.

X

Skýjaforritun og stórgögn (REI504M)

Yfirlit yfir forritun ofurtölva og stórgögn, umhverfi ofurtölva, tölvunet og gagnalausnir og samhliða forritun. Innviðir fyrir geymslu gagna og þjónustur fyrir stórgögn, greining fyrir stórgögn, ”map-reduce” aðferðarfræðin, formuð og hálfformuð gögn. Hagnýt verkefni: (A) Nemendur nota Amazon Web Services (AWS) skýið eða sambærilega lausn til að setja upp fjöltölvuvefþjónustu og samsvarandi kerfi fyrir prófun á henni. (B) Nemendur leysa verkefni á stórgögnum með ”map-reduce” aðferðafræði á AWS skýinu.

X

Algebra (STÆ303G)

Grúpur, dæmi og helstu undirstöðuatriði. Samhverfugrúpur. Mótanir og normlegar hlutgrúpur. Baugar, dæmi og helstu undirstöðuatriði. Heilbaugar. Baugamótanir og íðul. Margliðubaugar og þáttun margliða. Valin viðfangsefni.

X

Kennileg línuleg tölfræðilíkön (STÆ310M)

Einföld og fjölvíð aðhvarfsgreining, fervikagreining og samvikagreining, ályktanir, dreifni og samdreifni metla, mátpróf með frávika- og áhrifagreiningu, samtíma ályktanir. Almenn líkuleg líkön sem ofanvörp, fervikagreining sem sértilvik, samtíma öryggismörk á samanburðarföll. R notað í verkefnum. Lausnum verkefna er skilað i LaTeX og PDF.

Til viðbótar  er tekið efni eftir vali, t.d. útvíkkuð línuleg líkön (GLM), ólínuleg aðhvarfsgreining og/eða slembiþáttalíkön (random/mixed effects models) og/eða skóreimaaðferðir (bootstrap) o.s.frv.

Nemendur kynna lausnir verkefna, sem áður hefur verið skilað inn í gegnum vefsíðu.

Námskeiðið er kennt þegar ártalið er slétt tala.

X

Hagnýtt línuleg tölfræðilíkön (STÆ312M)

Í námskeiðinu er fjallað um einfalda og fjölvíða aðhvarfsgreiningu ásamt fervikagreiningu (ANOVA) og samvikagreiningu (ANCOVA). Að auki er farið í tvíkosta aðhvarfsgreiningu (binomial regression) og rætt um hugtök því tengt, svo sem gagnlíkindi (odds) og gagnlíkindahlutfall (odds ratio).
Námskeiðið er framhald af dæmigerðu grunnnámskeiði í tölfræði sem kennd eru á hinum ýmsu sviðum skólans. Farið verður í aðferðir til að meta stika í línulegum líkönum, hvernig smíða má öryggisbil og kanna tilgátur fyrir stikana, hverjar forsendur líkananna eru og hvað hægt sé að gera sé þeim ekki fullnægt. Verkefni eru unnin í tölfræðihugbúnaðinum R.

X

Töluleg línuleg algebra (STÆ511M)

Ítrekunaraðferðir fyrir jöfnuhneppi.  Ýmsar þáttanir fylkja eins og QR, Cholesky, Jordan, Schur, rófþáttun og sérstöðupunktaþáttun (SVD) og hagnýtingar þeirra.  Strjál Fourierummyndun (DFT) og hröð algrím til framkvæmdar hennar (FFT).  Strjál Kósínusummyndun (DCT) í tvívídd og hagnýtingar í þjöppun hljóðs (MP3, AAC) og mynda (JPEG).  Rýr fylki og framsetning á þeim.

Sérstök áhersla verður lögð á hagnýtingu þeirra efnisatriða sem farið er í og tölulegar aðferðir.

X

Netafræði (STÆ520M)

Net, netamótanir og netaeinsmótanir. Hlutnet, spannandi hlutnet. Vegir, tengd net. Örvanet. Tvíhlutanet. Euler-net og Hamilton-net; setningar Chvátals, Pósa, Ores og Diracs. Keppnisnet. Tré, spannandi tré, trjáfylkjasetningin, Cayley-setningin. Vegin net, reiknirit Kruskals og Dijkstra. Flæðinet, setning um hámarksflæði og lágmarkssnið, Ford-Fulkerson-reikniritið, Menger-setningin. Spyrðingar, Berge-setningin, giftingarsetning Halls, König-Egerváry-setningin, Kuhn-Munkres-reikniritið. Óaðskiljanleg net, tvítengd net. Lagnet, Euler-formúla, Kuratowski-setningin, nykurnet. Greypingar neta í fleti, Ringel-Youngs-Mayer-setningin. Litanir, litunarsetning Heawoods, Brooks-setningin, litamargliða; leggjalitanir, Vizing-setningin.

X

Rafmyntir (STÆ532M)

Í byrjun námskeiðsins eru grunnhugtök rafmynta kynnt til sögunnar, svo sem veski, veskisföng og færslur.  Nemendur kynnast dulkóðun, færslum, blokkum
og keðjum. Rafmyntin Broskallar verður notuð sem sýnidæmi í öllu námskeiðinu.
Nemendur þýða sín eigin veski og fara nægilega djúpt í algrímin á bak við myntirnar til að geta sett saman sínar eigin færslur af Linux skipanalínu og lesið dæmigerðan veskiskóða sem skrifaður er í C++.
Nemendur læra hvernig kalla má á veski úr öðrum hugbúnaði, m.a. til að greina flæði myntarinnar.
Nemendur læra hvernig má útfæra ýmsar viðbætur við hefðbunda notkun rafmynta, s.s. dulkóðun skilaboða, keyrslu hugbúnaðar sem svar við greiðslu o.s.frv. Nemendur setja upp eigin dæmi um viðbætur og læra m.a. hvernig má geta frumskipti (e. atomic swap) á mismunandi myntum.

Skilaverkefni verða einstaklingsbundin og valin úr nokkrum verkefnagerðum í formi (1) lausna sem byggja á notkun veskis á skipanalínu, (2) greinargerða sem mynda ítarefni í tutor-web kerfið (3) smáforrita sem bregðast við færslum sem koma inn á tiltekið veskisfang eða í tiltekið veski (4) forrita sem tala við kauphallir og/eða (5) ný notendaandlit sem bæta virkni framenda tiltekins veskis.

Allt efni námskeiðsins og skilaverkefni eru á ensku. Skilaverkefni enda sem hluti af opna vefkerfinu tutor-web.
Nemendur læra hvernig kalla má á veski úr öðrum hugbúnaði, m.a. til að greina flæði myntarinnar.
Nemendur læra hvernig má útfæra ýmsar viðbætur við hefðbunda notkun rafmynta, s.s. dulkóðun skilaboða, keyrslu hugbúnaðar sem svar við greiðslu o.s.frv. Nemendur setja upp eigin dæmi um viðbætur og læra m.a. hvernig má geta frumskipti (e. atomic swap) á mismunandi myntum og nota þá Broskalla sem tilkyninngakerfi.

Stefnt er að því að námskeiðið verði kennt sem lesnámskeið eða sjálfsnám, en nánari framkvæmd fer eftir þátttöku.

X

Forritun snjalltækja (TÖL103M)

Námskeiðið býður upp á verklegan inngang að hönnun og forritun hugbúnaðar í örtölvum í samhengi IoT snjalltækja.

Svona tækieiga oft marga inn- og úttakspinnar, eitthvað af skyndiminni og geymsluminni, og þráðlausan samskiptabúnað (WiFi, Bluetooth, o.s.frv.).

Þessir eiginleikar gera tækin tilvalin fyrir ýmiss verkefni sem tengjast gagnasöfnun, úrvinnslu gagna og þráðlausum samskiptum.

Í þessum áfanga verða lögð fyrir verkefni aðra hverja viku sem tengjast meðal annars samskiptum yfir raðbundin (serial) tengi, gagnasöfnun og úrvinnsla, hönnun forrita fyrir rauntíma-stýrikerfi (RTOS), þráðlaus samskipti og TCP/IP samskipti sem miðlari/biðlari.

Áfanganum lýkur síðan með lokaverkefni sem er byggt á þessum þáttum.

X

Tölvugrafík (TÖL105M)

Megináhersla námskeiðsins er á grunnhugtök og stærðfræði fyrir þrívíddar tölvugrafík. Tvívíðar og þvívíðar varpanir. Sjónvörpun. Ljós og litun hluta. Mynsturvörpun, blöndun, holuvörpun. Forritanleg litun. Ferlar og yfirborð. Forritunarverkefni í WebGL.

X

Vefforritun 1 (TÖL107G)

Kenndur er grunnur í vefsmíði með áherslu á framenda: HTML, CSS og JavaScript. Staðlar, venjur og það sem þarf til að útbúa góða vefi. Hönnun, útlit og að vinna með hönnunarskjöl. Forritun í túlkaða forritunarmálinu JavaScript, tenging þess við vafra og tól tengdum því. HTTP staðallinn kynntur. Verkefni felast í smíði vefja þar sem nýta skal það sem kennt er.

X

Tölvur, stýrikerfi og tölvufærni (TÖL108G)

Í þessu námskeiði er snert á mörgum hlutum sem tengjast tölvufærni. Markmið námskeiðsins er að kynna nemandann fyrir mörgum hugtökum án þess þó að kafa djúpt í hvert hugtak.

Kynning á stýrikerfinu Unix. Skipulag skráakerfis, helstu hjálparforrit, gluggakerfi, skipanalínuvinnsla og skeljarforritun. Einnig er farið yfir ritla í skelinni og höndlun gagna í henni. Farið er yfir útgáfustjórnunarkerfi eins og Git, notkun aflúsunaraðferða og aðferða til að byggja hugbúnað. Farið er yfir algeng hugtök í dulmálsfræðum og kynnt eru hugtök á borð við sýndarvélar og gáma.

X

Tölvunet og öryggi (TÖL305G)

Kennt að jafnaði annað hvert ár.

Námskeiðið er hagnýtt námskeið sem kennir nemendum undirstöðuatriði tölvuneta. Lögð er áhersla á staðarnet, 802.3 og 802.11, og jafnframt á TCP/IP. Farið er í greiningu á þörfum fyrir tölvunet og hönnun þeirra. Fjallað verður um hug- og vélbúnað sem notaður er til útfærslu tölvuneta. Uppsetning og viðhald tölvuneta. Öryggiskerfi fyrir tölvunet. Nemendur læra að greina hættur og bregðast við þeim.

X

Tölvutækni og forritun (TÖL309G)

Námskeiðið fjallar um innri gerð tölva og hvernig best er að haga forritun til að nýta sem best eiginleika nútíma tölva.  Farið verður í forritunarmálið C og sér í lagi fjallað um benda og minnisnotkun.  Táknun heiltalna og kommutalna í tölvum.  Forritun í x86-64 smalamáli.  Sérstaklega verður skoðað hvernig aðgerðir í C eru útfærðar í smalamáli.  Minnisstigveldi og áhrif þess á afköst forrita.  Ferli og stýring þeirra.  Útfærsla og notkun frábrigða í tölvum.  Sýndarminni tölva. Samskeiða forritun.

X

Frá hugmynd að veruleika (TÖL501G)

Námskeiðið hefur verið í þróun í rúman áratug undir nafninu „Tölvukerfi og markaðsmál“. 

Námskeiðið byggist á fyrirlestrum kennara og einstaklings- og hópverkefnum sem hjálpa nemendum að hugsa út fyrir kassann. Kennari mun segja frá reynslu sinni af því að gera hugmynd að veruleika og mun hann ekki síður tala um þau mistök sem hafa verið gerð en það sem hefur heppnast.

Lokaverkefni námskeiðsins er viðskiptaáætlun sem varin er munnlega fyrir prófdómara. Viðskiptaáætlunin fjallar um hugmynd nemenda og hvernig hann vill hrinda henni í framkvæmd.

X

Samskipti manns og tölvu (TÖL502M)

Kennt að jafnaði annað hvert ár.

Markmið námskeiðsins er að leyfa nemendum að kafa dýpra í einstaka afmarkaða þætti í samskiptum manns og tölvu heldur en gert er námskeiðinu Viðmótsforritun HBV201G sem er inngangsnámskeið í faginu.   Þættirnir eru hönnun notendaviðmóta með frumgerðum, forritun snjalltækja og viðtaka notenda á hugbúnaðinum.  Lögð verður áhersla á mismunandi tækni og tól til að gera frumgerðir. Áhersla er á hönnun notendaviðmóta og útfærsla þeirra í snjallsíma eða spjaldtölva (native).  Þróunarferli miðast allt við að tryggja aðgengileika búnaðarins og viðtöku notenda. Nemendur vinna að litlum einstaklingsverkefnum en einnig að stærri verkefnum í hópum. 

X

Dreifð kerfi (TÖL503M)

Kennt að jafnaði annað hvert ár.

This course covers concepts of distributed systems and their application. Besides foundations on characteristics and models of distributed systems, networking and security, this includes network-based low-level interprocess communication, high-level remote procedure calls, the distributed object model and remote method invocation, services relevant in distributed systems (such as name services or distributed file systems), selected topics of distributed algorithms and their implementation (such as coordination, agreement,  time, replication). Furthermore, special types of distributed systems may be covered (such as peer-to-peer systems, Cloud and Grid computing).  Current technologies (such as Java RMI, Web Services, gRPC) are used as case study and as platform for developing distributed applications using high-level programming languages (such as Java).

Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be advanced in their BSc. studies. (E.g. we will implement middleware in Java, so you should have programming experience well beyond "TÖL101G Computer Science 1". As a middleware adds functionality on top of an Operating System, you should have also passed TÖL401G Operating Systems.)

X

Inngangur að djúpum tauganetum (TÖL506M)

Í þessu námskeiði förum við yfir djúp tauganet og helstu aðferðir tengdar þeim. Kynnt verða net og aðferðir fyrir mynd, hljóð og textagreiningu. Lögð verður áhersla á hagnýtingu lausna og munu nemendur t.a.m. kynna verkefni eða grein á þessu sviði.

X

Gervigreind fyrir jarðarkönnun keyrt á ofurtölvum (REI506M)

Í þessu námskeiði er farið yfir grundvallaratriði fjarkönnunar með gervitunglum, aðferðir á sviði tölvusjónar sem byggja á djúpum tauganetum og hagnýtingu slíkra aðferða með ofurtölvum.

Námskeiðinu er skipt í fjóra hluta sem endurspegla þau fræðilegu hugtök sem farið er yfir í námskeiðinu og í hverjum hluta vinna nemendur verkefni sem tengist viðfangsefninu hverju sinni. Verkefnin tengjast öll fjarkönnun og myndaflokkun og nemendur vinna að verkefninu í gegnum misserið.

X

Inngangur að gagnaöryggi (TÖL029M)

This course provides the foundation for understanding the key issues associated with protecting information assets, determining the levels of protection and response to security incidents, and designing a consistent, reasonable information security system, with appropriate intrusion detection and reporting features.  The purpose of the course is to provide the student with an overview of the field of information security and assurance. Students will be exposed to the spectrum of security activities, methods, methodologies, and procedures.  Coverage will include inspection and protection of information assets, detection of and reaction to threats to information assets, and examination of pre- and post-incident procedures, technical and managerial responses and an overview of the information security planning and staffing functions.  Topics include risk assessment, authentication, securing web, application security, privacy and data protection, introduction to cryptography, security architecture, firewalls and other devices and network topologies.

X

Þættir úr sögu og heimspeki vísindanna (SAG448G)

Markmið námskeiðsins er að kynna nemendum þróun og eðli vísinda með því að rekja dæmi úr vísindasögunni og nýleg viðhorf sem varða eðli, markmið og þróun vísinda. Sérstök áhersla verður lögð á sögu eðlisvísinda frá Aristótelesi fram á daga Newtons, þar á meðal hræringar í stjörnufræði í Vísindabyltingunni. Auk þessa verður saga þróunarkenningar Darwins skoðuð sérstaklega. Þá verður lögð sérstök áhersla á að skoða sögu vísinda út frá ólíkum hugmyndum um vísindalegar framfarir og út frá nýlegum hugmyndum um tengsl vísinda og samfélags. Námsefnið getur breyst með hliðsjón af áhugasviði nemenda.

X

Eðlisfræði 2 V (EÐL201G)

Kennt í 12 vikur. Markmið: Að kynna nemendum aðferðir og grundvallarlögmál rafsegulfræði og ljósfræði. Námsefni: Hleðsla og rafsvið. Lögmál Gauss. Rafmætti. Þéttar og rafsvarar. Rafstraumur, viðnám, rafrásir. Segulsvið. Lögmál Ampères og Faradays. Span. Rafsveiflur og riðstraumur. Jöfnur Maxwells. Rafsegulbylgjur. Endurkast og ljósbrot. Linsur og speglar. Bylgjuljósfræði. Verklegt: Gerðar eru fjórar tilraunir í ljósfræði og almennri rafsegulfræði. Nemendur skila vinnubókum fyrir allar tilraunir og formlegri skýrslu um eina tíma tilraun.

X

Hugbúnaðarhönnun og forritun (HBV202G)

Námskeiðið fjallar um undirstöður hugbúnaðarhönnunar og forritunaraðferðir og þróunarumhverfi fyrir lengra komna. Fjallað er um hugbúnaðarhönnun með því að fara í hlutbundna líkanagerð í Unifed Modeling Language (UML), hlutbundin hönnunarreglur (t.d. skil, pakka og Liskov Substitution Principle), og einfaldari hönnunarmynstur.

Farið verður í forritun með því að nota aðferðir fyrir lengra komna í samþættu þróunarumhverfi hugbúnaðar (IDE) (t.d. sjálfvirka fullgerð kóða, notkun aflúsara og endurbætingu kóða með því að endurskrifa hann), skrifa sjálfvirka byggingu kóða sem tekur tillit til hvernig hlutar hugbúnaðar eru háðir öðrum (innri venslastjórnun) (t.d. Maven og Gradle tólin og Java módúla), þýðendur (t.d. aðvaranir frá þýðendum) og keyrsluumhverfi (t.d. classpath) og grundvallaratriði einingaprófana.

X

Prófun hugbúnaðar (HBV205M)

Kennt að jafnaði annað hvert ár (í vor þegar ártalið er oddatölu en mun breyta frá og með 2024)

Usually taught every second year (typically in spring of odd years, but this is subject to change in 2024).

This course covers testing of software. Besides basic foundations, this includes both dynamic testing where the software under test is executed and static approaches where software and other artefacts produced during software development are investigated without executing them. The focus of this course is, however, on dynamic testing. The different levels of testing (component test, integration test, system and acceptance test) and types of testing (functional, non-functional, structural and change-related) are covered as well as different test design techniques (black box test and white box test). Furthermore, test management and principles of test tools are discussed. In addition, selected advanced topics may be covered (for example, test languages, testing of object-oriented software, test process improvement, agile testing). The covered topics are a superset of the International Software Testing Qualifications Board's (ISTQB) certified tester foundation level syllabus.

The first part of the course is based on flipped-classroom style weekly reading, videos and assignments. In the second part, students work independently on some project related to software testing.

Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be very advanced in their BSc. studies, i.e. have experience in programming languages, software development and applying it in some software project, but should also be familiar with theoretical concepts from automata theory.

Also, BSc. students should not take this course, if they know that they are going to continue with MSc. studies, because they might then experience a lack of suitable courses in their MSc. studies.

X

Vefforritun 2 (HBV403G)

Framhald af vefforritun I þar sem farið er í umhverfi bakendaforritunar í node.js, smíði og tengingar við vefþjónustur og tengingar við gagnagrunna. Framenda forritasöfn/framework notuð til að setja upp framenda (React, Ember, Vue). Öryggismál sem huga þarf að þegar vefverkefni eru unnin. Verkefni felast í smíði vefja þar sem nýta skal það sem kennt er.

X

Hagnýt hugbúnaðarverkfræði (HBV404G)

Námskeiðið fjallar um lagaleg og hagfræðileg viðfangsefni hugbúnaðarverkfræði og hugbúnaðarverkefnastjórnunar.

Í fyrirlestrum, gestafyrirlestrum, málstofum og vinnu við hagnýt verkefni, mun námskeiðið skoða viðskiptalíkön fyrir þróun og/eða rekstur hugbúnaðar, kynna leiðir til áætlunar á stærð, tíma og mannaflaþarfa hugbúnaðar, áhættustjórnunar og verðmats, útskýra líkön fyrir hugbúnaðarleyfi og ræða mismunandi hliðar siðfræði, persónuverndar og öryggi í hugbúnaði.

Nýtt skyldunámskeið - fyrst kennt 2023-2024.

X

Hugbúnaðarverkefni 2 (HBV601G)

Seinna námskeiðið af tveimur (HBV501G og HBV601G) þar sem nemendur vinna að umfangsmiklu hugbúnaðarverkefni í hópvinnu. Fínönnun, útfærsla, prófanir, uppsetning og afhending verkefnisins, sem var þarfagreint og hannað í námskeiðinu Hugbúnaðarverkefni 1. Útfærsla á skrefum. Forritunarstaðlar, skjölun, rekjanleiki og sönnun forrita. Gallalaus forritun. Mat á umfangi hugbúnaðarkerfa. Prófunaraðferðir. Prófanir og gæðamat á hugbúnaðarverkefnum. Rýni á hönnun og útfærslu. Uppsetning og viðtaka kerfa. Líftími hugbúnaðarkerfa. Mælingar í hugbúnaðargerð. Alþjóðlegir staðlar um þróun hugbúnaðar.

X

Starfsnám í tölvunarfræði og hugbúnaðarverkfræði - grunnnám (HBV603G)

Markmiðið er að tryggja starfsþjálfun undir faglegri handleiðslu reyndra stjórnenda hjá fyrirtækjum eða opinberum stofnunum sem tengjast tölvunarfræði eða hugbúnaðarverkfræði.
Hlutverk nemanda
• Vinna við eitt veigamikið verkefni
• Nemandi er í 6 mánaða starfsnámi.
Nemandi má ekki taka Lokaverkefni (TÖL261L eða HBV261L)

Verkefni nemanda
Hér getur verið um að ræða þarfagreiningu, forritshönnun,  forritun, prófanir hugbúnaðar, uppsetningu og rekstur tölvukerfa.  Verkefnið skal vera á sviði tölvunarfræði eða hugbúnaðarverkfræði og reyna á þá þekkingu og færni sem nemandi hefur aflað sér í náminu. Lokaafurð starfsþjálfunar skal skilgreina í verkefnalýsingu, þ.e. hvað lokaskýrsla skuli innihalda. Umsjónarkennari starfsnáms þarf að samþykkja tillögu að verkefni.
Hlutverk fyrirtækis/stofnunar
• Fyrirtæki lætur nemanda í té vinnuaðstöðu og tilnefnir umsjónarmann innan fyrirtækis sem fylgist með vinnu hans.
• Nemandi er launþegi fyrirtækis og greiðir fyrirtæki nemanda laun samkvæmt nánari samningi þar um.
• Starfsþjálfun er þrír til sex mánuðir í fullu starfi.
• Í upphafi starfsþjálfunar liggur fyrir hvaða verkefni nemandi á að sinna. Verkefnislýsing skal fylgja með samningi.
• Umsjónarmaður og nemandi hittast reglulega og meta framvindu verkefna.
Fullnusta starfsþjálfunar
• Í lok starfstímans skal skila til umsjónarkennara:
1. Lokaskýrslu nemanda (skv. skilgreiningu í verkefnislýsingu). Ef um er að ræða 24 ECTS námskeið  skal nemandi skila áfangaskýrslu um miðbik starfsnámsins.
2. Dagbók sem nemandi hefur haldið meðan á starfsþjálfun stóð. Dagbókin skal fela í sér vikulegt yfirlit þar sem fram kemur hver verkefni vikunnar voru og hve miklum tíma var varið í einstök verkefni.
3. Staðfesting umsjónarmanns á ástundum nemanda og verkefnavinnu í lok starfsþjálfunar.
• Námskeiðinu telst ekki lokið fyrr en bæði umsjónarkennari starfsnáms og umsjónarmaður starfþjálfunar telja að viðunandi árangur hafi náðst og áfanga- og lokaskýrslum verið skilað.

Bent er á að þátttaka í þessu námskeiði útilokar þátttöku í námskeiðunum HBV004G og HBV502G starfsnámi og lokaverkefni HBV261L.

X

Hugbúnaðararkitektúr (HBV604G)

Hugbúnaðararkitektúr snýst um að skilgreina skipulagningu hugbúnaðarkerfis (sem er byggt á íhlutunum sem það er byggt úr og hegðun og samskipti og samvinna á milli íhlutanna), þannig að hann uppfylli mögulegar lykil virknis- og gæðakröfur.

Námskeiðið fjallar um aðferðir til að greina drifkraft arkitektúrs, greina áhrif þeirra og að taka ákvarðanir um arkitektúr til að taka hann til greina. Í fyrirlestrum og hagnýtum verkefnum munu nemendur æfa sig í að greina drifkraft arkitektúrs út frá  kröfum, meta hann með tilliti til árekstra, forgangs og málamiðlunar og leysa úr þeim með viðeigandi arkitektúra mynstrum.

Nýtt skyldunámskeið. Væntanlega í boði vorið 2025.

X

Aðgerðir í skipuheildum (IÐN201G)

Markmiðið með námskeiðinu er að undirbúa nemendur í að nálgast skipuheildir sem röð af aðgerðum.  Farið verður í hvernig lýsa megi skipuheildum sem safni af aðgerðum sem framkvæma virðisaukandi verk.  Fyrirtæki verða heimsókn og þeim lýst af nemendum.  Farið verður í aðferðir til að lýsa aðgerðum, greina aðgerðir og setja fram aðgerðayfirlit. Nemendur kynnast greiningaraðferðum sem notaðar eru við lýsingu og greiningu aðgerða, túlka niðurstöður þeirra og miðla munnlega og skriflega.

X

Hermun (IÐN403M)

Farið er yfir stakræna atburða hermun, tölfræðilega líkanagerð, hönnun hermilíkana, gerð tilrauna, prófanir líkana og túlkun niðurstaðna hermana. Fjallað er um sennileikamat á líkindadreifingum út frá mælingum. Námskeiðið kynnir auk þess fræðin á bak við gerð slembuframkallara og prófun þeirra. Farið er í grunnforritun á hermilíkönum og sérhæfðir hermihugbúnaðir kynntir. Nemendur vinna raunhæft hermiverkefni þar sem áhersla er lögð á hönnun og greiningu á framleiðslukerfi eða þjónustukerfi.

X

Hönnun og framkvæmd tilrauna (IÐN405G)

Tilgangur námskeiðs er að þjálfa verkfræðilega nálgun á tilraunir og tilraunahugsun. Farið er í hönnun tilrauna, framkvæmd þeirra, söfnun gagna og úrvinnsla þeirra með tölfræðilegum aðferðum. Að lokum er farið í hvernig draga megi ályktanir út frá gögnum / upplýsingum við notkun tilrauna við til dæmis vöruhönnun og hönnun og rekstur framleiðslukerfa.

Námsefni: Línuleg og ólínuleg aðhvarfsgreining. Fervika- og þáttagreining. Hönnun tilrauna. Tölfræðilegt gæðaeftirlit. Stikalaus próf sem beita má við úrvinnslu á gögnum. Notkun tölfræðiforrita við lausn á verkefnum.

X

Inngangur að kerfislíffræði (LVF601M)

Kerfislíffræði er þverfaglegt svið sem rannsakar líffræðileg fyrirbæri byggt á samverkandi líffræðilegum þáttum. Í kerfislíffræði er sérstök áhersla lögð á það hvernig líffræðileg kerfi breytast yfir tíma. Í þessu námskeiði munum við fjalla sérstaklega um þá þætti kerfislíffræðinnar sem snúa að heilsu og sjúkdómum manna.

Þetta námskeið mun kynna 1) notkun líkana fyrir líffræðileg ferli (bæði genastjórnunarlíkön og efnaskiptalíkön); 2) frumulíffræðileg fyrirbæri sem stuðla að samvægi (e. homeostasis), t.d. þroskun vefja og seiglu örvera og 3) greiningu á sameindamynstri sem finnast í stórum erfðagreiningargögnum, sem tengjast sjúkdómum í mönnum og geta nýst í flokkun sjúklinga og uppgötvun lífmerkja. Þannig mun námskeiðið fjalla um notkun kerfislíffræðilegra aðferða á þremur helstu stigum líffræðinnar, þ.e. á sameindum, frumum og lífverum.

Námskeiðið felur í sér lestur og túlkun vísindagreina, útfærslu reiknirita, vinnslu á rannsóknarverkefni og kynningu á vísindalegum niðurstöðum.

Fyrirlestrar munu samanstanda af bæði (1) kynningu á grunnhugtökum kerfislíffræðinnar og (2) tölvukennslu þar sem Python forritunarmálið er notað. Námskeiðið verður kennt á ensku.

X

Inngangur að gagnavísindum (REI202G)

Í námskeiðinu er fjallað um grunnaðferðir í gagnavísindum auk þess sem kennt er á forritasöfn á borð við numpy, pandas, matplotlib og scikit-learn.

Námskeiðið er í 6 hlutum:

  1. Kynning á Python forritunarmálinu.
  2. Umbreyting hrágagna á form sem auðvelt er að vinna með.
  3. Forkönnun á gögnum og myndræn framsetning á þeim.
  4. Bestun.
  5. Klösun og víddarfækkun.
  6. Aðhvarfsgreining og flokkun.

Hverjum hluta lýkur með verkefni.

Athugið að námslega skörun er við REI201G Stærðfræði og reiknifræði og geta bæði námskeiðin ekki gilt til sömu gráðunnar.

X

Forritun ofurtölva (REI204M)

Hönnun samhliða tölva og ýmis líkön af forritun þeirra. Högun tölva út frá samnota minni og út frá dreifðu minni með skeytaflutningi. Samhliða forritun tölvuklasa með MPI og samhliða forritun fjölkjarna tölva með OpenMP. Samhliða reiknirit við röðun, leit og ýmis verkefni í línulegri algebru og netafræði.

For a longer description refer to the English page.

Course topics will be very similar like HPC in Fall 2019:

http://www.morrisriedel.de/hpc-course-fall-2019

X

Lífsferill gervigreindarlausna (REI603M)

Í þessu námskeiði kynnumst við lífsferli gervigreindarlausna og hvernig þróa á rekstrarhæfar lausnir.

Við förum yfir eftirfarandi skref lífsferilsins:
- Gagnasöfnun og undirbúningur gagna
- Breytuval
- Þjálfun líkana
- Mat á gæðum líkana
- Líkön sett í rekstur
- Líkön sem þjónustur
- Hvernig vakta á líkön
- Hvernig viðhalda á líkönum
Yfir misserið verða þrjú stór verkefni þar sem nemendur keppa um að smíða gervigreindarlausnir.

X

Stærðfræðigreining IV (STÆ401G)

Markmið: Að kynna fyrir nemendum Fourier-greiningu og hlutafleiðujöfnur og hagnýtingu á þeim.

Lýsing: Fourier-raðir og þverstöðluð fallakerfi, jaðargildisverkefni fyrir venjulega afleiðuvirkja, eigingildisverkefni fyrir Sturm-Liouville-virkja, Fourier-ummyndun, bylgjujafnan, varmaleiðnijafnan og Laplace-jafnan leystar á ýmsum svæðum í einni, tveimur og þremur víddum með aðferðum úr fyrri hluta námskeiðsins, aðskilnaður breytistærða, grunnlausn, Green-föll, speglunaraðferðin.

X

Þýðendur (TÖL202M)

Hönnun forritunarmála. Skipulag og hönnun þýðenda. Lesgreinar, ofansæknir og neðansæknir þáttarar, þulusmiðir. Stórt einstaklingsverkefni.

X

Tölvur, stýrikerfi og tölvufærni (TÖL205G)

Í þessu námskeiði er snert á mörgum hlutum sem tengjast tölvufærni. Markmið námskeiðsins er að kynna nemandann fyrir mörgum hugtökum án þess þó að kafa djúpt í hvert hugtak.

Kynning á stýrikerfinu Unix. Skipulag skráakerfis, helstu hjálparforrit, gluggakerfi, skipanalínuvinnsla og skeljarforritun. Einnig er farið yfir ritla í skelinni og höndlun gagna í henni. Farið er yfir útgáfustjórnunarkerfi eins og Git, notkun aflúsunaraðferða og aðferða til að byggja hugbúnað. Farið er yfir algeng hugtök í dulmálsfræðum og kynnt eru hugtök á borð við sýndarvélar og gáma.

X

Stýrikerfi (TÖL401G)

Innihald námskeiðsins nær yfir hugtök um stýrikerfi tölva. 

Auk grunn undirstöðu í vélbúnaðarbyggingum tölva og almennri uppbyggingu stýrikerfa verður farið yfir helstu hugtök um ferla (processes) og þræði (threads) ásamt stjórnun þeirra, meginreglur um tímasetningar og tímasetninga fyrir reiknirit, samskipti og samstillingu milli ferla og vandamál sem tengjast sjálfheldu, meginreglur í minnisstjórnun þar á meðal sýndarminni og reiknirit fyrir síðuskipti, skjalakerfi og útfærslu þeirra, sem og stjórnun á geymslu gagna.

Ef tíminn leyfir þá verður fjallað um meginreglur er varða vernd og öryggi og þætti er snúa að dreifingu (t.d. hugtök dreifðra kerfa og dreifðra skjalkerfa). Í þessu námskeiði eru almenn hugtök kynnt sem notuð eru við innleiðingu stýrikerfa og sem forritunarhönnuður þarf að þekkja við hönnun á notendahugbúnaði. 

Í námskeiðinu er ekki fjallað um smáatriði er varða útfærslu stýrikerfa. Þar sem við á eru stýrikerfi eins og Microsoft Windows og POSIX-samhæft UNIX-líkt kerfi (t.d. Linux) notuð sem tilviksrannsókn við útfærslu og stýrikerfisköll. Notkun á stýrikerfis þjónustu innan forritunarmála (t.d. C, C++ og Java) er sýnd á grundvelli forritunar viðmóta (API), sem ríkjandi kerfis bókasöfn (system libraries) bjóða upp á.

X

Frá hugmynd að veruleika II (TÖL602M)

Námskeiðið er framhaldsnámskeið af námskeiðinu „Frá hugmynd að veruleika“. Ætlast er til að nemendur haldi áfram að þróa hugmynd sína sem þeir voru með í námskeiðinu „Frá hugmynd að veruleika“. Ef nemendur eru ekki sáttir við fyrri hugmynd sína og telja sig vera komna með betri hugmynd þá er það í lagi og ef kennari er sáttur við nýju hugmyndina.

Nemendur þurfa að sækja um styrki í samkeppnissjóði. Æfa að kynna hugmynd sína fyrir hugsanlegum fjárfestum og samnemendum sínum.

Kennari mun fara yfir bókhaldsmál og áætlanagerð byggða á líkum.

Kennari mun fara yfir stofnun fyrirtækja og skattamál.

X

Reiknirit í lífupplýsingafræði (TÖL604M)

Efni námskeiðsins eru helstu reiknirit sem notuð eru í lífupplýsingafræði. Í upphafi er stutt yfirlit yfir erfðamengjafræði og reiknirit fyrir nemendur af öðrum sviðum. Námskeiðinu er skipt upp í nokkrar einingar og er hverri ætlað að fara yfir einstök verkefni í lífupplýsingafræði sem mótast af rannsóknarverkefnum. Hver eining samanstendur af verkefnislýsingu og aðferðum sem beitt er við úrlausn. Viðfangsefnin verða m.a. mynstraleit, strengjafjarlægð, samröðun gena og erfðamengja, þyrpingagreining, raðgreining og myndun erfðamengja og að lokum aðferðir við úrvinnslu úr háhraðaraðgreiningar gögnum.

X

Keppnisforritun (TÖL607G)

Í þessu námskeiði fá nemendur þjálfun í að leysa reikniverkefni af þeim toga sem oft koma fyrir í forritunarkeppnum. Færni til að leysa slík verkefni nýtist ekki eingöngu við keppnisforritun heldur kemur hún einnig að gagni við almenna forritun, í framhaldsnámskeiðum í tölvunarfræði og í atvinnuviðtölum.

Fjallað verður um helstu reiknirit og lausnaraðferðir sem koma við sögu í keppnisverkefnum. Ennfremur verður farið í netreiknirit, strengjavinnslu, reiknirúmfræði og talningafræði. Nemendur verja mestum hluta tíma síns í að forrita lausnir á keppnisverkefnum.

X

Inngangur að máltækni (TÖL025M)

If requested, the course may be taught in English.

Í námskeiðinu verður farið yfir helstu atriði í máltækni með áherslu á greiningu og vinnslu ritaðs máls. Farið verður yfir helstu kjarnaverkefni í máltækni og nytsemi þeirra. Helstu tól og málföng verða kynnt, auk þess sem farið verður sérstaklega yfir stöðu íslenskrar máltækni.

Áhersla verður lögð á aðferðir sem nýta greypingar, djúp tauganet og mállíkön við lausn hagnýtra verkefna auk þess sem farið verður yfir hvernig gervigreindaraðferðir hafa nær alfarið tekið yfir við vinnslu mannlegs máls. 

Í námskeiðinu verða 6 heimaverkefni sem gilda 60% af lokaeinkunn námskeiðsins auk stærra lokaverkefnis sem gildir 40%. Auk þess verða verkefni í fyrirlestrum sem geta minnkað vægi heimaverkefna um 5% ef lágmarksfjölda er skilað. 

X

Þættir úr sögu og heimspeki vísindanna (SAG448G)

Markmið námskeiðsins er að kynna nemendum þróun og eðli vísinda með því að rekja dæmi úr vísindasögunni og nýleg viðhorf sem varða eðli, markmið og þróun vísinda. Sérstök áhersla verður lögð á sögu eðlisvísinda frá Aristótelesi fram á daga Newtons, þar á meðal hræringar í stjörnufræði í Vísindabyltingunni. Auk þessa verður saga þróunarkenningar Darwins skoðuð sérstaklega. Þá verður lögð sérstök áhersla á að skoða sögu vísinda út frá ólíkum hugmyndum um vísindalegar framfarir og út frá nýlegum hugmyndum um tengsl vísinda og samfélags. Námsefnið getur breyst með hliðsjón af áhugasviði nemenda.

X

Reiknirit í raunheimum (TÖL608M)

Í námskeiðinu verður farið yfir hönnun og greiningu reiknirita, með sérstaka áherslu á reiknirit sem vinna á stórum gagnasettum og eru notuð í raunverulegum verkefnum.

Reikniritin koma úr ýmsum áttum, m.a. þjöppun gagna og texta, villuleiðréttingar með leiðréttingarkóðum, leit í stórum textasöfnum fyrir leitarvélar, samhliða vinnsla, GPU forritun, straumareiknirit, slembin reiknirit, nágrannaleit í margvíðum gögnum.

X

Þættir úr sögu og heimspeki vísindanna (SAG448G)

Markmið námskeiðsins er að kynna nemendum þróun og eðli vísinda með því að rekja dæmi úr vísindasögunni og nýleg viðhorf sem varða eðli, markmið og þróun vísinda. Sérstök áhersla verður lögð á sögu eðlisvísinda frá Aristótelesi fram á daga Newtons, þar á meðal hræringar í stjörnufræði í Vísindabyltingunni. Auk þessa verður saga þróunarkenningar Darwins skoðuð sérstaklega. Þá verður lögð sérstök áhersla á að skoða sögu vísinda út frá ólíkum hugmyndum um vísindalegar framfarir og út frá nýlegum hugmyndum um tengsl vísinda og samfélags. Námsefnið getur breyst með hliðsjón af áhugasviði nemenda.

Öll fög eru skyldufög nemaVValfagBBundið val er háð skilyrðum ENámskeiðið er ekki kennt á misserinuNámsleiðin í Kennsluskrá

Hvað segja nemendur?

Valourie Valgardsson
Auður Margrét Pálsdóttir
Valourie Valgardsson
Nemi í tölvunarfræði

Tölvunarfræði gefur mér kost á því að nýta bæði sköpunar og praktíska getu mína og einnig gefið mér ýmis tól til að setja ofan í verkfærakassann minn. Allt frá vefhönnun, til skipulags gagnagrunna, og síðan til vélræns náms. Kunnáttan sem fæst við þetta nám mun gagnast mér á mörgum sviðum í lífinu og bjóða upp á fjölbreytta starfsmöguleika. Á þessu ferðalagi hef ég fengið tækifæri til að stækka tengslanetið mitt og eignast marga dýrmæta vini. Stuðningurinn sem ég hef fengið bæði frá kennurum og samnemendum í gegnum námið hefur verið ómissandi og mun sjaldan gleymast.

Auður Margrét Pálsdóttir
Nemandi í tölvunarfræði

Ég fór að læra tölvunarfræði vegna þess að mér finnst það góð leið til að nýta stærðfræðina á hagnýtan hátt, forritunin getur verið skapandi samhliða því að nýta rökhugsun og er klárlega það sem mér finnst skemmtilegast við námið. Möguleikarnir eftir nám eru einnig mjög fjölbreytilegir, hvort sem maður vill starfa hjá litlu sprotafyrirtæki eða vinna hjá stóru tæknirisunum og allt þar á milli.  Félagslífið er líka frábært, „Nördar“ (Nemendafélagið Nörd) hafa góða aðstöðu til að læra saman og mikil heild sem myndast hjá þeim sem eru duglegir að mæta, sama hvort það sé í skólanum eða í vísó á föstudögum. 

Hafðu samband

Nemendaþjónusta VoN
s. 525 4466 - ​nemvon@hi.is
Opið virka daga frá 09:00-15:30

Einnig er hægt að hafa samband í gegnum netspjall hér á síðunni (í samræmi við þjónustutíma)

​Tæknigarður - Dunhaga 5, 107 Reykjavík
Askja - Sturlugata 7, 102 Reykjavík

Fylgstu með Verkfræði- og náttúruvísindasviði:

""

Hjálplegt efni

Ertu með fleiri spurningar? Hér finnurðu svör við ýmsum þeirra og upplýsingar um ýmislegt annað sem gott er að hafa í huga þegar þú velur nám.