Tarkvaratehnoloogiad: erinevus redaktsioonide vahel
| (ei näidata 2 kasutaja 138 vahepealset redaktsiooni) | |||
| 10. rida: | 10. rida: | ||
Õppejõud: [http://www.facebook.com/tanel.tammet Tanel Tammet]<br> | Õppejõud: [http://www.facebook.com/tanel.tammet Tanel Tammet]<br> | ||
Kontakt: tanel.tammet@ttu.ee, 6203457, ICT 426<br> | Kontakt: tanel.tammet@ttu.ee, 6203457, ICT 426<br> | ||
Varasemast: [[Tarkvaratehnoloogiad 2019 aasta arhiiv]] | |||
</td> | </td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
== Kursuse eesmärk == | == <font color="red">Eksamid ja hindamine</font> == | ||
Eksamid toimuvad sel aastal ainult kaugtööna ja kirjalikult: eksami algusajaks paneb õppejõud küsimused/ülesanded siia wikilehele | |||
ning kolme tunni jooksul tuleb saata emailiga vastused. Eksamile registeeruda ei ole vaja. | |||
Eksamiajad on järgmised: | |||
* Kolmapäev, 20 mai, kell 10:00 [[Tarkvaratehnoloogiad 20 mai eksami tulemused]]<!-- ja <font color="red">ülesanded</font>: [[Tarkvaratehnoloogiad eksam 20 mai 2020]] --> | |||
* Neljapäev 28 mai, kell 17:00 [[Tarkvaratehnoloogiad 28 mai eksami tulemused]] <!-- <font color="red">ülesanded</font>: [[Tarkvaratehnoloogiad eksam 28 mai 2020]] --> | |||
* Neljapäev 4 juuni, kell 15:00 [[Tarkvaratehnoloogiad 4 juuni eksami tulemused]]<!-- <font color="red">ülesanded</font>: [[Tarkvaratehnoloogiad eksam 4 juuni 2020]] --> | |||
Igaüks võib osaleda kas ühel või kahel eksamil oma valitud päevadel. Täiendavaid päevi ehk hilisemaid järeleksameid ei ole. | |||
Nagu algselt planeeritud, annavad praktikumid 40% tulemusest ja eksam 60% (ehk, punktid liidetakse kokku) ja hindeskaalad | |||
on 50-59 punkti 1, ..., 90-100 punkti 5. | |||
Eksami sisu erineb veidi algselt planeeritust. Küsimused jagunevad nelja liigi vahel: | |||
* Mikroesseed/seletused a la pool lehekülge õppejõu valitud konkreetsetel teemadel/küsimustel õppematerjalide või kohustusliku kirjanduse seast. | |||
* Ülesanne pakkuda välja arhitektuuriline ja tehnoloogiline lahendus mingile suhteliselt väikesele tarkvara-loomise probleemile, seda lahendust põhjendada ja tuua välja orienteeruv töömaht lahenduse eri osadele ja võimalikud riski- ning keerukuskohad. | |||
* Etteantud programmi/päringu/veebilehe jupi toimimise seletamine: siin tulevad ainult praktikumides või kursusematerjalides pikemalt läbikäidud keeltes kirjutatud jupid. | |||
* Pisiülesanded: veebijupi tegemine ja pisiprogrammi kirjutamine. Õppejõud neid käima ei pane ja vead on lubatud. | |||
Eksamil võib kasutada materjale, arvutit ja googlit. Teiste tudengite või muude inimestega konsulteerimine ei ole lubatud (see on nüüd puhtalt aususe peale). | |||
=== <font color="red">Praktikumi hinded</font> === | |||
{|class="wikitable" | |||
!kood!!hinne | |||
|- | |||
|191887IADM||35 | |||
|- | |||
|191886IADM||35 | |||
|- | |||
|191830IADM||31 | |||
|- | |||
|191845IADM||36 | |||
|- | |||
|191893IADM||36 | |||
|- | |||
|191902IADM||34 | |||
|- | |||
|191882IADM||34 | |||
|- | |||
|191869IADM||42 | |||
|- | |||
|191793IADM||42 | |||
|- | |||
|191852IADM||34 | |||
|- | |||
|191816IADM||32 | |||
|- | |||
|191898IADM||32 | |||
|- | |||
|191889IADM||33 | |||
|- | |||
|191897IADM||33 | |||
|- | |||
|191908IADM||40 | |||
|- | |||
|191788IADM||40 | |||
|- | |||
|191811IADM||40 | |||
|- | |||
|191894IADM||34 | |||
|- | |||
|191934IADM||34 | |||
|- | |||
|191836IADM||38 | |||
|- | |||
|191844IADM||38 | |||
|- | |||
|191835IADM||40 | |||
|- | |||
|191770IADM||40 | |||
|- | |||
|191850IADM||38 | |||
|- | |||
|191822IADM||38 | |||
|- | |||
|191840IADM||33 | |||
|- | |||
|191896IADM||40 | |||
|- | |||
|191891IADM||40 | |||
|- | |||
|191904IADM||40 | |||
|- | |||
|191806IADM||31 | |||
|- | |||
|191832IADM||31 | |||
|- | |||
|191795IADM||36 | |||
|- | |||
|191847IADM||36 | |||
|- | |||
|191901IADM||38 | |||
|- | |||
|191826IADM||38 | |||
|- | |||
|191853IADM||37 | |||
|- | |||
|191818IADM||37 | |||
|- | |||
|191865IADM||33 | |||
|- | |||
|191877IADM||33 | |||
|- | |||
|191782IADM||39 | |||
|- | |||
|191817IADM||39 | |||
|- | |||
|191789IADM||40 | |||
|- | |||
|191864IADM||40 | |||
|- | |||
|191905IADM||37 | |||
|- | |||
|191781IADM||34 | |||
|- | |||
|191885IADM||34 | |||
|- | |||
|200607IADM||38 | |||
|- | |||
|191787IADM||31 | |||
|- | |||
|191809IADM||32 | |||
|- | |||
|191823IADM||32 | |||
|- | |||
|191849IADM||34 | |||
|- | |||
|191876IADM||34 | |||
|- | |||
|191825IADM||33 | |||
|- | |||
|191831IADM||40 | |||
|- | |||
|191794IADM||40 | |||
|- | |||
|191858IADM||40 | |||
|- | |||
|191777IADM||35 | |||
|} | |||
<!-- == Õppetöö piiranguajal == | |||
Viimane praktilise töö sessioon [http://lambda.ee/wiki/Tarkvaratehnoloogia_praktikumide_etapid#5._p.C3.A4ev:_edasiarenduse_planeerimine.2C_vigade_ja_puuduste_parandamine.2C_ettekanne (vaata siit päeva eesmärke)] toimub videokõnena tavalisel planeeritud ajal, kus | |||
* püüame videosse lülitada korraga võimalikult palju tudengeid: hetkel ei oska öelda, millised tehnilised piirangud võivad tekkida | |||
* iga grupp teeb ettekande, nagu plaanis | |||
* saame ettekannet kommenteerida ja arutada, nagu plaanis | |||
--> | |||
<!-- | |||
== Harjutuspäev 26. märtsil kell 16 == | |||
Hetkel on käimas Skype lingil https://join.skype.com/opDZxYJUcugu ja kui ei õnnestu, kirjutage palun tanel.tammet@taltech.ee | |||
<font color="red">NB!</font> Esialgu ei nõustunud Skype link ega Slack töötama: mõlemid ütlesid "expired". Loodetavasti ülevalolev link nüüd käib ok. | |||
-> | |||
<!-- | |||
Videokõne tehnoloogiaks kasutame Skype: palun ühenda selle lingi kaudu: | |||
https://join.skype.com/oCHi7R9GBJmD | |||
--> | |||
<!-- | |||
Kui keegi ei ole Skype tükk aega kasutanud, palun uuendage oma Skype ja tehke katseks mõne teise skypekasutajaga videokõne, et heli/pilt käima seadistada. | |||
Enne ettekandeid saab õppejõuga viimase praksi ajal konsulteerida samuti videokõne abil. | |||
Palume grupiliikmetel ühine töö korraldada teile endile mugavamal viisil. | |||
Probleemide korral kirjutage palun tanel.tammet@ttu.ee või radu.prekup@gmail.com. | |||
--> | |||
== Slacki kanal == | |||
Liituge Slack jututoaga: | |||
* [https://join.slack.com/t/taltechtarkva-acc6522/shared_invite/zt-d2xnz3hh-LqNTq9V1dwkxp1YNZv9wVg jututoa link] | |||
== Kursuse eesmärk ja põhimõtted == | |||
Mõista IT-süsteemide tehnoloogilist konstruktsiooni, arendusvahendeid ja arendusprotsesse. | Mõista IT-süsteemide tehnoloogilist konstruktsiooni, arendusvahendeid ja arendusprotsesse. | ||
| 26. rida: | 203. rida: | ||
* erinevate arendusprotsesside ideid. | * erinevate arendusprotsesside ideid. | ||
== | Kursuse raames ülikoolis kohapeal loenguid ei toimu: kõik loengud on varasemalt salvestatud videosse, | ||
ja lisatud presentatsioon, vaata siin lehel allpool. | |||
Kohapealne töö (praktikum/konsultatsioon) on mõeldud eeskätt praktilise arenduskogemuse saamiseks, | |||
eesmärgiga omaenda katsetuste najal tekitada arusaamine, mismoodi praktiline arendusprotsess toimub, | |||
mida ja kuidas standardtehnoloogiatega teha saab, mis on keeruline ja mis lihtne. | |||
Kohapealne praktiline töö eeldab varasemat tutvumist osade allpool toodud teemadega. | |||
Esimeseks praktikumiks oleks väga soovitav vaadata/lugeda läbi allpool materjalid teemadel | |||
* Veebilehed (tingimata) | |||
* Programmeerimise sissejuhatus Pythonis (soovitav) | |||
== Praktikumi/konsultatsiooni ajad == | |||
Eri rühmadel neljapäeviti ja reedeti ruumis ICT-501: | |||
B-rühm (IADM20B) neljapäeviti: | |||
* 30.01.2020 kl 16-20.30 | |||
* 13.02.2020 kl 16-20.30 | |||
* 27.02.2020 kl 16-20.30 | |||
* 12.03.2020 kl 16-20.30 | |||
* 26.03.2020 kl 16-20.30 | |||
A-rühm (IADM20A) reedeti: | |||
* 31.01.2020 kl 15-19.30 | |||
* 14.02.2020 kl 15-19.30 | |||
* 28.02.2020 kl 15-19.30 | |||
* 13.03.2020 kl 15-19.30 | |||
* 27.03.2020 kl 15-19.30 | |||
Kursuse kodu-või-praktikumiülesandeks on reaalse rakenduse ehitamine, mis kuvab kasutajale | == Praktiline ülesanne == | ||
<!-- | |||
NB! Esimese praktikumi eel on väga soovitav tutvuda allpool klippide ja materjalidega teemadel "veebilehed" (tingimata) | |||
ja "programmeerimise sissejuhatus Pythonis" (soovitav) | |||
--> | |||
Kursuse kodu-või-praktikumiülesandeks on (a) reaalse rakenduse planeerimine ja ehitamine, mis kuvab kasutajale veebis mõistetavalt ja otsitavalt ja/või sorteeritavalt 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 [https://opendata.riik.ee/ eesti avaandmete portaalist], (b) edasiarenduse planeerimine hüpoteetiliseks tellimiseks. | |||
Soovitav on tulemus panna üles avalikku pilveserverisse (soovitus: [http://digitalocean.com digitalocean]) ja kood avalikku koodihoidlasse (soovitus: [http://github.com github]). Alternatiiv on panna tulemus dijkstra serverisse Taltechis. | |||
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. | 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. | ||
| 44. rida: | 251. rida: | ||
Ülesannet võib teha üksi või kahekesi. | Ülesannet võib teha üksi või kahekesi. | ||
Kursuse praktikumipäevadel | Kursuse praktikumipäevadel tegeleme teie projekti realiseerimise 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 | Selleks peab iga grupp tegema praktikumipäeva lõpus paariminutise ettekande, kus on öeldud: | ||
* grupi liikmete nimed | |||
* mida sel päeval üritati teha ja kuhu jõuti | * mida sel päeval üritati teha ja kuhu jõuti | ||
* mis on plaan järgmise praktikumikorraga saavutada | * mis on plaan järgmise praktikumikorraga saavutada | ||
Praktikumijuhendaja hindab iga päeva progressi. | |||
Lõpp-presentatsioon viimasel päeval peaks olema pikem, ca viisteist minutit. | |||
Praktikumi kogutulemusest on arvestuslikult ca 50% lõpptulemus ja teine ca 50% esimese nelja päeva tulemused. | |||
=== Praktikumi etapid === | |||
Jagame töö etapiviisi viiele praktikumi päevale: nende jaoks on eraldi wikileht: | |||
[[tarkvaratehnoloogia praktikumide etapid]]. | |||
== Loengud ja materjalid == | == Loengud ja materjalid == | ||
| 87. rida: | 286. rida: | ||
* [[Media:tt_protsessor.ppt|Protsessor]] ja [https://www.youtube.com/watch?v=dMawoey6TCE&index=3&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | * [[Media:tt_protsessor.ppt|Protsessor]] ja [https://www.youtube.com/watch?v=dMawoey6TCE&index=3&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | ||
* Eelmise presentatsiooni lõpuosa ja seejärel [http://skilldrick.github.io/easy6502/ reaalne näide protsessori käskudega]: [https://www.youtube.com/watch?v=vid3W9E_z-w&index=4&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | * Eelmise presentatsiooni lõpuosa ja seejärel [http://skilldrick.github.io/easy6502/ reaalne näide protsessori käskudega]: [https://www.youtube.com/watch?v=vid3W9E_z-w&index=4&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | ||
Soovitavalt loe veel: | |||
* [https://blog.codinghorror.com/the-infinite-space-between-words/ The infinite space between words] | |||
* [https://news.ycombinator.com/ võibolla peamine arendajate üldhuvi-uudistesait]: loe seda iga päev! | |||
=== Interneti funktsioneerimine === | === Interneti funktsioneerimine === | ||
| 97. rida: | 300. rida: | ||
* [[Media:tt_programmeerimise_sissejuhatus.pptx|Programmeerimise sissejuhatus]]: [https://www.youtube.com/watch?v=whyQ6Y9pUvY&t=0s&index=11&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | * [[Media:tt_programmeerimise_sissejuhatus.pptx|Programmeerimise sissejuhatus]]: [https://www.youtube.com/watch?v=whyQ6Y9pUvY&t=0s&index=11&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | ||
* Programmeerimine 2: python [https://www.youtube.com/watch?v=KiXcqKc8MMo&t=0s&index=10&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | * Programmeerimine 2: python [https://www.youtube.com/watch?v=KiXcqKc8MMo&t=0s&index=10&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | ||
* Programmeerimine 3: tingimused, tsüklid, funktsioonid: [https://www.youtube.com/watch?v=-JNGmN_voBA&t=0s&index=20&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | * Programmeerimine 3: tingimused, tsüklid, funktsioonid: [https://www.youtube.com/watch?v=-JNGmN_voBA&t=0s&index=20&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | ||
* Programmeerimine 4: failitöötlus [https://www.youtube.com/watch?v=fUWTsE9nfXM&t=0s&index=13&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | * Programmeerimine 4: failitöötlus [https://www.youtube.com/watch?v=fUWTsE9nfXM&t=0s&index=13&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] ja [[failitöötluse näitekood pythonis]] | ||
* Programmeerimine 5: andmeimport ja andmete seostamine [https://www.youtube.com/watch?v=xBXvsSeNTpk&t=0s&index=14&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | * Programmeerimine 5: andmeimport ja andmete seostamine [https://www.youtube.com/watch?v=xBXvsSeNTpk&t=0s&index=14&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | ||
Vajalik Pythoni tarkvara: | |||
* [http://python.org Pythoni põhisait] | |||
* [https://realpython.com/installing-python/ Päris OK installerimise õpetus] | |||
* Failid [https://www.python.org/downloads/release/python-381/ võta selle lehe allosast] | |||
Head pikemad õpetused: | |||
* Kõige lihtsam: [https://www.w3schools.com/python/default.asp w3schools python] | |||
* Veidi keerulisem: [https://docs.python.org/3/tutorial/index.html tutorial pythoni lehel] | |||
* [https://progeopik.cs.ut.ee Eestikeelne õpik] | |||
Tekstiredaktorid: | |||
* päris rikkalik: [https://code.visualstudio.com/ vs code] | |||
* keskmiselt rikkalik: [https://atom.io/ atom] | |||
* üpris minimaalne: [https://notepad-plus-plus.org/ notepad++] | |||
* eriti minimaalne: [https://www.scintilla.org/SciTE.html scite] | |||
=== Veebilehed === | === Veebilehed === | ||
| 105. rida: | 327. rida: | ||
* [[Media:tt_veeb.pptx|Sissejuhatus teemasse]] | * [[Media:tt_veeb.pptx|Sissejuhatus teemasse]] | ||
* Esimene osa, html: [https://www.youtube.com/watch?v=tXrYZ7hcF2Y&index=7&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | * Esimene osa, html: [https://www.youtube.com/watch?v=tXrYZ7hcF2Y&index=7&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | ||
* Teine osa, css: [https://www.youtube.com/watch?v= | * Teine osa, css: [https://www.youtube.com/watch?v=6ACCz9wwLCQ&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO&index=8 video] | ||
* Kolmas osa, javascript: [https://www.youtube.com/watch?v=ub32ImHktu8&t=0s&index=8&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | * Kolmas osa, javascript: [https://www.youtube.com/watch?v=ub32ImHktu8&t=0s&index=8&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | ||
Kõige paremad veebiehituse õpetused algajale on [https://www.w3schools.com/ w3schools saidil] | |||
Üleüldine peamine küsimuste/vastuste sait on [https://stackoverflow.com/ stackoverflow]. | |||
=== Server ja veebirakendus === | === Server ja veebirakendus === | ||
* [[Media:tt_server.pptx|Põhipunktid ja koodinäited]] | * [[Media:tt_server.pptx|Põhipunktid ja koodinäited]]. | ||
* Esimene osa, server ja veebiteenus: [https://www.youtube.com/watch?v=z51YWLfbv4Y&t=0s&index=15&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | * Esimene osa, server ja veebiteenus: [https://www.youtube.com/watch?v=z51YWLfbv4Y&t=0s&index=15&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | ||
* Teine osa, veebirakendus: [https://www.youtube.com/watch?v=lq0WeTzye9I&t=0s&index=19&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | * Teine osa, veebirakendus: [https://www.youtube.com/watch?v=lq0WeTzye9I&t=0s&index=19&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | ||
Flask server: | |||
* Kasutame Pythoni populaarset micro-frameworki [http://flask.pocoo.org Flask] | |||
* Sul peab olema Windowsil käsurealt käivitatav python ja pip. pip on levinuim Pythoni moodulite installeerimise-programm. | |||
* Ütle käsurealt: <tt>pip install flask</tt> | |||
* Flask veel ise käima ei lähe: loe presentatsioonist edasi. | |||
* NB! Kui paned oma flaski abil tehtud serveriprogrammi serverisse tööle, siis viimase asjana kirjuta app.run(debug=True, port=5000, host='0.0.0.0') kus on näidetega võrreldes lisaks host=... : see lubab väljapoolt serverit ligi pääseda. | |||
=== Andmebaasiga serverirakenduse ehitamine === | === Andmebaasiga serverirakenduse ehitamine === | ||
* [[Media:tt_sql.pptx|Andmebaasid]] | * [[Media:tt_sql.pptx|Andmebaasid]] | ||
* | |||
* Andmebaasid ja SQL [https://www.youtube.com/watch?v=K8yQrsDy2dc&t=0s&index=18&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | |||
* Serverirakendus ja SQL 1. osa [https://www.youtube.com/watch?v=4CZ5LuWGQJc&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO&index=16 video] | |||
* Serverirakendus ja SQL 2. osa [https://www.youtube.com/watch?v=nrazU1aKLzI&t=0s&index=16&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | * Serverirakendus ja SQL 2. osa [https://www.youtube.com/watch?v=nrazU1aKLzI&t=0s&index=16&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | ||
* Soovitavalt uuri veidi: [https://www.w3schools.com/sql/sql_intro.asp w3schools SQL tutorial] | |||
* Näited: | |||
**[[sql insert-lausete näited andmete sisestamiseks|Tabelite tegemise ja andmete sisestamise näited]] | |||
** [[sqlite andmebaasi tegemine ja kasutamine Pythonist]] | |||
** [[blogiprogramm]] | |||
=== Tehisintellekt === | === Tehisintellekt === | ||
| 124. rida: | 365. rida: | ||
* [[Media:tt_tehisintellekt.pptx|Tehisintellekt]] ja [https://www.youtube.com/watch?v=USEUHWOwX8Q&t=0s&index=22&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | * [[Media:tt_tehisintellekt.pptx|Tehisintellekt]] ja [https://www.youtube.com/watch?v=USEUHWOwX8Q&t=0s&index=22&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | ||
=== Arendusvahendid ja arhitektuur === | Soovitavalt vaata ja loe lisaks: | ||
* Boston Dynamics [http://www.youtube.com/watch?v=ae06LFa3i38 robot donkey (aka big dog) varane], [http://www.youtube.com/watch?v=BtRnzlO7m_M big dog praegu], [http://www.youtube.com/watch?v=chPanW0QWhA Cheetah], [http://www.youtube.com/watch?v=wE3fmFTtP9g Wildcat],[http://www.youtube.com/watch?v=tFrjrgBV8K0 Petman], [http://www.youtube.com/watch?v=SD6Okylclb8 Atlas] | |||
<!-- * [https://www.tastehit.com/blog/google-deepmind-alphago-how-it-works/ Kuidas AlphaGo töötab] --> | |||
* Darpa [http://en.wikipedia.org/wiki/DARPA_Grand_Challenge grand challenge 2005] ja [http://archive.darpa.mil/grandchallenge/ urban challenge] | |||
* [http://idlewords.com/talks/superintelligence.htm Miks mitte karta super-tehisintellekti] | |||
* [https://en.wikipedia.org/wiki/Rodney_Brooks Rodney Brooksi] väike tehisintellekti-sari [https://rodneybrooks.com/forai-steps-toward-super-intelligence-ii-beyond-the-turing-test/ osa 1], [https://rodneybrooks.com/forai-steps-toward-super-intelligence-ii-beyond-the-turing-test/ osa 2], [https://rodneybrooks.com/forai-steps-toward-super-intelligence-iii-hard-things-today/ osa 3], [https://rodneybrooks.com/forai-steps-toward-super-intelligence-iv-things-to-work-on-now/ osa 4] | |||
<!-- õppejõu pikem [https://www.youtube.com/watch?v=ftYrfTo_W2E tehisintellektiteemaline vestlus] "intrigeeriva pärastlõuna" podcastisarjas. --> | |||
=== Arendusvahendid, programmeerimiskeeled ja arhitektuur === | |||
* [[Media:tt_arendusvahendid.pptx|Arendusvahendid]] [https://www.youtube.com/watch?v=zHGPqdft8yk&t=0s&index=25&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | * [[Media:tt_arendusvahendid.pptx|Arendusvahendid]] [https://www.youtube.com/watch?v=zHGPqdft8yk&t=0s&index=25&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | ||
| 132. rida: | 382. rida: | ||
=== Arendusprotsess === | === Arendusprotsess === | ||
* [[Media:tt_arendusprotsess.pptx|Arendusprotsess]] [https://www.youtube.com/watch?v=_GERtMiNcX4&t=0s&index=26&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | * [[Media:tt_arendusprotsess.pptx|Arendusprotsess]] ja [https://www.youtube.com/watch?v=_GERtMiNcX4&t=0s&index=26&list=PLZeidq-Hdjf4vhaZUuE0BwrYDaJTKWKBO video] | ||
Loe (pikemad sirvi) need arendusprotsessiga seotud artiklid kursuse käigus läbi. Nende kõigi kohta võidakse eksamil küsida lugemiskontrolli-küsimusi. | |||
* Paul Graham [http://paulgraham.com/hp.html Hackers and painters] | |||
* Paul Graham: [http://www.paulgraham.com/start.html How to start a startup?] | |||
* Paul Graham: [http://www.paulgraham.com/gh.html Great hackers] | |||
* Joel Spolsky: [https://www.joelonsoftware.com/2002/02/13/the-iceberg-secret-revealed/ The iceberg secret revealed] | |||
* Joel Spolsky: [http://www.joelonsoftware.com/articles/fog0000000043.html IT firma töökorraldus: 12 sammu] | |||
* [https://agilemanifesto.org/ Agiilarenduse manifest] ja [https://agilemanifesto.org/principles.html selle lisapunktid] | |||
* Paul Reeves: [http://www.developerdotstar.com/mag/articles/reeves_design.html What is software design?] vana artikkel ja [http://www.developerdotstar.com/mag/articles/reeves_13yearslater.html What Is Software Design: 13 Years Later] | |||
* Gnu manifest [http://www.gnu.org/philosophy/free-sw.html The Free Software Definition] ja [https://www.gnu.org/licenses/license-list.en.html Gnu ülevaade litsentsidest] | |||
* Fred Brooks 1986: [http://www.cs.nott.ac.uk/~cah/G51ISS/Documents/NoSilverBullet.html No Silver Bullet] | |||
* [https://zwischenzugs.com/2017/10/15/my-20-year-experience-of-software-development-methodologies/ 20 aastat kogemust tarkvara arendusmeetoditega] | |||
<!-- [[Tarkvaratehnoloogiad eksam 20 mai 2020]] --> | |||
[[Tarkvaratehnoloogiad eksam 20 mai 2020]] [[Tarkvaratehnoloogiad eksam 28 mai 2020]] - | |||
[[Category:Kursus]] | [[Category:Kursus]] | ||
Viimane redaktsioon: 4. juuni 2020, kell 17:38
|
Ainekood: ITO8020 |
Eksamid ja hindamine
Eksamid toimuvad sel aastal ainult kaugtööna ja kirjalikult: eksami algusajaks paneb õppejõud küsimused/ülesanded siia wikilehele ning kolme tunni jooksul tuleb saata emailiga vastused. Eksamile registeeruda ei ole vaja.
Eksamiajad on järgmised:
- Kolmapäev, 20 mai, kell 10:00 Tarkvaratehnoloogiad 20 mai eksami tulemused
- Neljapäev 28 mai, kell 17:00 Tarkvaratehnoloogiad 28 mai eksami tulemused
- Neljapäev 4 juuni, kell 15:00 Tarkvaratehnoloogiad 4 juuni eksami tulemused
Igaüks võib osaleda kas ühel või kahel eksamil oma valitud päevadel. Täiendavaid päevi ehk hilisemaid järeleksameid ei ole.
Nagu algselt planeeritud, annavad praktikumid 40% tulemusest ja eksam 60% (ehk, punktid liidetakse kokku) ja hindeskaalad on 50-59 punkti 1, ..., 90-100 punkti 5.
Eksami sisu erineb veidi algselt planeeritust. Küsimused jagunevad nelja liigi vahel:
- Mikroesseed/seletused a la pool lehekülge õppejõu valitud konkreetsetel teemadel/küsimustel õppematerjalide või kohustusliku kirjanduse seast.
- Ülesanne pakkuda välja arhitektuuriline ja tehnoloogiline lahendus mingile suhteliselt väikesele tarkvara-loomise probleemile, seda lahendust põhjendada ja tuua välja orienteeruv töömaht lahenduse eri osadele ja võimalikud riski- ning keerukuskohad.
- Etteantud programmi/päringu/veebilehe jupi toimimise seletamine: siin tulevad ainult praktikumides või kursusematerjalides pikemalt läbikäidud keeltes kirjutatud jupid.
- Pisiülesanded: veebijupi tegemine ja pisiprogrammi kirjutamine. Õppejõud neid käima ei pane ja vead on lubatud.
Eksamil võib kasutada materjale, arvutit ja googlit. Teiste tudengite või muude inimestega konsulteerimine ei ole lubatud (see on nüüd puhtalt aususe peale).
Praktikumi hinded
| kood | hinne |
|---|---|
| 191887IADM | 35 |
| 191886IADM | 35 |
| 191830IADM | 31 |
| 191845IADM | 36 |
| 191893IADM | 36 |
| 191902IADM | 34 |
| 191882IADM | 34 |
| 191869IADM | 42 |
| 191793IADM | 42 |
| 191852IADM | 34 |
| 191816IADM | 32 |
| 191898IADM | 32 |
| 191889IADM | 33 |
| 191897IADM | 33 |
| 191908IADM | 40 |
| 191788IADM | 40 |
| 191811IADM | 40 |
| 191894IADM | 34 |
| 191934IADM | 34 |
| 191836IADM | 38 |
| 191844IADM | 38 |
| 191835IADM | 40 |
| 191770IADM | 40 |
| 191850IADM | 38 |
| 191822IADM | 38 |
| 191840IADM | 33 |
| 191896IADM | 40 |
| 191891IADM | 40 |
| 191904IADM | 40 |
| 191806IADM | 31 |
| 191832IADM | 31 |
| 191795IADM | 36 |
| 191847IADM | 36 |
| 191901IADM | 38 |
| 191826IADM | 38 |
| 191853IADM | 37 |
| 191818IADM | 37 |
| 191865IADM | 33 |
| 191877IADM | 33 |
| 191782IADM | 39 |
| 191817IADM | 39 |
| 191789IADM | 40 |
| 191864IADM | 40 |
| 191905IADM | 37 |
| 191781IADM | 34 |
| 191885IADM | 34 |
| 200607IADM | 38 |
| 191787IADM | 31 |
| 191809IADM | 32 |
| 191823IADM | 32 |
| 191849IADM | 34 |
| 191876IADM | 34 |
| 191825IADM | 33 |
| 191831IADM | 40 |
| 191794IADM | 40 |
| 191858IADM | 40 |
| 191777IADM | 35 |
Slacki kanal
Liituge Slack jututoaga:
Kursuse eesmärk ja põhimõtted
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.
Kursuse raames ülikoolis kohapeal loenguid ei toimu: kõik loengud on varasemalt salvestatud videosse, ja lisatud presentatsioon, vaata siin lehel allpool.
Kohapealne töö (praktikum/konsultatsioon) on mõeldud eeskätt praktilise arenduskogemuse saamiseks, eesmärgiga omaenda katsetuste najal tekitada arusaamine, mismoodi praktiline arendusprotsess toimub, mida ja kuidas standardtehnoloogiatega teha saab, mis on keeruline ja mis lihtne.
Kohapealne praktiline töö eeldab varasemat tutvumist osade allpool toodud teemadega.
Esimeseks praktikumiks oleks väga soovitav vaadata/lugeda läbi allpool materjalid teemadel
- Veebilehed (tingimata)
- Programmeerimise sissejuhatus Pythonis (soovitav)
Praktikumi/konsultatsiooni ajad
Eri rühmadel neljapäeviti ja reedeti ruumis ICT-501:
B-rühm (IADM20B) neljapäeviti:
- 30.01.2020 kl 16-20.30
- 13.02.2020 kl 16-20.30
- 27.02.2020 kl 16-20.30
- 12.03.2020 kl 16-20.30
- 26.03.2020 kl 16-20.30
A-rühm (IADM20A) reedeti:
- 31.01.2020 kl 15-19.30
- 14.02.2020 kl 15-19.30
- 28.02.2020 kl 15-19.30
- 13.03.2020 kl 15-19.30
- 27.03.2020 kl 15-19.30
Praktiline ülesanne
Kursuse kodu-või-praktikumiülesandeks on (a) reaalse rakenduse planeerimine ja ehitamine, mis kuvab kasutajale veebis mõistetavalt ja otsitavalt ja/või sorteeritavalt 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, (b) edasiarenduse planeerimine hüpoteetiliseks tellimiseks.
Soovitav on tulemus panna üles avalikku pilveserverisse (soovitus: digitalocean) ja kood avalikku koodihoidlasse (soovitus: github). Alternatiiv on panna tulemus dijkstra serverisse Taltechis.
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 tegeleme teie projekti realiseerimise 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 paariminutise ettekande, kus on öeldud:
- grupi liikmete nimed
- mida sel päeval üritati teha ja kuhu jõuti
- mis on plaan järgmise praktikumikorraga saavutada
Praktikumijuhendaja hindab iga päeva progressi.
Lõpp-presentatsioon viimasel päeval peaks olema pikem, ca viisteist minutit.
Praktikumi kogutulemusest on arvestuslikult ca 50% lõpptulemus ja teine ca 50% esimese nelja päeva tulemused.
Praktikumi etapid
Jagame töö etapiviisi viiele praktikumi päevale: nende jaoks on eraldi wikileht:
tarkvaratehnoloogia praktikumide etapid.
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
- Sissejuhatus ja video
- Põhimõisted ja video.
Kuidas arvuti töötab
- Protsessor ja video
- Eelmise presentatsiooni lõpuosa ja seejärel reaalne näide protsessori käskudega: video
Soovitavalt loe veel:
- The infinite space between words
- võibolla peamine arendajate üldhuvi-uudistesait: loe seda iga päev!
Interneti funktsioneerimine
- Esimene osa ja video
- Teine osa ja video
Programmeerimise sissejuhatus Pythonis
- Programmeerimise sissejuhatus: video
- Programmeerimine 2: python video
- Programmeerimine 3: tingimused, tsüklid, funktsioonid: video
- Programmeerimine 4: failitöötlus video ja failitöötluse näitekood pythonis
- Programmeerimine 5: andmeimport ja andmete seostamine video
Vajalik Pythoni tarkvara:
Head pikemad õpetused:
- Kõige lihtsam: w3schools python
- Veidi keerulisem: tutorial pythoni lehel
- Eestikeelne õpik
Tekstiredaktorid:
- päris rikkalik: vs code
- keskmiselt rikkalik: atom
- üpris minimaalne: notepad++
- eriti minimaalne: scite
Veebilehed
- Sissejuhatus teemasse
- Esimene osa, html: video
- Teine osa, css: video
- Kolmas osa, javascript: video
Kõige paremad veebiehituse õpetused algajale on w3schools saidil
Üleüldine peamine küsimuste/vastuste sait on stackoverflow.
Server ja veebirakendus
- Põhipunktid ja koodinäited.
- Esimene osa, server ja veebiteenus: video
- Teine osa, veebirakendus: video
Flask server:
- Kasutame Pythoni populaarset micro-frameworki Flask
- Sul peab olema Windowsil käsurealt käivitatav python ja pip. pip on levinuim Pythoni moodulite installeerimise-programm.
- Ütle käsurealt: pip install flask
- Flask veel ise käima ei lähe: loe presentatsioonist edasi.
- NB! Kui paned oma flaski abil tehtud serveriprogrammi serverisse tööle, siis viimase asjana kirjuta app.run(debug=True, port=5000, host='0.0.0.0') kus on näidetega võrreldes lisaks host=... : see lubab väljapoolt serverit ligi pääseda.
Andmebaasiga serverirakenduse ehitamine
- Andmebaasid ja SQL video
- Serverirakendus ja SQL 1. osa video
- Serverirakendus ja SQL 2. osa video
- Soovitavalt uuri veidi: w3schools SQL tutorial
- Näited:
Tehisintellekt
Soovitavalt vaata ja loe lisaks:
- Boston Dynamics robot donkey (aka big dog) varane, big dog praegu, Cheetah, Wildcat,Petman, Atlas
- Darpa grand challenge 2005 ja urban challenge
- Miks mitte karta super-tehisintellekti
- Rodney Brooksi väike tehisintellekti-sari osa 1, osa 2, osa 3, osa 4
Arendusvahendid, programmeerimiskeeled ja arhitektuur
Arendusprotsess
Loe (pikemad sirvi) need arendusprotsessiga seotud artiklid kursuse käigus läbi. Nende kõigi kohta võidakse eksamil küsida lugemiskontrolli-küsimusi.
- Paul Graham Hackers and painters
- Paul Graham: How to start a startup?
- Paul Graham: Great hackers
- Joel Spolsky: The iceberg secret revealed
- Joel Spolsky: IT firma töökorraldus: 12 sammu
- Agiilarenduse manifest ja selle lisapunktid
- Paul Reeves: What is software design? vana artikkel ja What Is Software Design: 13 Years Later
- Gnu manifest The Free Software Definition ja Gnu ülevaade litsentsidest
- Fred Brooks 1986: No Silver Bullet
- 20 aastat kogemust tarkvara arendusmeetoditega
Tarkvaratehnoloogiad eksam 20 mai 2020 Tarkvaratehnoloogiad eksam 28 mai 2020 -