Tölvunarfræði


Tölvunarfræði
BS gráða – 180 ECTS 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
- Haust
- Hagnýt stærðfræðigreining
- Tölvunarfræði 1
- Stærðfræðimynstur
- Vefforritun 1
- Vor
- Viðmótsforritun
- Stærðfræði og reiknifræði
- Tölvunarfræði 2
- Greining og hönnun stafrænna rása
- Greining og hönnun stafrænna rása - verklegt
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.
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.
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á
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.
Viðmótsforritun (HBV201G)
Grafísk notendaviðmót og forritun þeirra. Forritun og verkefni í Java. Viðmótshönnun. Notendaviðmótsprófanir.
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.
Tölvunarfræði 2 (TÖL203G)
Byrjað verður á kynningu á forritunarmálinu C++. Námskeiðið mun nota forritunarmálin C++ og 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 í C++ og Java. Mörg lítil forritunarverkefni verða í námskeiðinu.
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.
Greining og hönnun stafrænna rása - verklegt (TÖV202G)
Verkleg kennsla í námskeið TÖV201G Greiningu og hönnun stafrænna rása. Takist samhliða því.
- Haust
- Formleg mál og reiknanleiki
- Gagnasafnsfræði
- Forritunarmál
- Tölvutækni og forritun
- Vor
- Þróun hugbúnaðar
- Tölfræði og gagnavinnsla
- Stýrikerfi
- Greining reiknirita
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.
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.
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.
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.
Þ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.
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.
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 á.
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.
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.
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.
- Haust
- ReiknigreindV
- HagverkfræðiV
- VerkefnastjórnunV
- Inngangur að gagnanámiV
- Greining á frammistöðu tölvukerfaV
- NetafræðiV
- Tölvunet og öryggiV
- TölvuleikjaforritunV
- Frá hugmynd að veruleikaV
- Samskipti manns og tölvuV
- Dreifð kerfiV
- Hönnun tölvaV
- Örtölvu- og mælitækniV
- Prófun hugbúnaðarV
- Viðhald hugbúnaðarV
- LokaverkefniV
- TæknistjórnunV
- Greining ferla og kerfaV
- Forritun ofurtölvaV
- Skýjaforritun og stórgögnV
- RafmyntirV
- Forritun í máltækniV
- Inngangur að máltækniV
- Reiknirit í lífupplýsingafræðiV
- Vor
- Þættir úr sögu og heimspeki vísindannaV
- Alþjóðleg markaðssetning tæknilausnaV
- AðgerðagreiningV
- Inngangur að kerfislíffræðiV
- Ólínuleg bestunV
- ÞýðendurV
- TölvugrafíkV
- Málstofa í tölvunarfræði fyrir grunnnemaV
- KeppnisforritunV
- Gæðastjórnun í hugbúnaðargerðV
- Prófun hugbúnaðarV
- LokaverkefniV
- Vefforritun 2V
- Öryggi tölvukerfaV
- Starfsnám í tölvunarfræði og hugbúnaðarverkfræði - grunnnámV
- Aðgerðir í skipuheildumV
- Skýjaforritun og stórgögnV
- GervigreindV
- Lífsferill gervigreindarlausnaV
- Tölvur, stýrikerfi og tölvufærniV
- Reiknirit, rökfræði og reiknanleikiV
- Rökstudd forritunV
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.
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.
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.
Inngangur að gagnanámi (REI502M)
Með þróun upplýsingatækni hefur stærð gagna sem hægt er að rannsaka vaxið með ofurhraða. Gagnanám fjallar um greiningu á stórum gagnasöfnum (stórgögnum). Meðal fræða sem gagnanám byggir á eru gervigreind, reiknigreind, tölfræði, mynsturkennsl, gagnsafnsfræði, samhliðavinnsla og dreifð kerfi. Í námskeiðinu verður fjallað um hugtök og aðferðir gagnanáms, svo sem lærdómur byggður á reglum, ákvarðanatré, gagnanám með tengslareglum, þyrpingagreiningu, einfaraleit og tölfræðilegar aðferðir til að uppgötva mynstur í gögnunum og til að meta og túlka mynstrin sem finnast með gagnanáminu.
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.
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.
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.
Tölvuleikjaforritun (TÖL308G)
Umfjöllunarefnið er helstu aðferðir og verkefni sem tengjast forritun tölvuleikja. Verkefnin snúast meðal annars um stýringu rammatíðni, hlutastjórnun, löggengi, minnisstýringu og keyrsluafköst. Athyglinni verður sér í lagi beint að drifbúnaði tölvuleikja. Grundvallaratriði í gerð tölvuleikja með fjöldaþátttöku á netinu verða skoðuð. Skoðuð verða dæmi tengd einföldum tvíðvíðum leikjum, t.d. Asteroids og PacMan, en áherslan verður á almennar aðferðir sem einnig má beita við gerð háþróaðra nútímalegra tölvuleikja.
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.
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.
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, CORBA middleware) 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.)
Hönnun tölva (TÖV501M)
Kynning á uppbyggingu nútímatölva. Farið er í afkastamælingar tölva, hönnun skipanamengja, framkvæmd skipana og nýlegar aðferðir til að framkvæma skipanir samhliða. Hönnun skyndiminnis, aðalminnis, sýndarminnis og ytra minnis. Uppbygging fjölgjörva tölvukerfa.
Þetta er kröfuharður áfangi er varðar hönnun og útfærslu tölvubúnaðar sem notar örgjörva. Fjallað er um flókna högun og hönnun nútíma tölvukerfa. Fjölgjörvahönnun, samsíða þræðir og samsíða skipanir eru rannsakaðar. Nemendur þurfa að vinna hópverkefni sem stuðla að reynslu við teymavinnu og stjórnun, skjölun og framsetningu hugmynda á helstu þáttum verkfræðilegrar þróunarvinnu. Lokaverkefni námskeiðsins felur í sér hönnun á vélbúnaði og hugbúnaði í "rapid-prototyping" umhverfi sem byggir á Xilinx Virtex Pro2 FPGA borðum og C/C++ forritun.
Markmið:
Aðalmarkmið námskeiðsins er að kynna flókna hönnun nútíma tölvukerfa og miðla þekkingu og reynslu af hönnun og útfærslu hugbúnaðar/vélbúnaðar verkefnum þar sem "rapid prototyping environment" er notað.
Örtölvu- og mælitækni (VÉL302G)
Í námskeiðinu eru grundvallaratriði rafeindatækninnar rifjuð upp s.s. lögmál Ohms og Kirchoffs sem og aðrar reikniaðferðir fyrir rásir sem innihalda viðnám, spólur og þétta. Farið er yfir mismunandi eiginleika íhluta gagnvart jafnstraum og riðstraumi.
Eiginleikar annarra algengra íhluta eins og tvista, smára, aðgerðamagnara og samrása eru kynntir fyrir nemendum. Farið er yfir tíðnisvörun íhluta og kerfa, smíði ariðla, eiginleika spenna og notkun þeirra til að hámarka afl milli rása. Rökaðgerðir, rökrásahlið, sanntöflur, púlsarit, Karnaugh kort og vippur eru einnig hluti af námsefninu. Nemendur vinna bæði reikniverkefni sem og verklegar æfingar sem miða að því að æfa þá í að nýta þessa íhluti.
Kynnt verður fyrir nemendum hvaða eiginleikar skynjarar sem nema eðlisfræðilegar stærðir svo sem færslu, snúning, þrýsting og rennsli þurfa að hafa til að mæla þessar stærðir.
Kynnt verður uppbygging rafmótóra, stafræn mælitækni, notkun örgjörva (Arduino rásir) og afturvirkar tölvustýringar.
Prófun hugbúnaðar (HBV104M)
Kennt að jafnaði annað hvert ár (í vor þegar ártal er oddatala, en mun breyta frá og með 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. 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).
Viðhald hugbúnaðar (HBV103M)
Kennt að jafnaði annað hvert ár (í haust þegar ártal er oddatala, en mun breyta frá og með 2024)
Lögmál Lehman um framþróun hugbúnaðar, framsetning forrita, skiljanleiki forrita, skoðanir forrita, umfangsmat hugbúnaðarkerfa, mælikvarðar viðhaldshæfni hugbúnaðarkerfa, uppfærslur hugbúnaðarkerfa, frá kóða til lýsingar og endurgerð hugbúnaðarkerfa.
Sjá nánar enskan texta.
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: 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 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.
Lokaverkefni (HBV261L)
Lokaverkefni er námskeið þar sem nemendur vinna verkefni undir handleiðslu kennara. 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
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.
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ðar 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.
Forritun ofurtölva (REI105M)
Kennt að jafnaði annað hvert ár.
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.
Skýjaforritun og stórgögn (REI504M)
Kennt að jafnaði annað hvert ár.
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.
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.
Forritun í máltækni (TÖL023M)
Námskeiðið er ætlað tveimur hópum, annars vegar nemendum sem eru í meistaranámi í máltækni við Íslensku- og menningardeild HÍ og hins vegar nemendum í tölvunarfræði við HÍ. Í námskeiðinu fær fyrri hópurinn, sem ekki hefur bakgrunn í forritun og tekur námskeiðið samhliða Tölvunarfræði 1a, þjálfun í að leysa einföld en fjölbreytt verkefni í forritunarmálinu Python. Síðari hópurinn hefur það hlutverk í þessum þætti námskeiðsins að taka þátt kennslunni. Annar þáttur námskeiðsins er kynning á málvinnsluhugbúnaðinum NLTK (Natural Language Toolkit) sem notað er frekar í framhaldsnámskeiðum í máltækni. Þriðji þátturinn er inngangur að málvinnslu (NLP, Natural Language Processing). Farið verður yfir grundvallarþætti hennar, svo sem myndanagreiningu, orðflokkagreiningu, setningafræðilega greiningu o.s.frv. og nemendur leysa einföld verkefni þess efnis með NLTK og Python.
Inngangur að máltækni (TÖL025M)
Fjallað er um aðferðir í máltækni með áherslu á greiningu og vinnslu ritaðs máls. Farið verður yfir textagreiningaraðferðir svo sem mörkun, lemmun og þáttun texta, ásamt notkun málfanga (t.d. beygingagagnagrunns), og hvernig nota má slíkar aðferðir t.d. í textaleiðréttingu og stöðlun, skipanagreiningu, sjálfvirkri textaritun og vélþýðingu. Einnig verður komið inn á hvernig textavinnsla tengist öðrum sviðum máltækni, svo sem talgreiningu og talgervingu. Námskeiðinu lýkur með hagnýtu verkefni.
Reiknirit í lífupplýsingafræði (TÖL504M)
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.
Þættir úr sögu og heimspeki vísindanna (EÐL405G)
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.
Alþjóðleg markaðssetning tæknilausna (HBV602G)
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. Námskeiðið er framhaldsnámskeið af námskeiðunum „Frá hugmynd að veruleika“ eða „Tölvukerfi og markaðsmál“ eða „Nýsköpunar- og frumkvöðlafræði“. Nauðsynlegt er að nemandinn hafi hugmynd sem hann er tilbúinn að vinna með.
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.
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.
Ólínuleg bestun (REI202M)
Skorðulaus bestun og lágmörkun minnstu ferninga: Newtonsaðferð og skyldar aðferðir, aðferð samoka stefna. Skorðuð bestun: Kuhn-Tucker-skilyrði, línulegar og ólínulegar skorður, ferningsbestun, Lagrange-margfaldarar, refsiföll og gagnvirkar aðferðir. Gefin er hluteinkunn fyrir skriflegar úrlausnir á verkefnum og vegur hún 30% af heildareinkunn. Stúdent telst ekki hafa staðist próf, ef prófseinkunn er lægri en lágmarkseinkunn fyrir námskeiðið í heild.
Þýð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.
Tölvugrafík (TÖL203M)
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.
Málstofa í tölvunarfræði fyrir grunnnema (TÖL602G)
Nemendur setji sig inn í tiltekið efni í tölvunarfræði, t.d. einhverja (fræðilega) aðferð, eitthvert reikniverkefni, eða eitthvert forritunarmál, með því að lesa viðeigandi fræðilegt efni. Þeir halda síðan fyrirlestur um efnið fyrir kennara sinn 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.
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.
Gæðastjórnun í hugbúnaðargerð (HBV204M)
Kennt að jafnaði annað hvert ár (í vor þegar ártalið er jöfn tala, en mun breyta frá og með 2024)
Mælingar og líkön: Tól til að stjórna hugbúnaðargæðum og endurbótum. Gæðatrygging: Staðlar og aðferðir. Eftirfylgni gæða og innra skipulag. Gæðastjórnun í kviku þróunarumhverfi.
Prófun hugbúnaðar (HBV205M)
Kennt að jafnaði annað hvert ár (í vor þegar ártal er oddatala, en mun breyta frá og með 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. 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).
Lokaverkefni (HBV261L)
Lokaverkefni er námskeið þar sem nemendur vinna verkefni undir handleiðslu kennara. 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
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.
Öryggi tölvukerfa (HBV602M)
Í námskeiðinu verður fjallað um undirstöðuatriði tölvu og netöryggis. Meðal annars verður fjallað um högun netkerfa, dulkóðun og auðkenningaralgríma, aðgangsstýringu, veikleika og algengar veilur í hugbúnaðarhönnun og nokkur tól sem beitt er til að greina og nýta slíkar veilur. Einnig verður fjallað um aðferðafræði við varnir kerfa og skipuleg viðbrögð við öryggisatvikum. Að lokum verður fjallað um lögfræðileg og siðfræðileg álitaefni sem viðkoma tölvuöryggismálum.
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ð.
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.
Skýjaforritun og stórgögn (REI401M)
Kennt að jafnaði annað hvert ár.
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.
Gervigreind (REI602M)
Fjallað er um hugtök, aðferðir og reiknirit á sviði gervigreindar, með áherslu á studdan, óstuddan og styrkingarlæ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 og ákvarðanatré. Djúpur lærdómur. Þyrpingagreining, k-means og EM aðferðirnar. TD-lærdómur og Q-lærdómur. Nemendur útfæra einföld reiknirit í Python og læra á sérhæfða forritspakka. Námskeiðinu lýkur með hagnýtu verkefni.
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.
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.
Reiknirit, rökfræði og reiknanleiki (TÖL210M)
Stærðfræðileg og rökfræðileg hugtök tengd formlegum málum, reiknanleika og reikniritum. Sannanir með þrepun, endurkvæmni, fastapunktum og hornalínurökum. Stöðuvélar, staflavélar og Turingvélar. Eiginleikar reglulegra, samhengisóháðra og almennra mála. Flækjustigsflokkun með tilliti til tíma og rúms, óákvarðanleiki, yfirfærslurök, NP-fullkomleiki. BDD-ákvarðanarit, rökfræðileg líkanprófun og tímaháð rökfræði.
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.
Hafðu samband
Nemendaþjónusta Verkfræði- og náttúruvísindasviðs
Opið virka daga frá 8:30-16
Tæknigarður - Dunhaga 5, 107 Reykjavík
Askja - Sturlugata 7, 102 Reykjavík
s. 525 4466 - nemvon@hi.is
Skrifstofa Verkfræði- og náttúruvísindasviðs
s. 525 4700
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.