Alusained
UTT9102 Akadeemilise kirjutamise töötuba (3 EAP)
Õppejõud:
Jeffrey Andrew Tuhtan
Õpetamise semester:
kevad
Valikaine:
Täpsem info:
Lühike sisukirjeldus:
Üliõpilase enda teadustööl põhinev praktiline akadeemilise kirjutamise kursus publitseerimiseks.
Kursuse jooksul töötavad üliõpilased iseseisvalt oma teadusartikli mustandiga (eelistatavalt esimese autorina). Iga kahe nädala tagant tuleb esitada Moodle'i kaudu järgmine versioon, millele antakse kirjalik tagasiside.
Suurim kursusel osalejate arv teaduskonna kohta on 10 ja kursus on suunatud inseneri, loodus-, infotehnoloogia ja majandusteaduskonna doktorantidele.
Kui soovijate arv teaduskonna kohta on üle kümne, tehakse kandidaatidega intervjuud ja testid, et sõeluda välja kümme.
Kursusel osalemise eeldus teadusartikli mustand või selle laiendatud kokkuvõte pikkusega vähemalt 3 lk.
Üliõpilased jagatakse üksteiste tööde retsenseerimiseks ja tagasiside andmiseks 2-5liikmelisteks rühmadeks vastavalt teaduskondadele ja õppekavadele.
Kursuse jooksul töötavad üliõpilased iseseisvalt oma teadusartikli mustandiga (eelistatavalt esimese autorina). Iga kahe nädala tagant tuleb esitada Moodle'i kaudu järgmine versioon, millele antakse kirjalik tagasiside.
Suurim kursusel osalejate arv teaduskonna kohta on 10 ja kursus on suunatud inseneri, loodus-, infotehnoloogia ja majandusteaduskonna doktorantidele.
Kui soovijate arv teaduskonna kohta on üle kümne, tehakse kandidaatidega intervjuud ja testid, et sõeluda välja kümme.
Kursusel osalemise eeldus teadusartikli mustand või selle laiendatud kokkuvõte pikkusega vähemalt 3 lk.
Üliõpilased jagatakse üksteiste tööde retsenseerimiseks ja tagasiside andmiseks 2-5liikmelisteks rühmadeks vastavalt teaduskondadele ja õppekavadele.
IAX0010 Diskreetne matemaatika (6 EAP)
Õppejõud:
Harri Lensen
Margus Kruus
Margus Kruus
Õpetamise semester:
sügis-kevad
Kohustuslik aine:
Valikaine:
Täpsem info:
Lühike sisukirjeldus:
Lausearvutus. Matemaatiline loogika. Loogikafunktsioonid ja nende normaalkujud. Loogikafunktsioonide minimeerimine ja erinevad minimeerimismeetodid. Loogikafunktsioonide Shannoni arendused. Loogikafunktsiooni tuletis. Loogikafunktsioonide täielik süsteem. Baassüsteemid. Hulgateooria põhimõisted, hulgateoreetilised operatsioonid, hulgateooria avaldiste lihtsustamine. Vastavused. Binaarsuhted, osalise järjestuse suhe, ekvivalentsisuhe. Graafiteooria põhimõisted. Klassikalised graafiteooria ülesanded.
IXX9102 Erialakirjanduse ülevaade (3 EAP)
Õppejõud:
Maarja Kruusmaa
Õpetamise semester:
sügis-kevad
Valikaine:
IAXD22/22 Info- ja kommunikatsioonitehnoloogia (doktoriõpe)
Täpsem info:
Lühike sisukirjeldus:
teaduskirjanduse otsimine, andmebaaside kasutamine teaduskirjanduse otsimiseks, teadusteemaga seotud erialakirjanduse läbitöötamine, kirjanduse kriitilise ülevaate koostamine, teadusteemaga seotud veel lahendamata uurimisteemade kaardistamine, nende uudsuse ning mõjukuse kriitiline hindamine. Ülevaateartikli kirjutamine.
IAS0001 Erialatutvustus (6 EAP)
Õppejõud:
Priit Ruberg
Õpetamise semester:
sügis
Kohustuslik aine:
IACB17/26 Riistvara arendus ja programmeerimine (bakalaureuseõpe)
Täpsem info:
Lühike sisukirjeldus:
Riistvara programmeerimise ja arenduse eriala eesmärgid ja roll ühiskonnas. Eriala spetsialiseerumisvõimalused, õpetatavad ained ja nendevahelised seosed hilisemates õpingutes. Eriala lõpetaja potentsiaalsed töökohad.
Elektroonsete süsteemide ja seadmete loomise peamised lähenemisviisid.
Füüsikalised suurused, nende ühikud ja ühikute süsteemid.
Mõõtmisprotsess ja mõõtmistäpsuse hindamine. Mõõtevahendid. Seadmed elektriliste signaalide mõõtmiseks: multimeetrid, ostsilloskoobid.
Arduino kontrolleril baseeruva robotiplatvormi programmeerimine.
Meeskonnatöö oskused, projektipõhine töövoog ning repositooriumi kasutamine tarkvara arenduses. Aruannete vormistamise ja kaitsmise oskused, ettekannete tegemine.
Elektroonsete süsteemide ja seadmete loomise peamised lähenemisviisid.
Füüsikalised suurused, nende ühikud ja ühikute süsteemid.
Mõõtmisprotsess ja mõõtmistäpsuse hindamine. Mõõtevahendid. Seadmed elektriliste signaalide mõõtmiseks: multimeetrid, ostsilloskoobid.
Arduino kontrolleril baseeruva robotiplatvormi programmeerimine.
Meeskonnatöö oskused, projektipõhine töövoog ning repositooriumi kasutamine tarkvara arenduses. Aruannete vormistamise ja kaitsmise oskused, ettekannete tegemine.
IAS0051 Rakenduslik andmeside (6 EAP)
Õppejõud:
Vitali Vansovitš
Õpetamise semester:
sügis
Valikaine:
Täpsem info:
Lühike sisukirjeldus:
Digitaal- ja analoogkommunikatsioon. Standardiseerimine andmesides. Tööstuslike andmesidevõrkude hierarhia tasemed. Kriteeriumid sobiva andmesidevõrgu valimiseks. Eripärad ja nõuded tööstuslikus andmesides. Andmeside protokollide komplektid (MAP/TOP). Info integratsioon ja koostöö tööstusettevõttes (MIS, MES). Elektriline müra ja häiringud. Järjestikliidese standardid (RS-232, RS-485). Veatuvastus ja veaparandus. Asünkroonne ja sünkroonne andmeedastus. Andmete kodeerimisviisid. Andmeedastuse sünkroniseerimine biti, baidi ja kaadri tasemel. Andmete läbipaistvuse nõue. Bitt- ja bait-orienteeritud andmekanali halduse protokollid. Andmevoo juhtimise moodused. Kandjapöörduse halduse (MAC) mehhanismid. Ethernet. Tööstusliku Etherneti eripärad. Tööstuslikud võrgustandardid. Protsessidevaheline infovahetus (OPC).
IAS0470 Teadusseminar (6 EAP)
Õppejõud:
Aleksei Tepljakov
Õpetamise semester:
sügis
Valikaine:
IACM23/26 Riistvara arendus ja programmeerimine (magistriõpe)
Täpsem info:
Lühike sisukirjeldus:
Süsteemne lähenemine teadustöö koostamisele. Teadustöö koostamise metoodika erinevad elemendid. Probleemi püstitus ja arusaam probleemi laiemast vaatenurgast.
Informatsiooni kogumine. Hüpotees. Omandada oskus magistritöö teema valikuks. Iseseisev töö erialakirjandusega. Osalemine erialastel nõupidamistel ja teaduskonverentsidel. Magistriõppe üliõpilane omandab inglise keelse teadusartikli kirjutamise ja ette kandmise kogemuse.
Informatsiooni kogumine. Hüpotees. Omandada oskus magistritöö teema valikuks. Iseseisev töö erialakirjandusega. Osalemine erialastel nõupidamistel ja teaduskonverentsidel. Magistriõppe üliõpilane omandab inglise keelse teadusartikli kirjutamise ja ette kandmise kogemuse.
Süsteemitehnika ja automaatika
IAS0190 Arukad hooned (6 EAP)
Õppejõud:
Andres Rähni
Õpetamise semester:
sügis-kevad
Valikaine:
IACM23/26 Riistvara arendus ja programmeerimine (magistriõpe)
Täpsem info:
Lühike sisukirjeldus:
Aruka hoone mõiste ja hoonete arukuse aspektid. Hoonete erinevad tehnilised süsteemid (energiahaldus, HVAC, valgustus-, turva-, ohutus- ja sidesüsteemid), hierarhia ja hoonesüsteemide integreerimine, rahvusvaheliselt standardiseeritud hooneautomaatika funktsionaalsus.
Hoonetes kasutatavad automaatikaseadmed ja -andmeside. Hoonesüsteemide standardiseeritud andmeside lahendused (KNX, LonWorks, BACnet, jt.) ning arengusuunad. Avatud standardite kasutamine süsteemide integreerimisel. Küberturvalisuse küsimused hoonesüsteemides. Programmeeritavate loogikakontrollerite ja rakendusspetsiifiliste kontrollerite kasutamine ning programmeerimine/seadistamine. Hoone tehnosüsteemide automaatjuhtimise näited.
Hoonetes kasutatavad automaatikaseadmed ja -andmeside. Hoonesüsteemide standardiseeritud andmeside lahendused (KNX, LonWorks, BACnet, jt.) ning arengusuunad. Avatud standardite kasutamine süsteemide integreerimisel. Küberturvalisuse küsimused hoonesüsteemides. Programmeeritavate loogikakontrollerite ja rakendusspetsiifiliste kontrollerite kasutamine ning programmeerimine/seadistamine. Hoone tehnosüsteemide automaatjuhtimise näited.
IAS0023 Arukad juhtimissüsteemid (6 EAP)
Õppejõud:
Eduard Petlenkov
Õpetamise semester:
sügis
Valikaine:
Eeldusaine:
Modelleerimine ja identifitseerimine (IAS0031)
Täpsem info:
Lühike sisukirjeldus:
Mitmemõõtmelise protsessi juhtimine. Portsuprotsesside juhtimine. Protsessijuhtimise seosed ärijuhtimisega. Mudelipõhine reguleerimine. Kaskaad-, otseside ja valikuga regulaator.
Protsesside ohutus, kaitseahelad ja ohutusseadmed. Automaatika projektid.
Mittelineaarsed süsteemid, nende identifitseerimise ja juhtimise põhimõtted;
Adaptiivsed juhtimissüsteemid;
Tehisnärvivõrgud, nende struktuurid ja treenimise algoritmid;
Mittelineaarsete süsteemide identifitseerimine tehisnärvivõrkudega;
Mittelineaarsete süsteemide juhtimine tehisnärvivõrkudega;
Iseõppivad närvivõrgud;
Kujundite tuvastamine ja mustrite klassifitseerimine;
Hägusad juhtimissüsteemid;
Mittelineaarsete süsteemide juhtimine dünaamiline lineariseerimine abil;
Geneetilised algoritmid ja nende rakendused mittelineaarsete süsteemide identifitseerimise juhtimisel;
Protsesside ohutus, kaitseahelad ja ohutusseadmed. Automaatika projektid.
Mittelineaarsed süsteemid, nende identifitseerimise ja juhtimise põhimõtted;
Adaptiivsed juhtimissüsteemid;
Tehisnärvivõrgud, nende struktuurid ja treenimise algoritmid;
Mittelineaarsete süsteemide identifitseerimine tehisnärvivõrkudega;
Mittelineaarsete süsteemide juhtimine tehisnärvivõrkudega;
Iseõppivad närvivõrgud;
Kujundite tuvastamine ja mustrite klassifitseerimine;
Hägusad juhtimissüsteemid;
Mittelineaarsete süsteemide juhtimine dünaamiline lineariseerimine abil;
Geneetilised algoritmid ja nende rakendused mittelineaarsete süsteemide identifitseerimise juhtimisel;
ATR0130 Arukate hoonete automaatika (6 EAP)
Õppejõud:
Martin Thalfeldt
Õpetamise semester:
kevad
Valikaine:
Täpsem info:
Lühike sisukirjeldus:
Kursuse jooksul on üldised sissejuhatavad loengud teemasse ning eraldi loengud iga käsitletava tehnosüsteemi kohta. Igale tehnosüsteemi loengule järgneval nädalal toimub praktikum vastava tehnosüsteemi kohta ning sellele järgneval nädalal ettekanded vastava tehnosüsteemi esmase analüüsi tutvustamiseks. Kursuse lõpuks tehakse ühe hoone tehnosüsteemidele detailne analüüs ning selle kohta ettekanne. Tehnosüsteemide analüüs baseerub reaalsetel hoonetel ja nende automaatikasüsteemidel.Tehnosüsteemide analüüsid tehakse interdistsiplinaarsete rühmadena. Individuaalselt tuleb iga loengu järel teha Moodle e-toes enesetest kinnistamaks loengus omandatud teadmisi.
Kursusel puuduvad eeldusained, aga interdistsiplinaarsetes rühmatööde panustamiseks tuleb kasuks kui osalejal on eelteadmisi hoonete tehnosüsteemidest või juhtimissüsteemidest ning andmepõhisest analüüsist.
Kursusel puuduvad eeldusained, aga interdistsiplinaarsetes rühmatööde panustamiseks tuleb kasuks kui osalejal on eelteadmisi hoonete tehnosüsteemidest või juhtimissüsteemidest ning andmepõhisest analüüsist.
IAS0065 Automaatikavahendid (6 EAP)
Õppejõud:
Kristina Vassiljeva
Õpetamise semester:
sügis
Valikaine:
Täpsem info:
Lühike sisukirjeldus:
Aine annab teoreetilised teadmised ja praktilised oskused tööstuslike juhtimis- ja automaatikavahendite valdkonnas. Käsitletakse juhtimissüsteemide struktuuri, regulaatorite tüüpe ja häälestusmeetodeid, programmeeritavaid loogikakontrollereid ning signaalide teisendusi tööstuslikes automaatikasüsteemides. Üliõpilased tutvuvad tööstuslike andurite ja täituritega ning viivad läbi laboratoorseid katseid, et analüüsida ja hinnata juhtimissüsteemide toimivust simulatsiooni ja eksperimentaalsete meetodite abil.
IAS0020 Automaatjuhtimine ja süsteemianalüüs (6 EAP)
Õppejõud:
Eduard Petlenkov
Õpetamise semester:
kevad
Valikaine:
IACB17/26 Riistvara arendus ja programmeerimine (bakalaureuseõpe)
Täpsem info:
Lühike sisukirjeldus:
Süsteemi mõiste. Abstraktne süsteem. Süsteemide klassifikatsioon. Süsteemide modelleerimine: analüütilised ja mitteanalüütilised mudelid. Süsteemide analüüs. Lineaarsete pidev- ja diskreetajasüsteemide analüütilised mudelid: ülekande- ja olekumudelid ning nende esitusvormid. Lineaarsete süsteemide analüüs. Süsteemide üldised omadused: juhitavus, jälgitavus ja stabiilsus. Süsteemide struktuuriomadused, kompositsioon ja dekompositsioon. Automaatjuhtimissüsteemide struktuur ja elemendid. Otse- ja tagasiside juhtimissüsteemides. Häiringud juhtimissüsteemides. Süsteemide ja häiringute matemaatiline kirjeldamine: sisend-väljund mudelid ja olekumudelid. Automaatjuhtimissüsteemide näiteid. Automaatjuhtimise meetodid: modaal-juhtimine, optimaaljuhtimine ja adaptiivjuhtimine. Modaaljuhtimine - tagasiside oleku ja väljundi järgi, järgivsüsteemide süntees, häiringute kompenseerimine. Optimaaljuhtimine - optimaaljuhtimise ülesannete püstitus, süsteemide optimaaljuhtimine, prognoos, filtreerimine, häiringute hindamine ja kompenseerimine. Õppeaine sisaldab loenguid ja praktikume.
IAS0360 Masinõpe sardsüsteemides (6 EAP)
Õppejõud:
Uljana Reinsalu
Õpetamise semester:
sügis
Valikaine:
Täpsem info:
Lühike sisukirjeldus:
Masinõppes peamiselt kasutatavate algoritmide ülevaade ning nende tööpõhimõtetest arusaamine. Masinõppe mudelite loomise alused. Treenimisandmete loomine ja nende kasutamine. Olulisemad mudelite optimeerimise põhitõed ja nende rakendamine sardsüsteemide jaoks. Spetsiaalset riistvara ehitama ei pea. Kursuse jooksul lahendatakse individuaalsed ülesanded ning 2-3 liikmelised grupid projektülesande.
IAS0031 Modelleerimine ja identifitseerimine (6 EAP)
Õppejõud:
Aleksei Tepljakov
Õpetamise semester:
kevad
Valikaine:
Aine on eelduseks:
Arukad juhtimissüsteemid (IAS0023)
Täpsem info:
Lühike sisukirjeldus:
Protsessid ja nende mudelid, mudelite liigid. Süsteemi mõiste ja klassifikatsioon. Süsteemide matemaatiline modelleerimine: staatilised ja dünaamilised mudelid. Staatilised süsteemid: lineaarne, ruut- ja mittelineaarne planeerimine. Lineaarsete dünaamiliste süsteemide matemaatilised mudelid: diferentsiaalvõrrandid, olekumudel, ülekandefunktsioon. Lineariseeritud mudeli analüütiline tuletamine: mehhaanilised, elektrilised, hüdraulilised ja termilised süsteemid. Mudeli lihtsustamine, ekvivalentsed süsteemid: järgu alandamine, osaline realisatsioon. Robustsed mudelid, ebatäpsuse esitusviisid: Haritonovi teoreemid, stabiilsusvaru. Sarnased süsteemid: sarnased muutujad, Kirchhofi seadused. Identifitseerimise ülesande tõenäosuslik püstitus. Staatilise ja lineaarse dünaamilise süsteemi mudeli identifitseerimine mõõteandmetest. Parameetrilised mudelid: vähimruutude hinnang. Mitteparameetrilised dünaamilised mudelid: siirde-, korrelatsiooni- ja spektraalanalüüs. Identifitseerimine reaalajas: rekursiivsed identifitseerimismeetodid. Identifitseerimine suletud kontuuris.
Staatiliste mudelite (planeerimisülesanded) ja dünaamiliste mudelite rakendusnäited.
Tagasisidega süsteem,mudelipõhine reguleerimine.
Õppeaine sisaldab loenguid ja modelleerimiskeskkonna MATLAB (Optimization ja Identification Toolbox’id) kasutamisel põhinevaid praktikume.
Staatiliste mudelite (planeerimisülesanded) ja dünaamiliste mudelite rakendusnäited.
Tagasisidega süsteem,mudelipõhine reguleerimine.
Õppeaine sisaldab loenguid ja modelleerimiskeskkonna MATLAB (Optimization ja Identification Toolbox’id) kasutamisel põhinevaid praktikume.
IAS0130 Protsesside automaatjuhtimine (6 EAP)
Õppejõud:
Andres Rähni
Õpetamise semester:
sügis
Kohustuslik aine:
IACB17/26 Riistvara arendus ja programmeerimine (bakalaureuseõpe)
Valikaine:
Täpsem info:
Lühike sisukirjeldus:
Protsessijuhtimise ülesannete püstitus ja lahendamine. Juhtimispõhimõtted, avatud ja suletud süsteem. Juhtimissüsteemi stabiilsus ja täpsus. Juhitavad protsessid, nende olekud, sisendid ja väljundid. Diskreetsed protsessid, aja ja sündmuste järgi (lülitamisega) juhtimine. Pidevad protsessid, termilised ja nivooprotsessid. Automaatikaseadmete (regulaatorid, kontrollerid, andurid, täiturid) ja -tarkvara kasutamine ning standardiseeritud funktsionaalsuse esitusvormid. Robootika. Automaatjuhtimissüsteemide näited bio-, keemia ja toiduainete tehnoloogiates.
IAS0060 Robootika (6 EAP)
Õppejõud:
Roza Gkliva
Õpetamise semester:
kevad
Valikaine:
Täpsem info:
Lühike sisukirjeldus:
Kursus on projektipõhine. Semestri jooksul lahendavad 3-4 liikmelised grupid etteantud ülesande, mis sisaldab otsustualgoritmide koostamist, roboti juhtimist ja andmete töötlemist. Robotite riistvara antud kursuse raames ei ole tarvis ehitada.
Töögrupid annavad oma tegevusest iganädalase ülevaate, muul ajal töötavad vabalt valitud kellaaegadel ning kokkuleppel töögrupi juhendajaga.
Kursusel osalejate maksimaalne arv on 20. Osalemise eelduseks on C++ või Pythonis programmeerimise oskus, kasulikud on ka algteadmised ROSist.
Semestri alguses toimub sisendtest (programmeerimine C++-s või Python-s), mis määrab, kas tudeng saab kursusel osaleda.
Tudengid jagatakse töögruppidesse vastavalt oskustele ning eelistustele.
Valida saab tavaliselt 3 erineva projekti vahel (https://taltech.ee/en/biorobotics-courses#p1441).
Töögrupid annavad oma tegevusest iganädalase ülevaate, muul ajal töötavad vabalt valitud kellaaegadel ning kokkuleppel töögrupi juhendajaga.
Kursusel osalejate maksimaalne arv on 20. Osalemise eelduseks on C++ või Pythonis programmeerimise oskus, kasulikud on ka algteadmised ROSist.
Semestri alguses toimub sisendtest (programmeerimine C++-s või Python-s), mis määrab, kas tudeng saab kursusel osaleda.
Tudengid jagatakse töögruppidesse vastavalt oskustele ning eelistustele.
Valida saab tavaliselt 3 erineva projekti vahel (https://taltech.ee/en/biorobotics-courses#p1441).
IAS0220 Robotite juhtimine ja tarkvara (6 EAP)
Õppejõud:
Laura Piho
Õpetamise semester:
sügis
Valikaine:
Täpsem info:
Lühike sisukirjeldus:
Kursus annab sissejuhatuse robootika põhitõdedesse, käsitledes andureid, algoritme ja täitureid ning ROSi (Robot Operating System). Teoreetiliste loengute ja praktiliste laborite kaudu tutvustatakse põhjalikke robootikakontseptsioone ja nende rakendamist virtuaalsete robotite abil ROS-keskkonnas. Samuti pakutakse võimalust testida omandatud oskusi päris robotitel, luues seose simulatsiooni ja reaalse maailma rakenduste vahel.
Riistvara projekteerimine
IAX0043 Arvutid (6 EAP)
Õppejõud:
Priit Ruberg
Õpetamise semester:
sügis-kevad
Kohustuslik aine:
Täpsem info:
Lühike sisukirjeldus:
Arvutite põlvkonnad ja tehnoloogia areng. Transistor loogika, CMOS tehnoloogia. Digitaalloogika ventiilid ja kasutus, kahe muutuja funktsioonid, tõeväärtustabel, loogika funktsioon, loogika skeem. Protsessori komponendid: kombinatsioonskeemid ja järjestikskeemid. Protsessor: käsu täitmise tsükkel, struktuur, erinevad arhitektuurid. Arvuti mälu: klassifikatsioon, hierarhia, tehnoloogiad, mälu organiseerimine. Käsustik ja adresseerimine: käsuformaadid, käsusüsteem, adresseerimise viisid, virtuaalmälu. Mikroarvuti riistvara: arhitektuur, siinid, andmevahetus, mikroarvuti teised komponendid, arvuti jõudluse suurendamine. Sisend/väljund seadmed: klaviatuur, printerid, kuvarid, puuteekraanid, hiir, skänner, analoog liides, toiteplokk ja katkematu toide. Seadmete juhtimise realiseerimine arvutustehnikaga. Spetsiaalne riistvara: realiseerimine, kasutusvaldkonnad. Arvuti algseadistus: BIOS ja UEFI. Arvutite paralleelsus ja Flynn’i taksonoomia. Arvutite veakindlus: füüsilised rikked, riistvara testimine, hästi testitav riistvara, veakindlad koodid.
IAS0150 Digitaalsüsteemid (6 EAP)
Õppejõud:
Peeter Ellervee
Õpetamise semester:
sügis-kevad
Kohustuslik aine:
IACB17/26 Riistvara arendus ja programmeerimine (bakalaureuseõpe)
Täpsem info:
Lühike sisukirjeldus:
Ülevaade digitaalsüsteemidest ja disaini põhietappidest. Loogikafunktsioonide süsteemide teisendamine, optimeerimine ja realiseerimine ette antud tehnoloogiat kasutades. Mäluga süsteemid ning juht- ja operatsioonautomaadid, nende teisendamine, optimeerimine ja realiseerimine. Digitaalsüsteemide arhitektuuride projekteerimine ja optimeerimine. Arvusüsteemid, esitamine digitaalsüsteemides. Peamiste aritmeetikaoperatsioonide ja -algoritmide realiseerimine digitaalsüsteemina. Ülevaade digitaalsüsteemide modelleerimise alustest. Tutvumine riistvara kirjelduskeelega VHDL, selle kasutamine digitaalsüsteemide modelleerimisel.
IAX0600 Digitaalsüsteemide disain (6 EAP)
Õppejõud:
Jaan Raik
Õpetamise semester:
sügis-kevad
Valikaine:
IACB17/26 Riistvara arendus ja programmeerimine (bakalaureuseõpe)
Täpsem info:
Lühike sisukirjeldus:
Ülevaade digitaaldisaini peamistest teemadest. Digitaalsüsteemide projekteermis-metoodika VHDL ja prgrammeeritava loogika (FPGA/PSoC) abil. Realiseerimine väliprogrammeeritaval loogikal (FPGA) ja programmeeritavatel kiipsüsteemidel (PSoC). Digitaalseadmete kiire prototüüpimine.
Kursuse olilisim omadus on pidev hindamine lihtsate kuid täileike miniprojektide abil. Sellised projektid realiseeritakse FPGA/PSOC-l alustades ülesandeks antud spetsifikatsioonist, mille üle arutletakse koos teiste tudengitega.
Kursuse olilisim omadus on pidev hindamine lihtsate kuid täileike miniprojektide abil. Sellised projektid realiseeritakse FPGA/PSOC-l alustades ülesandeks antud spetsifikatsioonist, mille üle arutletakse koos teiste tudengitega.
IAS0550 Kiipsüsteemide disain (6 EAP)
Õppejõud:
Kalle Tammemäe
Õpetamise semester:
sügis
Valikaine:
Eeldusaine:
Digitaalsüsteemide disain VHDL-s (IAS0600)
Täpsem info:
Lühike sisukirjeldus:
Kaasaegsete kiipide - VLSI, ASIC, SoC - projekteerimise metodoloogia, töö etapid ja meeskonnatöö vormid. Automaatprojekteerimis-süsteemid. Riistvara kirjeldamise tasemed - süsteemi, kõrg-, registerülekannete, loogika ja füüsikaline tase. Süsteemi taseme kirjelduskeeled. Erinevate kirjeldustasemete sünteesi ülesanded. Eraldamine, planeerimine ja sidumine kõrgtaseme sünteesis. Hõivamine ja planeerimine süsteemitaseme sünteesis. VLSI, ASIC ja SoC süntees kasutades nüüdisaegseid disainipakette. Prototüüpimine väliprogrammeeritaval loogikal.
IAS0430 Mikroprotsessorsüsteemid (6 EAP)
Õppejõud:
Tara Ghasempouri
Õpetamise semester:
sügis
Valikaine:
IACM23/26 Riistvara arendus ja programmeerimine (magistriõpe)
Täpsem info:
Lühike sisukirjeldus:
Sellel kursusel uurime arvutiarhitektuuride teoreetilisi aluseid, keskendudes mikroprotsessorite ehitusele. Uurime protsessori mooduleid, käsustiku arhitektuuri (ISA) kavandamist ja kasutmaist ning arvutimälu hierarhiat. Teemad katavad ka protsessori tuuma/kasutajatööga seotud arvutiarhitektuurseid otsuseid ning ülevaadet operatsioonisüsteemide loomise, protsesside ja tööde haldamisest ning arvuti aritmeetikast.
IAS0640 Riistvara kirjelduskeel digitaalsüsteemide disainis (6 EAP)
Õppejõud:
Jaan Raik
Õpetamise semester:
sügis
Valikaine:
Täpsem info:
Lühike sisukirjeldus:
Digitaalsüsteemide projekteermis-metoodika SystemVerilog ja prgrammeeritava loogika (FPGA) abil. Realiseerimine väliprogrammeeritaval loogikal (FPGA). Digitaalseadmete kiire prototüüpimine. Digitaalne signaalitöötlus FPGA seadmete abil. Asünkroonsete süsteemide põhialused (süsteemne vaade). Kursuses kasutatakse reaalseid projekte digitaalsüsteemide sünteesi valdkonnast ja analüüsitakse projekteerimisnäiteid. Kursus lõpeb signaalitöötlus-süsteemi projekteerimise miniprojektiga.
IAS0330 Sardsüsteemid (6 EAP)
Õppejõud:
Uljana Reinsalu
Õpetamise semester:
kevad
Kohustuslik aine:
IACM23/26 Riistvara arendus ja programmeerimine (magistriõpe)
Valikaine:
IAFM21/26 Sardsüsteemid (magistriõpe)
Täpsem info:
Lühike sisukirjeldus:
Õpitakse tundma mikrokontrollereid ja arendama kaasaegseid sardsüsteeme reaal-elulistes kasutusvaldkondades arvestades nõudeid jõudlusele, energiatarbele ja töökindlusele. Tähelepanu pööratakse nii mikrokontrollerite programmeerimisele kui arenduskeskkondade kasutamisele sardsüsteemide tarkvara arendamisel, simuleerimisel ja silumisel. Kursuse praktilises osas lahendatakse lihsamalt-keerulisele meetodil mikrokontrolleri liidestamist erinevate perifeeriaseadmetega kuni lihtsustatud reaal-aja operatsioonisüsteemi rakendamiseni.
IAS0230 Sardsüsteemide alused (6 EAP)
Õppejõud:
Uljana Reinsalu
Õpetamise semester:
sügis
Kohustuslik aine:
IACB17/26 Riistvara arendus ja programmeerimine (bakalaureuseõpe)
Valikaine:
Täpsem info:
Lühike sisukirjeldus:
Õppeaine tutvustab tudengitele sardsüsteemide aluseid ja nende loomise meetodeid:
- Sardsüsteemide üldpõhimõtted, erinevused traditsioonilistest arvutisüsteemidest;
- Sardsüsteemide arhitektuurid ja platvormid. Üldised ja rakendus-spetsiifilised arhitektuurid;
- Sardtarkvara erinevused rakendustarkvarast;
- Sardsüsteemide energia- ja võimsustarve, töökindlus ja usaldusväärsus;
- Arusaamine ajast reaalaja sardsüsteemides, arvutusprotsesside ja –ressursside planeerimine;
- Mikrokontrollersüsteemide (ARM Cortex M näitel) arendusvahendid.
- Sardsüsteemide üldpõhimõtted, erinevused traditsioonilistest arvutisüsteemidest;
- Sardsüsteemide arhitektuurid ja platvormid. Üldised ja rakendus-spetsiifilised arhitektuurid;
- Sardtarkvara erinevused rakendustarkvarast;
- Sardsüsteemide energia- ja võimsustarve, töökindlus ja usaldusväärsus;
- Arusaamine ajast reaalaja sardsüsteemides, arvutusprotsesside ja –ressursside planeerimine;
- Mikrokontrollersüsteemide (ARM Cortex M näitel) arendusvahendid.
Tarkvara projekteerimine
IAX0590 Algoritmid ja programmeerimine inseneridele (6 EAP)
Õppejõud:
Vladimir Viies
Lembit Jürimägi
Lembit Jürimägi
Õpetamise semester:
kevad
Kohustuslik aine:
Täpsem info:
Lühike sisukirjeldus:
Algoritmi mõiste, esitamise viisid ja koostamise strateegiad ning erinevad esitamisvahendid. Ülesande jagamine alamülesanneteks.
Keeled. Keelte klassifikatsioon. Algoritmilise keele mõiste.
Arvuti (tarkvara) arhitektuur. Programmi elutsükkel arvutis. Käsurea kasutamine, käsurea argumendid.
Tehete järjekord. Hargnemised (sh ka mitme variandiga). Tsüklid (eel- ja järelkontrolliga).
Arvude teisendamine ühest arvusüsteemist teise. Püsi- ja ujukomaga arvud. Pseudojuhuslikud arvud.
Muutujate deklareerimine. Globaalsed ja lokaalsed muutujad. Erinevad andmetüübid ning nende esitus arvutis. Andmete teisendamine ühest tüübist teise.
Massiivide deklareerimine ja indekseerimine. Mitmedimensionaalsed massiivid. Toimingud massiividega (otsimine, järjestamine, andmete analüüs). Sõnede olemus ja manipuleerimine. Andmete väljastamise formateerimine.
Alamprogrammide loomine, nendevaheline infovahetus (parameetrid, tagastus), väljakutsumine. Muutuja skoop ja eluiga.
Failid, lugemine ja kirjutamine
Keeled. Keelte klassifikatsioon. Algoritmilise keele mõiste.
Arvuti (tarkvara) arhitektuur. Programmi elutsükkel arvutis. Käsurea kasutamine, käsurea argumendid.
Tehete järjekord. Hargnemised (sh ka mitme variandiga). Tsüklid (eel- ja järelkontrolliga).
Arvude teisendamine ühest arvusüsteemist teise. Püsi- ja ujukomaga arvud. Pseudojuhuslikud arvud.
Muutujate deklareerimine. Globaalsed ja lokaalsed muutujad. Erinevad andmetüübid ning nende esitus arvutis. Andmete teisendamine ühest tüübist teise.
Massiivide deklareerimine ja indekseerimine. Mitmedimensionaalsed massiivid. Toimingud massiividega (otsimine, järjestamine, andmete analüüs). Sõnede olemus ja manipuleerimine. Andmete väljastamise formateerimine.
Alamprogrammide loomine, nendevaheline infovahetus (parameetrid, tagastus), väljakutsumine. Muutuja skoop ja eluiga.
Failid, lugemine ja kirjutamine
IAS0410 Objektorienteeritud programmeerimine (6 EAP)
Õppejõud:
Viktor Leppikson
Õpetamise semester:
sügis
Valikaine:
IACM23/26 Riistvara arendus ja programmeerimine (magistriõpe)
Täpsem info:
Lühike sisukirjeldus:
1. Objekt-orienteeritud analüüs ja programmeerimine: põhilised printsiibid ja nende realiseerimine C++ vahenditega.
2. C++ programmeerimise eriküsimusi: operaatorite ümberdefineerimine, mallid, viidad funktioonidele, funktorid, initsialiseerimine, liigutamine jne.
3. C++ klassid sisend-väljund operatsioonideks ja tekstitöötluseks.
4. C++ klassid kellaga töötamiseks.
5. C++ kontainerid ja algoritmid.
6. Paljulõimelised programmid C++-s.
7. Qt raamistik.
2. C++ programmeerimise eriküsimusi: operaatorite ümberdefineerimine, mallid, viidad funktioonidele, funktorid, initsialiseerimine, liigutamine jne.
3. C++ klassid sisend-väljund operatsioonideks ja tekstitöötluseks.
4. C++ klassid kellaga töötamiseks.
5. C++ kontainerid ja algoritmid.
6. Paljulõimelised programmid C++-s.
7. Qt raamistik.
IAX0583 Programmeerimine I (6 EAP)
Õppejõud:
Lembit Jürimägi
Risto Heinsar
Vladimir Viies
Risto Heinsar
Vladimir Viies
Õpetamise semester:
sügis-kevad
Kohustuslik aine:
Aine on eelduseks:
Programmeerimine II (IAX0584)
Programmeerimine III (IAX0586)
Tarkvara projekt (IAS1410)
Programmeerimine III (IAX0586)
Tarkvara projekt (IAS1410)
Täpsem info:
Lühike sisukirjeldus:
Algoritmi mõiste, esitamise viisid ja koostamise strateegiad ning erinevad esitamisvahendid. Ülesande jagamine alamülesanneteks.
Keeled. Keelte klassifikatsioon. Algoritmilise keele mõiste.
Arvuti (tarkvara) arhitektuur. Programmi elutsükkel arvutis. Käsurea kasutamine, käsurea argumendid.
Tehete järjekord. Hargnemised (sh ka mitme variandiga). Tsüklid (eel- ja järelkontrolliga).
Positsioonilised ja mittepositsioonilised arvusüsteemid. Arvude teisendamine ühest arvusüsteemist teise. Püsi- ja ujukomaga arvud. Pseudojuhuslikud arvud.
Muutujate deklareerimine. Globaalsed ja lokaalsed muutujad. Erinevad andmetüübid ning nende esitus arvutis. Andmete teisendamine ühest tüübist teise.
Massiivide deklareerimine ja indekseerimine. Mitmedimensionaalsed massiivid. Toimingud massiividega (otsimine, järjestamine, andmete analüüs). Sõnede olemus ja manipuleerimine. Andmete väljastamise formateerimine.
Kalendriülesanded.
Alamprogrammide loomine, nendevaheline infovahetus (parameetrid, tagastus), väljakutsumine. Muutuja skoop ja eluiga.
Failid, lugemine ja kirjutamine.
Keeled. Keelte klassifikatsioon. Algoritmilise keele mõiste.
Arvuti (tarkvara) arhitektuur. Programmi elutsükkel arvutis. Käsurea kasutamine, käsurea argumendid.
Tehete järjekord. Hargnemised (sh ka mitme variandiga). Tsüklid (eel- ja järelkontrolliga).
Positsioonilised ja mittepositsioonilised arvusüsteemid. Arvude teisendamine ühest arvusüsteemist teise. Püsi- ja ujukomaga arvud. Pseudojuhuslikud arvud.
Muutujate deklareerimine. Globaalsed ja lokaalsed muutujad. Erinevad andmetüübid ning nende esitus arvutis. Andmete teisendamine ühest tüübist teise.
Massiivide deklareerimine ja indekseerimine. Mitmedimensionaalsed massiivid. Toimingud massiividega (otsimine, järjestamine, andmete analüüs). Sõnede olemus ja manipuleerimine. Andmete väljastamise formateerimine.
Kalendriülesanded.
Alamprogrammide loomine, nendevaheline infovahetus (parameetrid, tagastus), väljakutsumine. Muutuja skoop ja eluiga.
Failid, lugemine ja kirjutamine.
IAX0584 Programmeerimine II (6 EAP)
Õppejõud:
Vladimir Viies
Lembit Jürimägi
Risto Heinsar
Lembit Jürimägi
Risto Heinsar
Õpetamise semester:
sügis-kevad
Kohustuslik aine:
Valikaine:
EAAB16/26 Elektroenergeetika ja mehhatroonika (bakalaureuseõpe)
Eeldusaine:
Programmeerimine I (IAX0583)
Aine on eelduseks:
Programmeerimine III (IAX0586)
Python sardsüsteemides (IAS0595)
Python sardsüsteemides (IAS0595)
Täpsem info:
Lühike sisukirjeldus:
Ülevaade struktuursetest andmetüüpidest (kirjed, hulgad, failid).
Objekt-orienteeritud lähenemine programmi koostamisel (klass, objekt, meetod). Kirjed, väljad, varieeruvad kirjed.
Deklareerimine ja käsitlemine. Failid. Tekstifailid ja tüüpfailid, järjestikulised ja otsepöördumisega failid. Faili puhver. Faili avamine (sisestamiseks, väljastamiseks või täiendamiseks) ja sulgemine. Kirjete väljastamine/sisestamine faili/-st. Faili elementide järjestamine, reageerimine tekkivatele erisituatsioonidele. Tekstifaili järjestamise algoritm. Faili järjestamine indeksfaili abil. Faili väline sorteerimine. Rekursioon: otsene- ja kaudne rekursioon. Rekursiooni eelised ja puudused. Infovahetus rekursiooni puhul. Näidisülesanded. Dünaamiline mälujaotus. Viidad, mälu eraldamine ja vabastamine programmitäitmise käigus. Pinu (stack-i) ja järjekorra struktuur. Dünaamilise struktuuri järjestamise algoritm. Andmebaas. Klient-server rakenduste arhitektuur. Klientrakendus. Andmete pärimine SQL-ga. C kasutamine mikroprotsessorite programmeerimisel.
Programmi silumine: skaneerimine, kontrollpunktid, silurid. Programmi komponeerimine. Programmi dokumenteerimine, tarkvaraprojekti koostamine.
Objekt-orienteeritud lähenemine programmi koostamisel (klass, objekt, meetod). Kirjed, väljad, varieeruvad kirjed.
Deklareerimine ja käsitlemine. Failid. Tekstifailid ja tüüpfailid, järjestikulised ja otsepöördumisega failid. Faili puhver. Faili avamine (sisestamiseks, väljastamiseks või täiendamiseks) ja sulgemine. Kirjete väljastamine/sisestamine faili/-st. Faili elementide järjestamine, reageerimine tekkivatele erisituatsioonidele. Tekstifaili järjestamise algoritm. Faili järjestamine indeksfaili abil. Faili väline sorteerimine. Rekursioon: otsene- ja kaudne rekursioon. Rekursiooni eelised ja puudused. Infovahetus rekursiooni puhul. Näidisülesanded. Dünaamiline mälujaotus. Viidad, mälu eraldamine ja vabastamine programmitäitmise käigus. Pinu (stack-i) ja järjekorra struktuur. Dünaamilise struktuuri järjestamise algoritm. Andmebaas. Klient-server rakenduste arhitektuur. Klientrakendus. Andmete pärimine SQL-ga. C kasutamine mikroprotsessorite programmeerimisel.
Programmi silumine: skaneerimine, kontrollpunktid, silurid. Programmi komponeerimine. Programmi dokumenteerimine, tarkvaraprojekti koostamine.
IAX0586 Programmeerimine III (6 EAP)
Õppejõud:
Viktor Leppikson
Õpetamise semester:
sügis
Kohustuslik aine:
IACB17/26 Riistvara arendus ja programmeerimine (bakalaureuseõpe)
Eeldusained:
Programmeerimine I (IAX0583)
Programmeerimine II (IAX0584)
Programmeerimine II (IAX0584)
Aine on eelduseks:
Programmeerimine IV (IAX0587)
Täpsem info:
Lühike sisukirjeldus:
C++ täiendused C-le: mälu küsimine ja vabastamine, Unicode realisatsioon, vaikeväärtused funktsiooni argumentidele, viited, erindid
Objekt-orienteeritud programmeerimise paradigmad ja nende realisatsioon C++-s: klassid, objektid, atribuudid, meetodid, kapseldamine, konstruktor, destruktor, pärimine, polümorfism.
Täiendavad teadmised C++-st: C struct roll C++-s, kopeeriv konstruktor, viit this, sõbrad, operaatorite ülelaadimine, staatilised liikmed, konstantsed objektid, tüübi pööramine, uued võtmesõnad nullptr ja bool.
Enamkasutatavad C++ standardsed klassid: sisend- ja väljundvood, failioperatsioonid C-s ja C++-s, erindid, sõned, klass stingstream.
Lineaarsed andmestruktuurid: ahelloend ja massiiv, operatsioonid ahelloenditega (läbikäik, kirjete lisamine ja kustutamine), mitme viidaga ahelloendid, ringahelloendid, pinu, järjekord.
Mittelineaarsed andmestruktuurid: kahendpuu, operatsioonid kahendpuuga (läbikäik, kirjete lisamine ja eemaldamine), puu tasakaalustamine, AVL puud, bitikaupa operatsioonid, digitaalne otsingupuu, trie tüüpi puud, paljuharulised puud, puna-must puu, prioriteetidega järjekord ja vasakpoolne puu, paiskepaigutus, kokkupõrked ja nendest ülesaamine.
STL algoritmid: viidad funktsioonidele, lambda funktsioonid, mähkivad funktsioonid, standardfunktsioonid find, find_if, for_each, jt.
STL konteinerid: mallid, võtmesõna auto, vektorid, iteraatorid, ühe ja kahe viidaga loendid, abistavad klassid array, stack, queue, jt., paarid, sõnastikud.
Objekt-orienteeritud programmeerimise paradigmad ja nende realisatsioon C++-s: klassid, objektid, atribuudid, meetodid, kapseldamine, konstruktor, destruktor, pärimine, polümorfism.
Täiendavad teadmised C++-st: C struct roll C++-s, kopeeriv konstruktor, viit this, sõbrad, operaatorite ülelaadimine, staatilised liikmed, konstantsed objektid, tüübi pööramine, uued võtmesõnad nullptr ja bool.
Enamkasutatavad C++ standardsed klassid: sisend- ja väljundvood, failioperatsioonid C-s ja C++-s, erindid, sõned, klass stingstream.
Lineaarsed andmestruktuurid: ahelloend ja massiiv, operatsioonid ahelloenditega (läbikäik, kirjete lisamine ja kustutamine), mitme viidaga ahelloendid, ringahelloendid, pinu, järjekord.
Mittelineaarsed andmestruktuurid: kahendpuu, operatsioonid kahendpuuga (läbikäik, kirjete lisamine ja eemaldamine), puu tasakaalustamine, AVL puud, bitikaupa operatsioonid, digitaalne otsingupuu, trie tüüpi puud, paljuharulised puud, puna-must puu, prioriteetidega järjekord ja vasakpoolne puu, paiskepaigutus, kokkupõrked ja nendest ülesaamine.
STL algoritmid: viidad funktsioonidele, lambda funktsioonid, mähkivad funktsioonid, standardfunktsioonid find, find_if, for_each, jt.
STL konteinerid: mallid, võtmesõna auto, vektorid, iteraatorid, ühe ja kahe viidaga loendid, abistavad klassid array, stack, queue, jt., paarid, sõnastikud.
IAX0587 Programmeerimine IV (6 EAP)
Õppejõud:
Viktor Leppikson
Õpetamise semester:
kevad
Valikaine:
IACB17/26 Riistvara arendus ja programmeerimine (bakalaureuseõpe)
Eeldusaine:
Programmeerimine III (IAX0586)
Täpsem info:
Lühike sisukirjeldus:
C++ täiendavad omadused: loendid, täiendavad andmetüübid nagu char32_t jt., tüübi välalugemine andmetest (typeid ja decltype), tehted kompleksarvudega, matemaatika funktsioonide teek, class any, C union, C++ mallid variant ja optional, konstruktori detailid, funktorid, andmete liigutamine, nutikad viidad, ratsionaalarvud, juhuslike arvude genereerimine, töö arvuti kellaga C-s ja C++-s.
STL konteinerid: algväärtuste loendid, numbrite massiivid, mall tuple, hulgad, paiskepaigutuse tabelid.
STL algoritmid: standardfunktsioonid andmete kopeerimiseks, muutmisks ja kustutamiseks.
Mitmelõimelisus: kuidas see arvutis töötab, lõime käivitamine ja peatamine, lõimede sünkroniseerimine, klassid mutex ja conditional_variable, atomaarsed muutujad, tootja-tarbija probleem ja selle lahendused, mallid future ja promise.
DLLid: koostamine ja linkimine.
Qt: installeerimine, arenduskeskkond QtCreator, signaalid ja pesad, sündmused, Qt paljulõimelised programmid, sõne Qt-s, konteierid Qt-s, sisend ja väljund Qt-s, graafilise kasutajaliidese konstrueerimie, ülevaade QML-st.
Uuendused C++ versioon 20-s: coroutine tüüpi funktsioonid, moodulid, vahemikud, väljundi formaatimine, täiendavad sünkroniseerimise vahendid.
Uuendused C++ versioon 23-s.
Ülevaade paralleelsest programmeerimisest OpenMP baasil.
Kiirendid CUDA baasil.
STL konteinerid: algväärtuste loendid, numbrite massiivid, mall tuple, hulgad, paiskepaigutuse tabelid.
STL algoritmid: standardfunktsioonid andmete kopeerimiseks, muutmisks ja kustutamiseks.
Mitmelõimelisus: kuidas see arvutis töötab, lõime käivitamine ja peatamine, lõimede sünkroniseerimine, klassid mutex ja conditional_variable, atomaarsed muutujad, tootja-tarbija probleem ja selle lahendused, mallid future ja promise.
DLLid: koostamine ja linkimine.
Qt: installeerimine, arenduskeskkond QtCreator, signaalid ja pesad, sündmused, Qt paljulõimelised programmid, sõne Qt-s, konteierid Qt-s, sisend ja väljund Qt-s, graafilise kasutajaliidese konstrueerimie, ülevaade QML-st.
Uuendused C++ versioon 20-s: coroutine tüüpi funktsioonid, moodulid, vahemikud, väljundi formaatimine, täiendavad sünkroniseerimise vahendid.
Uuendused C++ versioon 23-s.
Ülevaade paralleelsest programmeerimisest OpenMP baasil.
Kiirendid CUDA baasil.
IAS0450 Programmeerimiskeelte analüüs (6 EAP)
Õppejõud:
Vladimir Viies
Lembit Jürimägi
Lembit Jürimägi
Õpetamise semester:
sügis
Valikaine:
IACM23/26 Riistvara arendus ja programmeerimine (magistriõpe)
Täpsem info:
Lühike sisukirjeldus:
Programmeerimiskeel, programmeerimissüsteem, translaatorid.
Keele süntaks - mõiste, klassifikatsioon, grammatika.
Transleerimine - mõiste, translaatorite tüübid.
Avaldised, süntaksipuud, süntaksiskeemid, translaatorite kirjeldamise keeled.
Keelte põhikonstruktsioonid, nende arengu analüüs.
Pseudokeel ja assembler: konstruktsioonide vastavused.
CISC ja RISC assembleri võrdlus.
Lekser ja parser.
"Hea keele" mõiste (erikeelte võrdlus).
Spetsiaalkeeled (SQL kui keel, põhikonstruktsioonid, SQL ja andmebaasid).
Spetsiaalkeele projekteerimine ja realiseerimine.
Programmeerimise meetodid, struktuurne programmeerimine, objektorienteeritud lähenemisviis.
Tarkvaraprojekti dokumenteerimine.
Keele süntaks - mõiste, klassifikatsioon, grammatika.
Transleerimine - mõiste, translaatorite tüübid.
Avaldised, süntaksipuud, süntaksiskeemid, translaatorite kirjeldamise keeled.
Keelte põhikonstruktsioonid, nende arengu analüüs.
Pseudokeel ja assembler: konstruktsioonide vastavused.
CISC ja RISC assembleri võrdlus.
Lekser ja parser.
"Hea keele" mõiste (erikeelte võrdlus).
Spetsiaalkeeled (SQL kui keel, põhikonstruktsioonid, SQL ja andmebaasid).
Spetsiaalkeele projekteerimine ja realiseerimine.
Programmeerimise meetodid, struktuurne programmeerimine, objektorienteeritud lähenemisviis.
Tarkvaraprojekti dokumenteerimine.
IAS0595 Python sardsüsteemides (3 EAP)
Õppejõud:
Õpetamise semester:
kevad
Valikaine:
IACB17/26 Riistvara arendus ja programmeerimine (bakalaureuseõpe)
Eeldusaine:
Programmeerimine II (IAX0584)
Täpsem info:
Lühike sisukirjeldus:
Aine tutvustab programmeerimiskeelt Python kui sardtarkvara arendaja tööriista. Aine raames tuleb luua etteantud andmeside protokollile sobiv tekstipõhine kasutajaliides. Lisaks tuleb luua graafiline kasutajaliides.
IXX0303 Veebirakenduste välkarendus (6 EAP)
Õppejõud:
Tarmo Robal
Õpetamise semester:
kevad
Valikaine:
IACB17/26 Riistvara arendus ja programmeerimine (bakalaureuseõpe)
Täpsem info:
Lühike sisukirjeldus:
Aine annab oskused ja teadmised veebipõhiste andmetel baseeruvate rakenduste kiirarenduseks Oracle APEX platvormil. Oracle APEX platvorm on low-code (visuaalne dialoogiaknapõhine programmeerimine) platvorm, milles rakenduse loomine toimub veebipõhises keskkonnas läbi dialoogiakende ja hiirega lohistamise (drag&drop, wizards), eeldades keerukamate rakenduste loomiseks vähest programmeerimisoskust. Kursuses tutvustatakse esmalt andmete struktureerimise ja modelleerimise vajalikkust ja võimalusi. Sellele järgneb andmemudeli loomine ja info pärimine andmete veebipõhiseks esitamiseks (raportid, graafikud, dashboard) Oracle APEX platvormil. Kursuse teises osas keskendutakse keerukamate SQL-päringute koostamisele (agregeerimine, alampäringud, andmetöötlus) ning nende rakendamisele low-code veebirakenduste loomisel info kogumiseks, haldamiseks ja esitamiseks erinevatel viisidel.
Usaldusväärsus ja töökindlus
IAS0440 Digitaalsüsteemide modelleerimine ja verifitseerimine (6 EAP)
Õppejõud:
Jaan Raik
Õpetamise semester:
kevad
Valikaine:
Täpsem info:
Lühike sisukirjeldus:
Digitaalsüsteemide modelleerimise ja verifitseerimise alused. Ekvivalentsuskontroll, mudelikontroll, simuleerimine. Verifitseerimismeetodid, simuleerimine versus formaalne verifitseerimine, koodikate, sünteesitavus. Modelleerimis- ja verifitseerimiskeeled - SystemC, SystemVerilog, VHDL, PSL. Kodeerimine verifitseeritavust silmas pidades, probleemid nende keeltega.
IAS0370 Kiipide töökindlus (6 EAP)
Õppejõud:
Maksim Jenihhin
Õpetamise semester:
sügis
Valikaine:
Täpsem info:
Lühike sisukirjeldus:
Õppeaine fookuses on:
- viimased arengud ja väljakutsed kiipide tootmisetehnoloogiates;
- tootmisparameetrite muutlikkusega seotud probleemid;
- tootmisdefektide modelleerimine, testimine ja diagnostika;
- nanoelektroonika vananemise fenomeni modelleerimine, analüüs ja leevendamine (Negative/Positive Bias Temperature Instability, Hot Carrier Injection, Time-Dependent Dielectric Breakdown, Electromigration, jne.);
- radiatsiooni põhjustatud vead (soft errors), nende efektid (single/multiple event upsets, transients, jne.) ning seotud kaitsmise ja maskeerimise tehnikad;
- tehisintellekti riistvaraliste kiirendite töökindlus ja serva-AI
- tööstuslikud standardid riistvara töökindluse tagamiseks;
- tärkavate tehnoloogiate töökindlus.
Praktikumi osaks on katsed kvaliteedi ja töökindluse probleemide simuleerimiseks raalprojekteerimistarkvara abil. Õppeaine osaks on interaktiivne seminar, mis on mõeldud töökindlusega seotud teemade arutamiseks väikestes rühmades.
- viimased arengud ja väljakutsed kiipide tootmisetehnoloogiates;
- tootmisparameetrite muutlikkusega seotud probleemid;
- tootmisdefektide modelleerimine, testimine ja diagnostika;
- nanoelektroonika vananemise fenomeni modelleerimine, analüüs ja leevendamine (Negative/Positive Bias Temperature Instability, Hot Carrier Injection, Time-Dependent Dielectric Breakdown, Electromigration, jne.);
- radiatsiooni põhjustatud vead (soft errors), nende efektid (single/multiple event upsets, transients, jne.) ning seotud kaitsmise ja maskeerimise tehnikad;
- tehisintellekti riistvaraliste kiirendite töökindlus ja serva-AI
- tööstuslikud standardid riistvara töökindluse tagamiseks;
- tärkavate tehnoloogiate töökindlus.
Praktikumi osaks on katsed kvaliteedi ja töökindluse probleemide simuleerimiseks raalprojekteerimistarkvara abil. Õppeaine osaks on interaktiivne seminar, mis on mõeldud töökindlusega seotud teemade arutamiseks väikestes rühmades.
IAS0530 Süsteemide usaldusväärsus ja veakindlus (6 EAP)
Õppejõud:
Gert Jervan
Õpetamise semester:
kevad
Kohustuslik aine:
IAVM23/26 Võrgutehnoloogiad ja -teenused (magistriõpe)
Valikaine:
IACM23/26 Riistvara arendus ja programmeerimine (magistriõpe)
Täpsem info:
Lühike sisukirjeldus:
Ajalooline perspektiiv. Töökindluse põhiterminoloogia. Riskid. Ohud. Riskianalüüs. Ohuanalüüs. Riskidega toimetulemine ja nende vältimine. Ohutus. Süsteemide (kaasa arvatud tarkvara ja riistvara) testimine. Liiasus (riistvara, tarkvara, informatsioon, aeg, keskkond). Süsteemide töökindlust mõjutavad tegurid. Õnnetuste analüüs. Süsteemide ja tehnoloogia analüüs.
Projektid ja praktika
IXX1530 Arvutisüsteemide projekt (6 EAP)
Õppejõud:
Peeter Ellervee
Õpetamise semester:
sügis-kevad
Kohustuslik aine:
IACB17/26 Riistvara arendus ja programmeerimine (bakalaureuseõpe)
Täpsem info:
Lühike sisukirjeldus:
Arvutisüsteemide projekt sisaldab arvutisüsteemide /arvutisüsteemide põhiste tehniliste süsteemide analüüsi- või arendusülesande (näiteks, arvutisüsteemi, sardsüsteemi või küberfüüsikalise süsteemi analüüs; arvutisüsteemi / tehissüsteemi arendus, uurimistöö arvutisüsteemide /tehissüsteemide valdkonnas jt) lahendamist koostöös tellijaga ja/ või meeskonna liikmetega.
Üliõpilased teevad läbi süsteemiarenduse etapid: ülesande analüüs, ülesande dekompositsioon alamülesanneteks, süsteemi arhitektuuri valik, algoritmide valik või loomine, süsteemi programmeerimine, loodud süsteemi töövõimelisuse analüüs konkreetses rakenduses ja võimalikud vajalikud arendused püstitatud ülesande täielikuks lahendamiseks, koostöö tellijaga ja /või meeskonnatöö kasutamine, projekti vormistamine (sh loodud tarkvara dokumenteerimine), projekti esitlemine ja lahenduste kaitsmine.
Üliõpilased teevad läbi süsteemiarenduse etapid: ülesande analüüs, ülesande dekompositsioon alamülesanneteks, süsteemi arhitektuuri valik, algoritmide valik või loomine, süsteemi programmeerimine, loodud süsteemi töövõimelisuse analüüs konkreetses rakenduses ja võimalikud vajalikud arendused püstitatud ülesande täielikuks lahendamiseks, koostöö tellijaga ja /või meeskonnatöö kasutamine, projekti vormistamine (sh loodud tarkvara dokumenteerimine), projekti esitlemine ja lahenduste kaitsmine.
IAS1420 Arvutite ja süsteemide projekt (6 EAP)
Õppejõud:
Peeter Ellervee
Õpetamise semester:
sügis-kevad
Valikaine:
EARB16/26 Tootearendus ja robootika (bakalaureuseõpe)
Täpsem info:
Lühike sisukirjeldus:
Arvutite ja süsteemide – projekt sisaldab arvuti- või süsteemitehnilise (näiteks, arvutite, arvutivõrkude või süsteemide analüüs; arvutite, arvutivõrkude ja süsteemide arhitektuuri, platvormi ja algoritmide valik konkreetse rakenduse jaoks, lihtsamate arvutisüsteemide põhiste tehniliste süsteemide arendus, uurimistöö arvutite ja süsteemide valdkonnas jt.) lahendamist koostöös tellijaga ja /või meeskonna liikmetega. Üliõpilased teevad läbi süsteemiarenduse etapid: ülesande analüüs, ülesande dekomponeerimine alamülesanneteks, sobiva arhitektuuri ja algoritmide valik, loodud süsteemi töövõimelisuse analüüs konkreetses rakenduses, koostöö tellijaga ja /või meeskonnatöö kasutamine, projekti vormistamine, projekti esitlemine ja kasutatud lahenduste kaitsmine.
IAS1610 Kiibidisaini projekt (6 EAP)
Õppejõud:
Jaan Raik
Õpetamise semester:
sügis-kevad
Valikaine:
IACM23/26 Riistvara arendus ja programmeerimine (magistriõpe)
Täpsem info:
Lühike sisukirjeldus:
Projektipõhine õppeaine, kus tudengite rühmale antakse eesmärk digitaal-, analoog- või segasignaal-kiibi projekteerimiseks. Tudengite rühma juhendatakse koos töötama ühise eesmärgi nimel, dokumenteerima projekti arengut ning jäädvustama oma isiklikku panust projekti. Semestripikkuse töö tulemusena valmib kiibi või selle mooduli realiseerimist võimaldav projekt-dokumentatsioon.
UTT0110 Mehhatroonika ja arukate süsteemide projekt (6 EAP)
Õppejõud:
Peeter Ellervee
Õpetamise semester:
kevad
Valikaine:
Täpsem info:
Lühike sisukirjeldus:
Kursus kujutab endast praktilist projekti, kus tudengite meeskond saab lahendamiseks reaalse tööstusliku või teadusliku probleemi, meeskond pakub välja probleemi lahendamise plaani ning kavandab ja realiseerib praktilise lahenduse, milleks on mehhatrooniline süsteem, robot või robot-tehnoloogia või mingi arukas tehnoloogiline süsteem, mis on tehniliselt uus ja omab reaalset väljundit tööstuse jaoks või lahendab teaduslikku probleemi. Projektitöö on organiseeritud meeskonnatööna, kus on nii projektijuht kui ka vastutusvaldkonnad jagatud meeskonnaliikmete vahel projektis ning ka juhendajad projektidel. Projekti lõpus toimub avalik projekti tulemuste esitlus ja seminar tulemiuste aruteluga ning samuti esitatakse projekti lõpus insenerliku artikli trükikõlblik esimene versioon, mis käsitleb projekti tulemusi ja avab lahendusmetoodika ning probleemi tausta.
IAS1410 Tarkvara projekt (6 EAP)
Õppejõud:
Lembit Jürimägi
Õpetamise semester:
sügis-kevad
Kohustuslik aine:
IACB17/26 Riistvara arendus ja programmeerimine (bakalaureuseõpe)
Eeldusaine:
Programmeerimine I (IAX0583)
Täpsem info:
Lühike sisukirjeldus:
Tarkvara-projekt sisaldab infotehnoloogilise ülesande (näit. mini-infosüsteemi loomine, modelleerimisülesanne, uuringuandmete töötlus jt.) kollektiivset lahendamist. Üliõpilased teevad kollektiivselt läbi tarkvaraarenduse etapid: ülesande analüüs ja sobiva tarkvara põhjendatud valik; Ülesande keerukuse taandamine, jagamisega alamülesanneteks ning meeskonnatöö kasutamine; tarkvaraprojekti vormistamine, presenteerimine ja kaitsmine. Projektirühma liikmete töömeetod võib olla kas klassikaline voomeetod, iteratiivne meetod või agiilmeetod.
IAS0110 Tarkvaratehnika (6 EAP)
Õppejõud:
Tarmo Robal
Õpetamise semester:
sügis-kevad
Kohustuslik aine:
IACB17/26 Riistvara arendus ja programmeerimine (bakalaureuseõpe)
Valikaine:
Täpsem info:
Lühike sisukirjeldus:
Kaasaegsete tarkvaraarenduse metoodikate käsitlus. Tarkvara elutsükkel. Elutsükli mudelid: kosemudel, spiraalmudel, iteratiivne ja inkrementaalne mudel. Tarkvara arendusmetoodikad (UP, agiilmetoodikad jne). Modelleerimine ja ühtne modelleerimiskeel UML. Tarkvaratoote ja -protsessi kvaliteediprobleemid. Tarkvaraarenduse küpsusmudelid CMM, CMMI.
Praktikumis: lähteülesande kirjeldamine UML-keeles, kavandamine, realiseerimine komponenttehnoloogias, testimine.
Praktikumis: lähteülesande kirjeldamine UML-keeles, kavandamine, realiseerimine komponenttehnoloogias, testimine.
IAS0720 Tööstuspraktika (6 EAP)
Õppejõud:
Peeter Ellervee
Eduard Petlenkov
Eduard Petlenkov
Õpetamise semester:
sügis-kevad
Kohustuslik aine:
IAFM21/26 Sardsüsteemid (magistriõpe)
Valikaine:
IACM23/26 Riistvara arendus ja programmeerimine (magistriõpe)
Täpsem info:
Lühike sisukirjeldus:
Praktika käigus tutvutakse firma (asutuse) töö- ning tehnoloogiakeskkonnaga. Praktika protsessis toimub teoreetiliste teadmiste kinnistamine ja tööalaste vilumiste omandamine. Osaletakse konkreetse tööprotsessis. Praktika võib toimuda nii tööstusettevõttes kui ka uurimisasutustes, kus üliõpilane osaleb uurimisgrupi töös. Praktika ametikohtadena sobivad töökohad, mis eeldavad erialaste teadmiste omamist ja rakendamist. Praktikaasutustena sobivad arvutisüsteemide projekteerimisega, rakendamise, haldamise ja uurimisega seotud firmad.
Ühele EAP vastab üks nädal tööd praktikakohal osalusteguriga 1,0.
Ühele EAP vastab üks nädal tööd praktikakohal osalusteguriga 1,0.
IAS0730 Õpetamispraktika (6 EAP)
Õppejõud:
Peeter Ellervee
Eduard Petlenkov
Eduard Petlenkov
Õpetamise semester:
sügis-kevad
Valikaine:
IACM23/26 Riistvara arendus ja programmeerimine (magistriõpe)
Täpsem info:
Lühike sisukirjeldus:
Üliõpilane valmistab metoodiliselt ette ning viib läbi teatud osa õppejõuga kokku lepitud kursusest. Üldjuhul on läbiviidava õppetöö sisuks laborite juhendamine ja harjutustundide andmine.