Tarkvaratehnoloogiad

Allikas: Lambda
Redaktsioon seisuga 31. jaanuar 2019, kell 14:23 kasutajalt Tammet (arutelu | kaastöö) (→Arendusprotsess)
Mine navigeerimisribale Mine otsikasti

Ainekood: ITO8020
Link: http://www.lambda.ee/wiki/tarkvaratehnoloogiad
Link ÕISi https://ois.ttu.ee/aine/ito8020
Õppejõud: Tanel Tammet
Kontakt: tanel.tammet@ttu.ee, 6203457, ICT 426

Kursuse eesmärk

Mõista IT-süsteemide tehnoloogilist konstruktsiooni, arendusvahendeid ja arendusprotsesse.

Saada aru riistvara, tarkvara ja kommunikatsiooniprotokollide ehituse põhiideedest.

Mõista

  • tarkvara peamisi arhitektuurivariante,
  • erinevate programmeerimiskeelte olemust,
  • teekide ja raamistike kasutamise üldisi põhimõtteid,
  • erinevate arendusprotsesside ideid.

Maht, aeg, tulemus

Kursus lõpeb eksamiga. Eksam on kirjalik, kaks või enam tundi..

Hindamisel arvestatakse praktikumide tulemusi kaaluga 40% ja eksamitulemusi kaaluga 60%.

Praktilised ülesanded

Kursuse kodu-või-praktikumiülesandeks on reaalse rakenduse ehitamine, mis kuvab kasutajale lihtsa veebirakendusena mõistetavalt ja otsitavalt mingit reaalset andmestikku, mis on soovitavalt teie enda töökohast pärit. Kui sa sobivat andmestikku oma töökohast ei leia, vali mõni töödeldav ja huvitav andmestik eesti avaandmete portaalist.

Väga soovitavalt tuleks tulemus panna üles avalikku veebiserverisse (soovitus: digitalocean ja kood avalikku koodihoidlasse (soovitus: github).

Github on tasuta, digitalocean annab alustajatele ca 100 USD krediiti ja lisaks on olemas Github student pack, mis sisaldab ca 50 USD digitaloceani krediiti. Rangelt kohustuslik avaliku veebiserveri ja githubi kasutamine ei ole: väiksema arvu punkte saab praktikumist ka siis, kui realiseerid kõik lihtsalt oma arvutis ja ei pane kuhugi üles.

Praktikumi töökorraldus

Ülesannet võib teha üksi või kahekesi.

Kursuse praktikumipäevadel tegelemegi selle ülesande etappidega, ning iga etapi/praktikumipäeva lõpuks vaatame üle hetkeseisu ja anname esialgsed hinnangud, kui kaugele on jõutud ja mis on edasised sammud, veidi sarnaselt tüüpiliste agiilse arenduse hetkeseisu-koosolekutega.

Selleks peab iga grupp tegema praktikumipäeva lõpus üheminutise ettekande, kus on öeldud:

  • mida sel päeval üritati teha ja kuhu jõuti
  • mis on plaan järgmise praktikumikorraga saavutada

Lõpp-presentatsioon viimasel päeval peaks olema pikem, ca 5 minutit, ja kirjeldama

  • mis oli algne plaan
  • kuhu jõuti: reaalne demo
  • probleemid, mis tekkisid ja võtsid rohkem aega
  • ootamatud asjad, mida töö käigus õppisite või tähele panite

Põhiplaan praktikumipäevade kaupa on järgmine, kuid väga soovitav on neid samme kiiremini teha.

1. päev: ülesande valik, soovitud tulemuse kirjeldus, keskkonna ülesseadmine

  • Otsi andmestik, uuri, kas see on sulle kättesaadav/töödeldav.
  • Otsusta, kuidas seda avalikkusele ilusamini kuvada ja millised filtrid/valikud lasta kasutajatel teha.
  • Installeeri endale sobiv tekstiredaktor, Python, Flask.
  • Tee konto (soovitavalt) digitaloceani serverisse ja githubi koodihoidlasse.
  • Logi serverisse sisse, kopeeri sinna katseks faile, pane katseks faile githubi.

2. päev: andmete töötlemine ja baasi panek, esmase html lehe tegemine serveris

3. päev: veebilehe kasutajaliidese tegemine ja seostamine andmebaasiga

4. päev: puhver, kujunduse parandamine, lisafunktsioonide ehitamine, lõpp-presentatsioon

Loengud ja materjalid

Loengud on salvestatud youtube klippidena, iga loenguga on seotud presentatsioon ja soovitavad täiendavad materjalid ja lingid.

Videoloengute youtube üldlisti järjekord on suvaline, kasuta pigem allolevaid linke õiges järjekorras.

Sissejuhatus ja põhimõisted

Kuidas arvuti töötab

Soovitavalt loe veel:

Interneti funktsioneerimine

Programmeerimise sissejuhatus Pythonis

Veebilehed

Server ja veebirakendus

Andmebaasiga serverirakenduse ehitamine

Tehisintellekt

Arendusvahendid ja arhitektuur

Arendusprotsess

Loe kõik need artiklid kursuse käigus läbi: