Kasutajaliidesed (ITI0209)) 2020
Kursuse kood: ITV0209
Link: https://courses.cs.ttu.ee/pages/Kasutajaliidesed_(ITV0209)
Õppejõud: Martin Verrev, Kristian Lember
Kontakt: martin.verrev@taltech.ee, TTÜ ruum ICT-422
2019 aasta kursuse lehte näed siit: Kasutajaliidesed_(ITV0130))_2019
Jooksva info edastamiseks ja üldistele küsimustele vastamiseks on kursusel Slacki kanal millega saab liituda kasutades seda linki (link uuendatud)
Kursuse toimumine karantiiniperioodil
Karantiiniperioodil toimuvad loengud otseülekande/salvestiste vahendusel. Jooksvatele küsimustele vastamiseks on Slackis kanal "loengus-tekkinud-küsimused"
21. mai konsultatsiooniks ja kaitsmiseks palun lisada ennast nimekirja Google Forms'i kaudu. Registreerimisvorm on kättesaadav siit: https://forms.gle/8NY7V4RKDGT3EHZq7
Registreerimisvormi tulemusel tekib nimekiri tudengitest, kellega õppejõud ja abiõppejõud järjekorras läbi Slacki videokõne ühendust võtavad. Kaitsmisjärjekord muutub avalikuks ka tudengitele, kes saavad ennustada millal nendega umbkaudu ühendust võetakse arvestusega et kaitsmisi võtab vastu 3 inimest ja arvestuslikult on planeeritud ühele tudengile 5 .. 8 minutit.
Juhul kui sa ei ole veel Slackiga liitunud ja registreerimislink on aegunud, kirjuta martin.verrev@taltech.ee
Aeg, koht, tulemus
Loeng toimub igal teisipäeval kell 16:00-17:30 U05-103, alates 31.03 kell 18:00 .. 19:30 kursuse Zoomi kanalis.
Praktikumid toimuvad eri gruppidele kahel erineval ajal. Esimesel nädalal on juhendaja Martin Verrev ja Kristian Lember, edasi on praktikumides abiks abiõppejõud.
NB! Praktikumide eesmärgiks on teha ise ülesande kallal tööd, küsida juhendajalt probleemide korral abi ja esitada valmis või osaliselt valmis töid juhendajale. Praktikumides enamasti ei esitata üldist infot/materjale/näiteid kõigile vaatamiseks: selleks on loeng.
- neljapäeval kell 10:00 ruumis ICT-122 - neljapäeval kell 12:00 ruumis ICT-122
Kursus lõpeb hindelise arvestusega. Hinne sõltub kursuse jooksul tehtud praktikumide tulemustest (60%) pluss kursuse lõpus toimuva kontrolltöö tulemustest (40%).
Juhime kõigi praktikumijuhendajate poolt tähelepanu, et praktikumitöö arvestamine ja hindamine toimub ainult sinu grupi ajal! Muude gruppide aegadel võetakse töid vastu ainult juhul, kui ei ole kedagi õigest grupist, kes sooviks tööd esitada / konsulteerida, st reeglina mitte arvestuse viimasel nädalal.
Loengute järelevaatamiseks kasutage seda linki: https://echo360.org.uk/section/0555d50c-6171-4ce0-a79d-fae7f21715e8/public
Hindamine
Aine hinnatakse 100 punkti skaalal; saadaval olevate punktide hulk on veidi suurem. Punktid kogutakse semestri jooksul ja jaotuvad:
- 15 punkti: Kodutöö 1: Kasutajavood ja staatiline prototüüp. Kasutajatestimine. 17. veebruari nädal.
- 15 punkti: Kodutöö 2: HTML Prototüüp ja CSS raamistikud. 18. märtus nädal
- 15 punkti: Kodutöö 3: Funktsionaalne prototüüp ja Vue.js 20. aprilli nädal
- 15 punkti: Kodutöö 4: Andmete visualiseerimine 14. mai nädal
- 40 punkti: UI: Projekti lõppraport 21. mai nädal
Iga töö annab 0-15 punkti. Hilinenud tööd annavad poole punktidest. Töid võib (ja on soovitav) esitada enne tähtaega.
NB!Kui sinu praktikum on õigeaegselt arvestatud, siis saad esitada täiendusi kuni nädalalani enne järgmise praktikumi tähtaega, ilma pooli punkte kaotamata.
- Kui sinu praktikum ei ole õigeaegselt arvestatud, siis on sul esitamiseks aega veel nädalani enne järgmise praktikumi tähtaega, aga selliselt hilinenud praks annab ainult pooled punktid.
- Oma tööd saad arvestuseks esitada ainult oma rühma praksi ajal. Lihtsalt nõu ja abi saad küsida ka teistel aegadel. Kui sa ei ole üheski rühmas, siis on esimene kaitsmisaeg vaba aga hiljem hakkad oma töid kaitsma selle rühma juures kus kaitsesid esimese töö.
Kõik tööd tuleb esitada ise TTÜ arvutiklassis: emailiga saadetud töid ei vaadata. Kasutada võib nii klassi arvuteid kui oma arvutit, brauser ja operatsioonisüsteem on vabalt valitavad. Programmeerimstööde presenteerimiseks tuleb kasutada ülikooli serverit dijkstra: kõiki prakse vaatavad õppejõud ainult sealt serverist. Kindlasti loe dijkstra serveri kasutamise õpetust.
Kursuse edukaks läbimiseks ja kontrolltööle pääsemiseks peavad kõik kohustuslikud praktilised tööd olema tehtud.
Kontroltöö
Kursuses on peale praktikumide ka üks kohustuslik kontrolltöö, mis toimub peale semestri viimast nädalat ja annab maksimaalselt 40 punkti. Kontrolltööle pääsemiseks pead olema vähemalt 1-le punktile kaitstud kõik praktikumitööd. Edukaks sooritamiseks pead kontrolltöös saama vähemalt 51% kogupunktisummast ja kogu kursuse eest (praktikumid+kontrolltöö) vähemalt 51 punkti. Kontrolltööd saab kirjutada ühel korral.
Alla 50% kontrolltöö tulemus tähendab ebaõnnestumist. Kui selleks vajadus tekib saab kontrolltöö ühel korral uuesti kirjutada.
Seoses eriolukorraga suure tõenäosusega kontrolltööd sellisel kujul ei toimu ja see asendatakse iseseisva tööga.
Loenguslaidid
- Loeng 1: Ülevaade disainiprotsessist
- Loeng 2: Projekt, näited, tööriistad
- Loeng 3: Kasutajaliideste arendaja roll. CSS raamistikud
- Loeng 4: Rakenduse testimine
- Loeng 5: Hallatav CSS. Eelprotsessorid
- Loeng 6: Hallatav CSS. BEM
- Loeng 7: Hallatav HTML. Sissejuhatus veebikomponentidesse
- Loeng 8: Veebikomponentide jätk.
- Loeng 9: Sissejuhatus Vue-sse
- Loeng 10: Vue rakenduse struktuur. Vue CLI.
- Loeng 11: Oleku haldus Vue rakenduses. VueX
- Loeng 12: Sisendi valideerimine Vue rakenduses. Rakenduse pakendamine.
- Loeng 13: JAMStack, SSG
- Loeng 14: Andmete visualiseerimine
- Loeng 15: Visualiseerimine - Praktiline Echarts.
- Loeng 16: Kokkuvõte
Viidete kogu
Koodinäiteid
Uuendatud 2020 aasta koodinäited on kättesaadavad Githubist
Varasemad koodinäited on kättesaadavad siit: Kursuse koodinäiteid Githubis
Lugemist
- Spolsky: User Interface Design For Programmers - kontrollitundest, kasutajamudelist ja päris inimestest
- A List Apart: In Defence of Eye Candy - miks ilus liides on "parem".
- Brandon Walkin: Managing UI complexity - sellest kuidas asju kasutaja eest ära peita
- Ask Tog: First Principles of User Interaction Design - tee liides valmis ja loe see uuesti läbi
- Nielsen: 10 heuristilist kriteeriumit - liidese testimiseks
- UI-Patterns.com - input, navigation, data
- kuidas vormid koledaks lähevad ja vormide disainist
- Stiilijuhend tarkvara tõlkimiseks
- Sisuteksti koostamine
Tehniline
Kontrolltöö mõttes tasub mõelda praktikumi- ja kodutööde mahus.
- CSS (vt http://www.w3schools.com/css/default.asp). Peab aru saama põhimõtetest ja näidetest. Konkreetsete omaduste ja atribuudite nimesid ise välja ei pea mõtlema.
- Javascript (vt http://www.w3schools.com/js/default.asp). Peab aru saama väikestest näidetest a la js inclusion, vormist teksti kättesaamine ja muutmine, domi kättesaamine ja muutmine. Ei pea oskama erinevaid teeke.
- Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.
- Flexboxist: https://css-tricks.com/snippets/css/a-guide-to-flexbox/
- HTML DOM põhipunktid
Kuulamist
Niisama huvitavat lugemist
Kontrolltöö eel siit õppida pole tarvis; siin on lihtsalt lahedused
- Noppeid - ekraanipiltide kogu
- Redesigning Google: How Larry Page Engineered Beautiful Revolution - kuidas Google ennast hiljuti ümber ehitas
- Amazoni alam-menüü nipp
- Windows User Experience Interaction guidelines - Win7
- UX Guidelines for Windows Store apps - Win 8
- iOS Human Interface Guidelines
- Android UI Design
- GNOME Human Interface Guidelines
- Kuidas iOS lapikumaks muutub aja jooksul
- Google Visual Asset Guidelines - Google'i ikonograafia loomisest
- Dark Patterns - salakavalatest kasutajaliidese mustritest.
- CityMapper vs Google Maps - UX võrdlus
- iOS 8 ja shift
- Cross-Site Scripting - tore mäng turvaprobleemidest kasutajaliidese ehitamisel
- Vihakõne PHP suunal - väga must huumor
- Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest
- How Apple Is Giving Design A Bad Name - kuidas Apple oma liideste disainiga veidi rappa on jõudnud
- Sass - miinimumsüntaksiga CSS
- Havai tuumahoiatus ja disain
- Reactive Programming for Game Developers
- The introduction to Reactive Programming you've been missing
- Tarkvara tõlkimine Eestis
- Stiilijuhend
- Kui liidese disain läbi kukub, on kasutaja tihti leidlik.