<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>http://www.lambda.ee/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Irve</id>
	<title>Lambda - Kasutaja kaastöö [et]</title>
	<link rel="self" type="application/atom+xml" href="http://www.lambda.ee/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Irve"/>
	<link rel="alternate" type="text/html" href="http://www.lambda.ee/wiki/Eri:Kaast%C3%B6%C3%B6/Irve"/>
	<updated>2026-10-28T09:25:48Z</updated>
	<subtitle>Kasutaja kaastöö</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14700</id>
		<title>Real-Time Operating Systems and Systems Programming</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14700"/>
		<updated>2018-08-20T20:45:16Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
Course code: &#039;&#039;&#039;iti8510&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Link: [http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming] [http://www.lambda.ee/index.php/iti8510 http://www.lambda.ee/index.php/iti8510]&amp;lt;br/&amp;gt;&lt;br /&gt;
Lecturer: Jaagup Irve&amp;lt;br/&amp;gt;&lt;br /&gt;
Contact: jaagup.irve@ttu.ee, 56463800, room ITC-425&amp;lt;br/&amp;gt;&lt;br /&gt;
Previous courses: [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=10337 2012] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12109 2014] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12994 2015] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=13540 2016]&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=5266247&amp;amp;p_id=101240&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=iti8510&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_opetsem=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= Course card in Studies Information System]&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Things may change a bit as we go&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Introduction [[Media:Rtos_01.pdf|PDF]]&lt;br /&gt;
# IO, Hardware interrupts [[Media:Rtos_02.pdf|PDF]]&lt;br /&gt;
# Stack, longjmp [[Media:Rtos_03.pdf|PDF]] &lt;br /&gt;
# Heap, 2d arrays [[Media:Rtos_04.pdf|PDF]]&lt;br /&gt;
# Software interrupts (signals) [[Media:Rtos_05.pdf|PDF]]&lt;br /&gt;
# Threads, Mutexes [[Media:Rtos_06.pdf|PDF]]&lt;br /&gt;
# Scheduling, Process, Demon, Zombie [[Media:Rtos_07.pdf|PDF]]&lt;br /&gt;
# Standard IO, file management, directory management etc [[Media:Rtos_08.pdf|PDF]]&lt;br /&gt;
# Programming an Operating System [[Media:Rtos_09.pdf|PDF]]&lt;br /&gt;
# Optimizing [[Media:Rtos_10.pdf|PDF]]&lt;br /&gt;
# Networking [[Media:Rtos_11.pdf|PDF]] ;&lt;br /&gt;
# C language constructions [[Media:Rtos_11a.pdf|PDF]]; Mmap() Compilation and utilities [[Media:Rtos_13.pdf|PDF]]&lt;br /&gt;
# Security [[Media:Rtos_12.pdf|PDF]]&lt;br /&gt;
&amp;lt;!--# Encoding, localization, internatialization in *nix [[Media:Rtos_14.pdf|PDF]]; Getopt() [[Media:Rtos_14b.pdf|PDF]]--&amp;gt;&lt;br /&gt;
# RTOS: On Real Time Systems [[Media:Rtos_15.pdf|PDF]]&lt;br /&gt;
# Conclusion and Summary [[Media:Rtos_16.pdf|PDF]]&lt;br /&gt;
&lt;br /&gt;
== Practice Information ==&lt;br /&gt;
&lt;br /&gt;
The server: dijkstra.cs.ttu.ee&lt;br /&gt;
{{Iti8510-praclist}}&lt;br /&gt;
&lt;br /&gt;
== Links==&lt;br /&gt;
&lt;br /&gt;
* [http://gd.tuwien.ac.at/languages/c/cref-mleslie/CONTRIB/SAWTELL/intro.html A well-written C tutorial]&lt;br /&gt;
* [http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences Toyota killer firmware]&lt;br /&gt;
* [http://blog.regehr.org/archives/1091 Use of Assertions]&lt;br /&gt;
* [http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html IPv6 howto]&lt;br /&gt;
* [https://matt.sh/howto-c How to C in 2016] - or why the lecturer should be deprecated&lt;br /&gt;
* [https://avicoder.me/2016/02/01/smashsatck-revived/ Smashing the Stack for Fun and Profit Redone] - a take on a classic&lt;br /&gt;
* [https://github.com/s-matyukevich/raspberry-pi-os Raspberry Pi Os] - an opsystem from scratch&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kursus]][[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14688</id>
		<title>Real-Time Operating Systems and Systems Programming</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14688"/>
		<updated>2018-06-06T08:13:21Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
Course code: &#039;&#039;&#039;iti8510&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Link: [http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming] [http://www.lambda.ee/index.php/iti8510 http://www.lambda.ee/index.php/iti8510]&amp;lt;br/&amp;gt;&lt;br /&gt;
Lecturer: Jaagup Irve&amp;lt;br/&amp;gt;&lt;br /&gt;
Contact: jaagup.irve@ttu.ee, 56463800, room ITC-425&amp;lt;br/&amp;gt;&lt;br /&gt;
Previous courses: [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=10337 2012] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12109 2014] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12994 2015] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=13540 2016]&lt;br /&gt;
&lt;br /&gt;
== Exams ==&lt;br /&gt;
* 25th January is an exam day. Please send an e-mail if you cannot register in OIS due to having an &amp;quot;open&amp;quot; grade for an exam.&lt;br /&gt;
&lt;br /&gt;
== Points and Grades ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The exams have all been graded, most of you did really well this year!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/e/2PACX-1vTpTftiW7-otcY9y87FJonKVtMc28Kr9x53Q6_tQl3iyoERLAtItTORYb25T07LeuD7_MdMx1xBe27t/pubhtml?gid=721023360&amp;amp;single=true Points and grades for 2017]&lt;br /&gt;
&lt;br /&gt;
== Huffman lab== &lt;br /&gt;
&lt;br /&gt;
* The deadline for the Huffman lab is November 10, 2017.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=5266247&amp;amp;p_id=101240&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=iti8510&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_opetsem=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= Course card in Studies Information System]&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Things may change a bit as we go&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Introduction [[Media:Rtos_01.pdf|PDF]]&lt;br /&gt;
# IO, Hardware interrupts [[Media:Rtos_02.pdf|PDF]]&lt;br /&gt;
# Stack, longjmp [[Media:Rtos_03.pdf|PDF]] &lt;br /&gt;
# Heap, 2d arrays [[Media:Rtos_04.pdf|PDF]]&lt;br /&gt;
# Software interrupts (signals) [[Media:Rtos_05.pdf|PDF]]&lt;br /&gt;
# Threads, Mutexes [[Media:Rtos_06.pdf|PDF]]&lt;br /&gt;
# Scheduling, Process, Demon, Zombie [[Media:Rtos_07.pdf|PDF]]&lt;br /&gt;
# Standard IO, file management, directory management etc [[Media:Rtos_08.pdf|PDF]]&lt;br /&gt;
# Programming an Operating System [[Media:Rtos_09.pdf|PDF]]&lt;br /&gt;
# Optimizing [[Media:Rtos_10.pdf|PDF]]&lt;br /&gt;
# Networking [[Media:Rtos_11.pdf|PDF]] ;&lt;br /&gt;
# C language constructions [[Media:Rtos_11a.pdf|PDF]]; Mmap() Compilation and utilities [[Media:Rtos_13.pdf|PDF]]&lt;br /&gt;
# Security [[Media:Rtos_12.pdf|PDF]]&lt;br /&gt;
&amp;lt;!--# Encoding, localization, internatialization in *nix [[Media:Rtos_14.pdf|PDF]]; Getopt() [[Media:Rtos_14b.pdf|PDF]]--&amp;gt;&lt;br /&gt;
# RTOS: On Real Time Systems [[Media:Rtos_15.pdf|PDF]]&lt;br /&gt;
# Conclusion and Summary [[Media:Rtos_16.pdf|PDF]]&lt;br /&gt;
&lt;br /&gt;
== Practice Information ==&lt;br /&gt;
&lt;br /&gt;
The server: dijkstra.cs.ttu.ee&lt;br /&gt;
{{Iti8510-praclist}}&lt;br /&gt;
&lt;br /&gt;
== Links==&lt;br /&gt;
&lt;br /&gt;
* [http://gd.tuwien.ac.at/languages/c/cref-mleslie/CONTRIB/SAWTELL/intro.html A well-written C tutorial]&lt;br /&gt;
* [http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences Toyota killer firmware]&lt;br /&gt;
* [http://blog.regehr.org/archives/1091 Use of Assertions]&lt;br /&gt;
* [http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html IPv6 howto]&lt;br /&gt;
* [https://matt.sh/howto-c How to C in 2016] - or why the lecturer should be deprecated&lt;br /&gt;
* [https://avicoder.me/2016/02/01/smashsatck-revived/ Smashing the Stack for Fun and Profit Redone] - a take on a classic&lt;br /&gt;
* [https://github.com/s-matyukevich/raspberry-pi-os Raspberry Pi Os] - an opsystem from scratch&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kursus]][[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=14268</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=14268"/>
		<updated>2018-01-30T22:17:30Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://courses.cs.ttu.ee/pages/ITV0130 Lehekülg kolis]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=14267</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=14267"/>
		<updated>2018-01-30T22:16:47Z</updated>

		<summary type="html">&lt;p&gt;Irve: Lehekülg asendatud tekstiga &amp;#039;#REDIRECT [https://courses.cs.ttu.ee/pages/ITV0130]&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [https://courses.cs.ttu.ee/pages/ITV0130]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=14266</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=14266"/>
		<updated>2018-01-30T19:50:57Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Hindest */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Disain vs ux.jpg|right]]Kursuse kood: &amp;lt;b&amp;gt;ITV0130&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://www.lambda.ee/index.php/Kasutajaliidesed or http://www.lambda.ee/index/itv0130&amp;lt;br&amp;gt;&lt;br /&gt;
Õppejõud: Jaagup Irve&amp;lt;br&amp;gt;&lt;br /&gt;
Kontakt: jaagup.irve@ttu.ee, TTÜ ruum ICT-425&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=13571 2016] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=12421 2015] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=11832 2014] [[Kasutajaliidesed (2013)|2013]] [[Kasutajaliidesed (2012)|2012]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Korraldusest ==&lt;br /&gt;
&lt;br /&gt;
Loengutes selgitame kasutajaliideste arendamise põhimõtteid. Harjutustundide eesmärk on tutvustada laborite tegemiseks tarvilikke tehnilisi lahendusi. Praktikumis lahendame iga nädal mõnd konkreetset liidese ehitamisel ettetulevat probleemi (kui pole kodutööde esitamise nädal, sest siis tegeleme ainult sellega)&lt;br /&gt;
&lt;br /&gt;
Aasta 2017 puhul võib esineda mõningane kõrvalekalle etteantud projektist, sest õppejõul on üks kinnisidee tekkinud ja teie olete selle katsejänesed. Sellest esimeses loengus.&lt;br /&gt;
&lt;br /&gt;
*[https://bitbucket.org/XonX/android-demo Juri Kazjulja loengu repo]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltööst ==&lt;br /&gt;
&lt;br /&gt;
Varasemate aastate kontrolltöö hinde võib paluda otse üle kanda. Kontrolltööle võtke ruumi kaasa ainult paber-pliiats ja dokument. Kõhurääkijate ja mobiilinokkijate tööd võtan ära ja ei hinda. Tööd saab teha üks kord (topelt-käimisel teist tööd ei hinda).&lt;br /&gt;
&lt;br /&gt;
== Hindest ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB: 2017 aasta projektid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Aine lõppeb hindelise arvestusega. Aine hinne koosneb kolmest komponendist:&lt;br /&gt;
* Liidese projektid: Meeskonnad ehitavad hindelised liidesed (60p)&lt;br /&gt;
** [[Projekt 1: Politsei e-avaldus]]&lt;br /&gt;
** [[Projekt 2: Preemia]]&lt;br /&gt;
** [[Projekt 3: Typonaut]]&lt;br /&gt;
* Kontrolltöö lugemismaterjalide ja loengumaterjalide peale (40p)&lt;br /&gt;
&lt;br /&gt;
Projektide grupid loosime ja vahetame gruppe iga projekti puhul.&lt;br /&gt;
&lt;br /&gt;
== Praktikumid ==&lt;br /&gt;
&lt;br /&gt;
* [[UI:Prototüüp|Prototüüpimine paberil]]&lt;br /&gt;
* [[UI:Bootstrap|Veebilehtede põhjad]]&lt;br /&gt;
* [[UI:Frustratsioon|Frustratsiooniliides]]&lt;br /&gt;
* [[UI:Nurgelised Kassid|Nurgelised kassid]]&lt;br /&gt;
* [[UI:SASS|Süntaktiliselt äge CSS]]&lt;br /&gt;
* [[UI:Nurgelised_Koerad|Nurgelised koerad]]&lt;br /&gt;
* [[UI:Animatsioonid]]&lt;br /&gt;
* [[UI:Django (Sissejuhatus)|Django Sissejuhatus]]&lt;br /&gt;
* [[UI:Django (Edasijuhatus)|Django Edasijuhatus]]&lt;br /&gt;
* [[UI:Kasutajatestid|Kasutajatestid]]&lt;br /&gt;
&lt;br /&gt;
== Videod == &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLMQzXA1f24AdPMsiYydc4rcAtHN-MiC6D&amp;amp;feature=view_all CSSi tutvustusvideod]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltöö ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö toimub viimase loengu ajal, loengu ruumides. Kontrolltöö sisuks on alltoodud materjalide lugemiskontroll ning HTML/javascripti tehniliste küsimuste lahendamine paberil.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lugemist &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A List Apart: [http://alistapart.com/article/indefenseofeyecandy In Defence of Eye Candy] - miks ilus liides on &amp;quot;parem&amp;quot;.&lt;br /&gt;
* Spolsky: [http://www.joelonsoftware.com/uibook/fog0000000249.html User Interface Design For Programmers] - kontrollitundest, kasutajamudelist ja päris inimestest&lt;br /&gt;
* Brandon Walkin: [http://www.brandonwalkin.com/blog/2009/08/10/managing-ui-complexity/ Managing UI complexity] - sellest kuidas asju kasutaja eest ära peita&lt;br /&gt;
* Ask Tog: [http://asktog.com/atc/principles-of-interaction-design/ First Principles of User Interaction Design] - tee liides valmis ja loe see uuesti läbi&lt;br /&gt;
* Nielsen: [http://www.nngroup.com/articles/ten-usability-heuristics/ 10 heuristilist kriteeriumit] - liidese testimiseks&lt;br /&gt;
* [http://ui-patterns.com/patterns UI-Patterns.com] - input, navigation, data&lt;br /&gt;
* [http://www.joelonsoftware.com/articles/Unicode.html Spolsky: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]&lt;br /&gt;
* [http://friedcellcollective.net/outbreak/2007/12/13/messing-up-the-interface/ kuidas vormid koledaks lähevad] ja [http://www.lukew.com/ff/entry.asp?1502 vormide disainist]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Tehniline &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.&lt;br /&gt;
* HTML DOM põhipunktid &lt;br /&gt;
* Cookied ja sessioonid (vt http://en.wikipedia.org/wiki/HTTP_cookie, http://www.quirksmode.org/js/cookies.html). Peab aru saama cookie põhimõtetest server-side ja aru saama javascripti näidetest cookiede kasutamise kohta. Programmeerimisülesannet selle kohta ei tule.&lt;br /&gt;
* Cgi protokoll (vt http://www.jmarshall.com/easy/cgi/). Peab aru saama, kuidas vormisisusid postitaktakse, mis vahe on GET ja POST protokollil.&lt;br /&gt;
&lt;br /&gt;
== Niisama huvitavat lugemist == &lt;br /&gt;
* [https://www.codeschool.com/courses/shaping-up-with-angular-js Shaping up with angular] - imeline angulari veebikoolitus (aga spämmib teid pärast rohkelt äraütlemisvõimalusega)&lt;br /&gt;
* [http://www.theverge.com/2013/1/24/3904134/google-redesign-how-larry-page-engineered-beautiful-revolution Redesigning Google: How Larry Page Engineered Beautiful Revolution] - kuidas Google ennast hiljuti ümber ehitas&lt;br /&gt;
* [http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown Amazoni alam-menüü nipp]&lt;br /&gt;
* [http://paulrouget.com/e/devtoolsnext/ Firefox developer tools] - lahedusi Mozillalt&lt;br /&gt;
* [http://www.trinidad.ee/public/materjalid/Kasutajakeskse_veebi_lehekylgede_disain.pdf RISO: Kasutajakeskse veebi lehekülgede disain (.pdf)]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx Windows User Experience Interaction guidelines] - Win7&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx UX Guidelines for Windows Store apps] - Win 8 &lt;br /&gt;
* [http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html iOS Human Interface Guidelines]&lt;br /&gt;
* [https://developer.android.com/design/index.html Android UI Design]&lt;br /&gt;
* [https://developer.gnome.org/hig-book/stable/ GNOME Human Interface Guidelines]&lt;br /&gt;
* [https://medium.com/product-design/5ccef7b3e1fc Kuidas iOS lapikumaks muutub aja jooksul]&lt;br /&gt;
* [http://www.behance.net/rogeroddone Google Visual Asset Guidelines] - Google&#039;i ikonograafia loomisest&lt;br /&gt;
* [http://www.theverge.com/2013/8/29/4640308/dark-patterns-inside-the-interfaces-designed-to-trick-you Dark Patterns] - salakavalatest kasutajaliidese mustritest.&lt;br /&gt;
* [https://medium.com/@zmh/bye-google-maps-ea3ea10f84dc CityMapper vs Google Maps] - UX võrdlus&lt;br /&gt;
* [http://www.allenpike.com/2014/schrodingers-shift-key/ iOS 8 ja shift]&lt;br /&gt;
* [https://xss-game.appspot.com/ Cross-Site Scripting] - tore mäng turvaprobleemidest kasutajaliidese ehitamisel&lt;br /&gt;
* [http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ Vihakõne PHP suunal] - väga must huumor&lt;br /&gt;
* [http://blog.martindoms.com/2011/01/24/poor-ui-design-can-kill/ Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest]&lt;br /&gt;
* [http://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name How Apple Is Giving Design A Bad Name] - kuidas Apple oma liideste disainiga veidi rappa on jõudnud&lt;br /&gt;
* [https://www.npmjs.com/package/jade Jade - miinimumsüntaksiga HTML]&lt;br /&gt;
* [http://sass-lang.com/guide Sass - miinimumsüntaksiga CSS]&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kasutajaliidesed]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=14265</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=14265"/>
		<updated>2018-01-30T19:50:31Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Kontrolltööst */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Disain vs ux.jpg|right]]Kursuse kood: &amp;lt;b&amp;gt;ITV0130&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://www.lambda.ee/index.php/Kasutajaliidesed or http://www.lambda.ee/index/itv0130&amp;lt;br&amp;gt;&lt;br /&gt;
Õppejõud: Jaagup Irve&amp;lt;br&amp;gt;&lt;br /&gt;
Kontakt: jaagup.irve@ttu.ee, TTÜ ruum ICT-425&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=13571 2016] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=12421 2015] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=11832 2014] [[Kasutajaliidesed (2013)|2013]] [[Kasutajaliidesed (2012)|2012]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Korraldusest ==&lt;br /&gt;
&lt;br /&gt;
Loengutes selgitame kasutajaliideste arendamise põhimõtteid. Harjutustundide eesmärk on tutvustada laborite tegemiseks tarvilikke tehnilisi lahendusi. Praktikumis lahendame iga nädal mõnd konkreetset liidese ehitamisel ettetulevat probleemi (kui pole kodutööde esitamise nädal, sest siis tegeleme ainult sellega)&lt;br /&gt;
&lt;br /&gt;
Aasta 2017 puhul võib esineda mõningane kõrvalekalle etteantud projektist, sest õppejõul on üks kinnisidee tekkinud ja teie olete selle katsejänesed. Sellest esimeses loengus.&lt;br /&gt;
&lt;br /&gt;
*[https://bitbucket.org/XonX/android-demo Juri Kazjulja loengu repo]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltööst ==&lt;br /&gt;
&lt;br /&gt;
Varasemate aastate kontrolltöö hinde võib paluda otse üle kanda. Kontrolltööle võtke ruumi kaasa ainult paber-pliiats ja dokument. Kõhurääkijate ja mobiilinokkijate tööd võtan ära ja ei hinda. Tööd saab teha üks kord (topelt-käimisel teist tööd ei hinda).&lt;br /&gt;
&lt;br /&gt;
== Hindest ==&lt;br /&gt;
&lt;br /&gt;
Aine lõppeb hindelise arvestusega. Aine hinne koosneb kolmest komponendist:&lt;br /&gt;
* Liidese projektid: Meeskonnad ehitavad hindelised liidesed (60p)&lt;br /&gt;
** [[Projekt 1: Politsei e-avaldus]]&lt;br /&gt;
** [[Projekt 2: Preemia]]&lt;br /&gt;
** [[Projekt 3: Typonaut]]&lt;br /&gt;
* Kontrolltöö lugemismaterjalide ja loengumaterjalide peale (40p)&lt;br /&gt;
&lt;br /&gt;
Projektide grupid loosime ja vahetame gruppe iga projekti puhul.&lt;br /&gt;
&lt;br /&gt;
== Praktikumid ==&lt;br /&gt;
&lt;br /&gt;
* [[UI:Prototüüp|Prototüüpimine paberil]]&lt;br /&gt;
* [[UI:Bootstrap|Veebilehtede põhjad]]&lt;br /&gt;
* [[UI:Frustratsioon|Frustratsiooniliides]]&lt;br /&gt;
* [[UI:Nurgelised Kassid|Nurgelised kassid]]&lt;br /&gt;
* [[UI:SASS|Süntaktiliselt äge CSS]]&lt;br /&gt;
* [[UI:Nurgelised_Koerad|Nurgelised koerad]]&lt;br /&gt;
* [[UI:Animatsioonid]]&lt;br /&gt;
* [[UI:Django (Sissejuhatus)|Django Sissejuhatus]]&lt;br /&gt;
* [[UI:Django (Edasijuhatus)|Django Edasijuhatus]]&lt;br /&gt;
* [[UI:Kasutajatestid|Kasutajatestid]]&lt;br /&gt;
&lt;br /&gt;
== Videod == &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLMQzXA1f24AdPMsiYydc4rcAtHN-MiC6D&amp;amp;feature=view_all CSSi tutvustusvideod]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltöö ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö toimub viimase loengu ajal, loengu ruumides. Kontrolltöö sisuks on alltoodud materjalide lugemiskontroll ning HTML/javascripti tehniliste küsimuste lahendamine paberil.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lugemist &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A List Apart: [http://alistapart.com/article/indefenseofeyecandy In Defence of Eye Candy] - miks ilus liides on &amp;quot;parem&amp;quot;.&lt;br /&gt;
* Spolsky: [http://www.joelonsoftware.com/uibook/fog0000000249.html User Interface Design For Programmers] - kontrollitundest, kasutajamudelist ja päris inimestest&lt;br /&gt;
* Brandon Walkin: [http://www.brandonwalkin.com/blog/2009/08/10/managing-ui-complexity/ Managing UI complexity] - sellest kuidas asju kasutaja eest ära peita&lt;br /&gt;
* Ask Tog: [http://asktog.com/atc/principles-of-interaction-design/ First Principles of User Interaction Design] - tee liides valmis ja loe see uuesti läbi&lt;br /&gt;
* Nielsen: [http://www.nngroup.com/articles/ten-usability-heuristics/ 10 heuristilist kriteeriumit] - liidese testimiseks&lt;br /&gt;
* [http://ui-patterns.com/patterns UI-Patterns.com] - input, navigation, data&lt;br /&gt;
* [http://www.joelonsoftware.com/articles/Unicode.html Spolsky: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]&lt;br /&gt;
* [http://friedcellcollective.net/outbreak/2007/12/13/messing-up-the-interface/ kuidas vormid koledaks lähevad] ja [http://www.lukew.com/ff/entry.asp?1502 vormide disainist]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Tehniline &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.&lt;br /&gt;
* HTML DOM põhipunktid &lt;br /&gt;
* Cookied ja sessioonid (vt http://en.wikipedia.org/wiki/HTTP_cookie, http://www.quirksmode.org/js/cookies.html). Peab aru saama cookie põhimõtetest server-side ja aru saama javascripti näidetest cookiede kasutamise kohta. Programmeerimisülesannet selle kohta ei tule.&lt;br /&gt;
* Cgi protokoll (vt http://www.jmarshall.com/easy/cgi/). Peab aru saama, kuidas vormisisusid postitaktakse, mis vahe on GET ja POST protokollil.&lt;br /&gt;
&lt;br /&gt;
== Niisama huvitavat lugemist == &lt;br /&gt;
* [https://www.codeschool.com/courses/shaping-up-with-angular-js Shaping up with angular] - imeline angulari veebikoolitus (aga spämmib teid pärast rohkelt äraütlemisvõimalusega)&lt;br /&gt;
* [http://www.theverge.com/2013/1/24/3904134/google-redesign-how-larry-page-engineered-beautiful-revolution Redesigning Google: How Larry Page Engineered Beautiful Revolution] - kuidas Google ennast hiljuti ümber ehitas&lt;br /&gt;
* [http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown Amazoni alam-menüü nipp]&lt;br /&gt;
* [http://paulrouget.com/e/devtoolsnext/ Firefox developer tools] - lahedusi Mozillalt&lt;br /&gt;
* [http://www.trinidad.ee/public/materjalid/Kasutajakeskse_veebi_lehekylgede_disain.pdf RISO: Kasutajakeskse veebi lehekülgede disain (.pdf)]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx Windows User Experience Interaction guidelines] - Win7&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx UX Guidelines for Windows Store apps] - Win 8 &lt;br /&gt;
* [http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html iOS Human Interface Guidelines]&lt;br /&gt;
* [https://developer.android.com/design/index.html Android UI Design]&lt;br /&gt;
* [https://developer.gnome.org/hig-book/stable/ GNOME Human Interface Guidelines]&lt;br /&gt;
* [https://medium.com/product-design/5ccef7b3e1fc Kuidas iOS lapikumaks muutub aja jooksul]&lt;br /&gt;
* [http://www.behance.net/rogeroddone Google Visual Asset Guidelines] - Google&#039;i ikonograafia loomisest&lt;br /&gt;
* [http://www.theverge.com/2013/8/29/4640308/dark-patterns-inside-the-interfaces-designed-to-trick-you Dark Patterns] - salakavalatest kasutajaliidese mustritest.&lt;br /&gt;
* [https://medium.com/@zmh/bye-google-maps-ea3ea10f84dc CityMapper vs Google Maps] - UX võrdlus&lt;br /&gt;
* [http://www.allenpike.com/2014/schrodingers-shift-key/ iOS 8 ja shift]&lt;br /&gt;
* [https://xss-game.appspot.com/ Cross-Site Scripting] - tore mäng turvaprobleemidest kasutajaliidese ehitamisel&lt;br /&gt;
* [http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ Vihakõne PHP suunal] - väga must huumor&lt;br /&gt;
* [http://blog.martindoms.com/2011/01/24/poor-ui-design-can-kill/ Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest]&lt;br /&gt;
* [http://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name How Apple Is Giving Design A Bad Name] - kuidas Apple oma liideste disainiga veidi rappa on jõudnud&lt;br /&gt;
* [https://www.npmjs.com/package/jade Jade - miinimumsüntaksiga HTML]&lt;br /&gt;
* [http://sass-lang.com/guide Sass - miinimumsüntaksiga CSS]&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kasutajaliidesed]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=14264</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=14264"/>
		<updated>2018-01-30T19:43:27Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Tulemused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Disain vs ux.jpg|right]]Kursuse kood: &amp;lt;b&amp;gt;ITV0130&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://www.lambda.ee/index.php/Kasutajaliidesed or http://www.lambda.ee/index/itv0130&amp;lt;br&amp;gt;&lt;br /&gt;
Õppejõud: Jaagup Irve&amp;lt;br&amp;gt;&lt;br /&gt;
Kontakt: jaagup.irve@ttu.ee, TTÜ ruum ICT-425&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=13571 2016] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=12421 2015] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=11832 2014] [[Kasutajaliidesed (2013)|2013]] [[Kasutajaliidesed (2012)|2012]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Korraldusest ==&lt;br /&gt;
&lt;br /&gt;
Loengutes selgitame kasutajaliideste arendamise põhimõtteid. Harjutustundide eesmärk on tutvustada laborite tegemiseks tarvilikke tehnilisi lahendusi. Praktikumis lahendame iga nädal mõnd konkreetset liidese ehitamisel ettetulevat probleemi (kui pole kodutööde esitamise nädal, sest siis tegeleme ainult sellega)&lt;br /&gt;
&lt;br /&gt;
Aasta 2017 puhul võib esineda mõningane kõrvalekalle etteantud projektist, sest õppejõul on üks kinnisidee tekkinud ja teie olete selle katsejänesed. Sellest esimeses loengus.&lt;br /&gt;
&lt;br /&gt;
*[https://bitbucket.org/XonX/android-demo Juri Kazjulja loengu repo]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltööst ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltööd on võimalik teha 17. ja 24. mail. Oluline on &#039;&#039;&#039;registreerida&#039;&#039;&#039; [https://ois.ttu.ee/ õppeinfosüsteemis].&lt;br /&gt;
&lt;br /&gt;
* 17. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U06A-229&#039;&#039;&#039;&lt;br /&gt;
* 24. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U02-102&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Varasemate aastate kontrolltöö hinde võib paluda otse üle kanda. Kontrolltööle võtke ruumi kaasa ainult paber-pliiats ja dokument. Kõhurääkijate ja mobiilinokkijate tööd võtan ära ja ei hinda. Tööd saab teha üks kord (topelt-käimisel teist tööd ei hinda).&lt;br /&gt;
&lt;br /&gt;
== Hindest ==&lt;br /&gt;
&lt;br /&gt;
Aine lõppeb hindelise arvestusega. Aine hinne koosneb kolmest komponendist:&lt;br /&gt;
* Liidese projektid: Meeskonnad ehitavad hindelised liidesed (60p)&lt;br /&gt;
** [[Projekt 1: Politsei e-avaldus]]&lt;br /&gt;
** [[Projekt 2: Preemia]]&lt;br /&gt;
** [[Projekt 3: Typonaut]]&lt;br /&gt;
* Kontrolltöö lugemismaterjalide ja loengumaterjalide peale (40p)&lt;br /&gt;
&lt;br /&gt;
Projektide grupid loosime ja vahetame gruppe iga projekti puhul.&lt;br /&gt;
&lt;br /&gt;
== Praktikumid ==&lt;br /&gt;
&lt;br /&gt;
* [[UI:Prototüüp|Prototüüpimine paberil]]&lt;br /&gt;
* [[UI:Bootstrap|Veebilehtede põhjad]]&lt;br /&gt;
* [[UI:Frustratsioon|Frustratsiooniliides]]&lt;br /&gt;
* [[UI:Nurgelised Kassid|Nurgelised kassid]]&lt;br /&gt;
* [[UI:SASS|Süntaktiliselt äge CSS]]&lt;br /&gt;
* [[UI:Nurgelised_Koerad|Nurgelised koerad]]&lt;br /&gt;
* [[UI:Animatsioonid]]&lt;br /&gt;
* [[UI:Django (Sissejuhatus)|Django Sissejuhatus]]&lt;br /&gt;
* [[UI:Django (Edasijuhatus)|Django Edasijuhatus]]&lt;br /&gt;
* [[UI:Kasutajatestid|Kasutajatestid]]&lt;br /&gt;
&lt;br /&gt;
== Videod == &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLMQzXA1f24AdPMsiYydc4rcAtHN-MiC6D&amp;amp;feature=view_all CSSi tutvustusvideod]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltöö ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö toimub viimase loengu ajal, loengu ruumides. Kontrolltöö sisuks on alltoodud materjalide lugemiskontroll ning HTML/javascripti tehniliste küsimuste lahendamine paberil.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lugemist &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A List Apart: [http://alistapart.com/article/indefenseofeyecandy In Defence of Eye Candy] - miks ilus liides on &amp;quot;parem&amp;quot;.&lt;br /&gt;
* Spolsky: [http://www.joelonsoftware.com/uibook/fog0000000249.html User Interface Design For Programmers] - kontrollitundest, kasutajamudelist ja päris inimestest&lt;br /&gt;
* Brandon Walkin: [http://www.brandonwalkin.com/blog/2009/08/10/managing-ui-complexity/ Managing UI complexity] - sellest kuidas asju kasutaja eest ära peita&lt;br /&gt;
* Ask Tog: [http://asktog.com/atc/principles-of-interaction-design/ First Principles of User Interaction Design] - tee liides valmis ja loe see uuesti läbi&lt;br /&gt;
* Nielsen: [http://www.nngroup.com/articles/ten-usability-heuristics/ 10 heuristilist kriteeriumit] - liidese testimiseks&lt;br /&gt;
* [http://ui-patterns.com/patterns UI-Patterns.com] - input, navigation, data&lt;br /&gt;
* [http://www.joelonsoftware.com/articles/Unicode.html Spolsky: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]&lt;br /&gt;
* [http://friedcellcollective.net/outbreak/2007/12/13/messing-up-the-interface/ kuidas vormid koledaks lähevad] ja [http://www.lukew.com/ff/entry.asp?1502 vormide disainist]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Tehniline &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.&lt;br /&gt;
* HTML DOM põhipunktid &lt;br /&gt;
* Cookied ja sessioonid (vt http://en.wikipedia.org/wiki/HTTP_cookie, http://www.quirksmode.org/js/cookies.html). Peab aru saama cookie põhimõtetest server-side ja aru saama javascripti näidetest cookiede kasutamise kohta. Programmeerimisülesannet selle kohta ei tule.&lt;br /&gt;
* Cgi protokoll (vt http://www.jmarshall.com/easy/cgi/). Peab aru saama, kuidas vormisisusid postitaktakse, mis vahe on GET ja POST protokollil.&lt;br /&gt;
&lt;br /&gt;
== Niisama huvitavat lugemist == &lt;br /&gt;
* [https://www.codeschool.com/courses/shaping-up-with-angular-js Shaping up with angular] - imeline angulari veebikoolitus (aga spämmib teid pärast rohkelt äraütlemisvõimalusega)&lt;br /&gt;
* [http://www.theverge.com/2013/1/24/3904134/google-redesign-how-larry-page-engineered-beautiful-revolution Redesigning Google: How Larry Page Engineered Beautiful Revolution] - kuidas Google ennast hiljuti ümber ehitas&lt;br /&gt;
* [http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown Amazoni alam-menüü nipp]&lt;br /&gt;
* [http://paulrouget.com/e/devtoolsnext/ Firefox developer tools] - lahedusi Mozillalt&lt;br /&gt;
* [http://www.trinidad.ee/public/materjalid/Kasutajakeskse_veebi_lehekylgede_disain.pdf RISO: Kasutajakeskse veebi lehekülgede disain (.pdf)]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx Windows User Experience Interaction guidelines] - Win7&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx UX Guidelines for Windows Store apps] - Win 8 &lt;br /&gt;
* [http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html iOS Human Interface Guidelines]&lt;br /&gt;
* [https://developer.android.com/design/index.html Android UI Design]&lt;br /&gt;
* [https://developer.gnome.org/hig-book/stable/ GNOME Human Interface Guidelines]&lt;br /&gt;
* [https://medium.com/product-design/5ccef7b3e1fc Kuidas iOS lapikumaks muutub aja jooksul]&lt;br /&gt;
* [http://www.behance.net/rogeroddone Google Visual Asset Guidelines] - Google&#039;i ikonograafia loomisest&lt;br /&gt;
* [http://www.theverge.com/2013/8/29/4640308/dark-patterns-inside-the-interfaces-designed-to-trick-you Dark Patterns] - salakavalatest kasutajaliidese mustritest.&lt;br /&gt;
* [https://medium.com/@zmh/bye-google-maps-ea3ea10f84dc CityMapper vs Google Maps] - UX võrdlus&lt;br /&gt;
* [http://www.allenpike.com/2014/schrodingers-shift-key/ iOS 8 ja shift]&lt;br /&gt;
* [https://xss-game.appspot.com/ Cross-Site Scripting] - tore mäng turvaprobleemidest kasutajaliidese ehitamisel&lt;br /&gt;
* [http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ Vihakõne PHP suunal] - väga must huumor&lt;br /&gt;
* [http://blog.martindoms.com/2011/01/24/poor-ui-design-can-kill/ Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest]&lt;br /&gt;
* [http://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name How Apple Is Giving Design A Bad Name] - kuidas Apple oma liideste disainiga veidi rappa on jõudnud&lt;br /&gt;
* [https://www.npmjs.com/package/jade Jade - miinimumsüntaksiga HTML]&lt;br /&gt;
* [http://sass-lang.com/guide Sass - miinimumsüntaksiga CSS]&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kasutajaliidesed]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14253</id>
		<title>Real-Time Operating Systems and Systems Programming</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14253"/>
		<updated>2018-01-24T19:06:36Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Exams */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
Course code: &#039;&#039;&#039;iti8510&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Link: [http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming] [http://www.lambda.ee/index.php/iti8510 http://www.lambda.ee/index.php/iti8510]&amp;lt;br/&amp;gt;&lt;br /&gt;
Lecturer: Jaagup Irve&amp;lt;br/&amp;gt;&lt;br /&gt;
Contact: jaagup.irve@ttu.ee, 56463800, room ITC-425&amp;lt;br/&amp;gt;&lt;br /&gt;
Previous courses: [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=10337 2012] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12109 2014] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12994 2015] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=13540 2016]&lt;br /&gt;
&lt;br /&gt;
== Exams ==&lt;br /&gt;
* 25th January is an exam day. Please send an e-mail if you cannot register in OIS due to having an &amp;quot;open&amp;quot; grade for an exam.&lt;br /&gt;
&lt;br /&gt;
== Points and Grades ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The exams have all been graded, most of you did really well this year!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/e/2PACX-1vTpTftiW7-otcY9y87FJonKVtMc28Kr9x53Q6_tQl3iyoERLAtItTORYb25T07LeuD7_MdMx1xBe27t/pubhtml?gid=721023360&amp;amp;single=true Points and grades for 2017]&lt;br /&gt;
&lt;br /&gt;
== Huffman lab== &lt;br /&gt;
&lt;br /&gt;
* The deadline for the Huffman lab is November 10, 2017.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=5266247&amp;amp;p_id=101240&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=iti8510&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_opetsem=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= Course card in Studies Information System]&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Things may change a bit as we go&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Introduction [[Media:Rtos_01.pdf|PDF]]&lt;br /&gt;
# IO, Hardware interrupts [[Media:Rtos_02.pdf|PDF]]&lt;br /&gt;
# Stack, longjmp [[Media:Rtos_03.pdf|PDF]] &lt;br /&gt;
# Heap, 2d arrays [[Media:Rtos_04.pdf|PDF]]&lt;br /&gt;
# Software interrupts (signals) [[Media:Rtos_05.pdf|PDF]]&lt;br /&gt;
# Threads, Mutexes [[Media:Rtos_06.pdf|PDF]]&lt;br /&gt;
# Scheduling, Process, Demon, Zombie [[Media:Rtos_07.pdf|PDF]]&lt;br /&gt;
# Standard IO, file management, directory management etc [[Media:Rtos_08.pdf|PDF]]&lt;br /&gt;
# Programming an Operating System [[Media:Rtos_09.pdf|PDF]]&lt;br /&gt;
# Optimizing [[Media:Rtos_10.pdf|PDF]]&lt;br /&gt;
# Networking [[Media:Rtos_11.pdf|PDF]] ;&lt;br /&gt;
# C language constructions [[Media:Rtos_11a.pdf|PDF]]; Mmap() Compilation and utilities [[Media:Rtos_13.pdf|PDF]]&lt;br /&gt;
# Security [[Media:Rtos_12.pdf|PDF]]&lt;br /&gt;
&amp;lt;!--# Encoding, localization, internatialization in *nix [[Media:Rtos_14.pdf|PDF]]; Getopt() [[Media:Rtos_14b.pdf|PDF]]--&amp;gt;&lt;br /&gt;
# RTOS: On Real Time Systems [[Media:Rtos_15.pdf|PDF]]&lt;br /&gt;
# Conclusion and Summary [[Media:Rtos_16.pdf|PDF]]&lt;br /&gt;
&lt;br /&gt;
== Practice Information ==&lt;br /&gt;
&lt;br /&gt;
The server: dijkstra.cs.ttu.ee&lt;br /&gt;
{{Iti8510-praclist}}&lt;br /&gt;
&lt;br /&gt;
== Links==&lt;br /&gt;
&lt;br /&gt;
* [http://gd.tuwien.ac.at/languages/c/cref-mleslie/CONTRIB/SAWTELL/intro.html A well-written C tutorial]&lt;br /&gt;
* [http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences Toyota killer firmware]&lt;br /&gt;
* [http://blog.regehr.org/archives/1091 Use of Assertions]&lt;br /&gt;
* [http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html IPv6 howto]&lt;br /&gt;
* [https://matt.sh/howto-c How to C in 2016] - or why the lecturer should be deprecated&lt;br /&gt;
* [https://avicoder.me/2016/02/01/smashsatck-revived/ Smashing the Stack for Fun and Profit Redone] - a take on a classic&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kursus]][[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14252</id>
		<title>Real-Time Operating Systems and Systems Programming</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14252"/>
		<updated>2018-01-24T19:05:59Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Exams */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
Course code: &#039;&#039;&#039;iti8510&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Link: [http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming] [http://www.lambda.ee/index.php/iti8510 http://www.lambda.ee/index.php/iti8510]&amp;lt;br/&amp;gt;&lt;br /&gt;
Lecturer: Jaagup Irve&amp;lt;br/&amp;gt;&lt;br /&gt;
Contact: jaagup.irve@ttu.ee, 56463800, room ITC-425&amp;lt;br/&amp;gt;&lt;br /&gt;
Previous courses: [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=10337 2012] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12109 2014] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12994 2015] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=13540 2016]&lt;br /&gt;
&lt;br /&gt;
== Exams ==&lt;br /&gt;
* 25th January is an exam day. Please send an e-mail since OIS won&#039;t let you register properly if you have registered for the January exam since the grade is still open.&lt;br /&gt;
&lt;br /&gt;
== Points and Grades ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The exams have all been graded, most of you did really well this year!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/e/2PACX-1vTpTftiW7-otcY9y87FJonKVtMc28Kr9x53Q6_tQl3iyoERLAtItTORYb25T07LeuD7_MdMx1xBe27t/pubhtml?gid=721023360&amp;amp;single=true Points and grades for 2017]&lt;br /&gt;
&lt;br /&gt;
== Huffman lab== &lt;br /&gt;
&lt;br /&gt;
* The deadline for the Huffman lab is November 10, 2017.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=5266247&amp;amp;p_id=101240&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=iti8510&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_opetsem=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= Course card in Studies Information System]&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Things may change a bit as we go&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Introduction [[Media:Rtos_01.pdf|PDF]]&lt;br /&gt;
# IO, Hardware interrupts [[Media:Rtos_02.pdf|PDF]]&lt;br /&gt;
# Stack, longjmp [[Media:Rtos_03.pdf|PDF]] &lt;br /&gt;
# Heap, 2d arrays [[Media:Rtos_04.pdf|PDF]]&lt;br /&gt;
# Software interrupts (signals) [[Media:Rtos_05.pdf|PDF]]&lt;br /&gt;
# Threads, Mutexes [[Media:Rtos_06.pdf|PDF]]&lt;br /&gt;
# Scheduling, Process, Demon, Zombie [[Media:Rtos_07.pdf|PDF]]&lt;br /&gt;
# Standard IO, file management, directory management etc [[Media:Rtos_08.pdf|PDF]]&lt;br /&gt;
# Programming an Operating System [[Media:Rtos_09.pdf|PDF]]&lt;br /&gt;
# Optimizing [[Media:Rtos_10.pdf|PDF]]&lt;br /&gt;
# Networking [[Media:Rtos_11.pdf|PDF]] ;&lt;br /&gt;
# C language constructions [[Media:Rtos_11a.pdf|PDF]]; Mmap() Compilation and utilities [[Media:Rtos_13.pdf|PDF]]&lt;br /&gt;
# Security [[Media:Rtos_12.pdf|PDF]]&lt;br /&gt;
&amp;lt;!--# Encoding, localization, internatialization in *nix [[Media:Rtos_14.pdf|PDF]]; Getopt() [[Media:Rtos_14b.pdf|PDF]]--&amp;gt;&lt;br /&gt;
# RTOS: On Real Time Systems [[Media:Rtos_15.pdf|PDF]]&lt;br /&gt;
# Conclusion and Summary [[Media:Rtos_16.pdf|PDF]]&lt;br /&gt;
&lt;br /&gt;
== Practice Information ==&lt;br /&gt;
&lt;br /&gt;
The server: dijkstra.cs.ttu.ee&lt;br /&gt;
{{Iti8510-praclist}}&lt;br /&gt;
&lt;br /&gt;
== Links==&lt;br /&gt;
&lt;br /&gt;
* [http://gd.tuwien.ac.at/languages/c/cref-mleslie/CONTRIB/SAWTELL/intro.html A well-written C tutorial]&lt;br /&gt;
* [http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences Toyota killer firmware]&lt;br /&gt;
* [http://blog.regehr.org/archives/1091 Use of Assertions]&lt;br /&gt;
* [http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html IPv6 howto]&lt;br /&gt;
* [https://matt.sh/howto-c How to C in 2016] - or why the lecturer should be deprecated&lt;br /&gt;
* [https://avicoder.me/2016/02/01/smashsatck-revived/ Smashing the Stack for Fun and Profit Redone] - a take on a classic&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kursus]][[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14251</id>
		<title>Real-Time Operating Systems and Systems Programming</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14251"/>
		<updated>2018-01-22T18:42:19Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Points and Grades */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
Course code: &#039;&#039;&#039;iti8510&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Link: [http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming] [http://www.lambda.ee/index.php/iti8510 http://www.lambda.ee/index.php/iti8510]&amp;lt;br/&amp;gt;&lt;br /&gt;
Lecturer: Jaagup Irve&amp;lt;br/&amp;gt;&lt;br /&gt;
Contact: jaagup.irve@ttu.ee, 56463800, room ITC-425&amp;lt;br/&amp;gt;&lt;br /&gt;
Previous courses: [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=10337 2012] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12109 2014] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12994 2015] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=13540 2016]&lt;br /&gt;
&lt;br /&gt;
== Exams ==&lt;br /&gt;
* 25th January might become an exam day. Please send an e-mail if you want this to happen.&lt;br /&gt;
&lt;br /&gt;
== Points and Grades ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The exams have all been graded, most of you did really well this year!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/e/2PACX-1vTpTftiW7-otcY9y87FJonKVtMc28Kr9x53Q6_tQl3iyoERLAtItTORYb25T07LeuD7_MdMx1xBe27t/pubhtml?gid=721023360&amp;amp;single=true Points and grades for 2017]&lt;br /&gt;
&lt;br /&gt;
== Huffman lab== &lt;br /&gt;
&lt;br /&gt;
* The deadline for the Huffman lab is November 10, 2017.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=5266247&amp;amp;p_id=101240&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=iti8510&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_opetsem=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= Course card in Studies Information System]&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Things may change a bit as we go&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Introduction [[Media:Rtos_01.pdf|PDF]]&lt;br /&gt;
# IO, Hardware interrupts [[Media:Rtos_02.pdf|PDF]]&lt;br /&gt;
# Stack, longjmp [[Media:Rtos_03.pdf|PDF]] &lt;br /&gt;
# Heap, 2d arrays [[Media:Rtos_04.pdf|PDF]]&lt;br /&gt;
# Software interrupts (signals) [[Media:Rtos_05.pdf|PDF]]&lt;br /&gt;
# Threads, Mutexes [[Media:Rtos_06.pdf|PDF]]&lt;br /&gt;
# Scheduling, Process, Demon, Zombie [[Media:Rtos_07.pdf|PDF]]&lt;br /&gt;
# Standard IO, file management, directory management etc [[Media:Rtos_08.pdf|PDF]]&lt;br /&gt;
# Programming an Operating System [[Media:Rtos_09.pdf|PDF]]&lt;br /&gt;
# Optimizing [[Media:Rtos_10.pdf|PDF]]&lt;br /&gt;
# Networking [[Media:Rtos_11.pdf|PDF]] ;&lt;br /&gt;
# C language constructions [[Media:Rtos_11a.pdf|PDF]]; Mmap() Compilation and utilities [[Media:Rtos_13.pdf|PDF]]&lt;br /&gt;
# Security [[Media:Rtos_12.pdf|PDF]]&lt;br /&gt;
&amp;lt;!--# Encoding, localization, internatialization in *nix [[Media:Rtos_14.pdf|PDF]]; Getopt() [[Media:Rtos_14b.pdf|PDF]]--&amp;gt;&lt;br /&gt;
# RTOS: On Real Time Systems [[Media:Rtos_15.pdf|PDF]]&lt;br /&gt;
# Conclusion and Summary [[Media:Rtos_16.pdf|PDF]]&lt;br /&gt;
&lt;br /&gt;
== Practice Information ==&lt;br /&gt;
&lt;br /&gt;
The server: dijkstra.cs.ttu.ee&lt;br /&gt;
{{Iti8510-praclist}}&lt;br /&gt;
&lt;br /&gt;
== Links==&lt;br /&gt;
&lt;br /&gt;
* [http://gd.tuwien.ac.at/languages/c/cref-mleslie/CONTRIB/SAWTELL/intro.html A well-written C tutorial]&lt;br /&gt;
* [http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences Toyota killer firmware]&lt;br /&gt;
* [http://blog.regehr.org/archives/1091 Use of Assertions]&lt;br /&gt;
* [http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html IPv6 howto]&lt;br /&gt;
* [https://matt.sh/howto-c How to C in 2016] - or why the lecturer should be deprecated&lt;br /&gt;
* [https://avicoder.me/2016/02/01/smashsatck-revived/ Smashing the Stack for Fun and Profit Redone] - a take on a classic&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kursus]][[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14250</id>
		<title>Real-Time Operating Systems and Systems Programming</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14250"/>
		<updated>2018-01-22T18:40:36Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Exams */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
Course code: &#039;&#039;&#039;iti8510&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Link: [http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming] [http://www.lambda.ee/index.php/iti8510 http://www.lambda.ee/index.php/iti8510]&amp;lt;br/&amp;gt;&lt;br /&gt;
Lecturer: Jaagup Irve&amp;lt;br/&amp;gt;&lt;br /&gt;
Contact: jaagup.irve@ttu.ee, 56463800, room ITC-425&amp;lt;br/&amp;gt;&lt;br /&gt;
Previous courses: [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=10337 2012] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12109 2014] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12994 2015] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=13540 2016]&lt;br /&gt;
&lt;br /&gt;
== Exams ==&lt;br /&gt;
* 25th January might become an exam day. Please send an e-mail if you want this to happen.&lt;br /&gt;
&lt;br /&gt;
== Points and Grades ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/e/2PACX-1vTpTftiW7-otcY9y87FJonKVtMc28Kr9x53Q6_tQl3iyoERLAtItTORYb25T07LeuD7_MdMx1xBe27t/pubhtml?gid=721023360&amp;amp;single=true Points and grades for 2017]&lt;br /&gt;
&lt;br /&gt;
== Huffman lab== &lt;br /&gt;
&lt;br /&gt;
* The deadline for the Huffman lab is November 10, 2017.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=5266247&amp;amp;p_id=101240&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=iti8510&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_opetsem=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= Course card in Studies Information System]&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Things may change a bit as we go&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Introduction [[Media:Rtos_01.pdf|PDF]]&lt;br /&gt;
# IO, Hardware interrupts [[Media:Rtos_02.pdf|PDF]]&lt;br /&gt;
# Stack, longjmp [[Media:Rtos_03.pdf|PDF]] &lt;br /&gt;
# Heap, 2d arrays [[Media:Rtos_04.pdf|PDF]]&lt;br /&gt;
# Software interrupts (signals) [[Media:Rtos_05.pdf|PDF]]&lt;br /&gt;
# Threads, Mutexes [[Media:Rtos_06.pdf|PDF]]&lt;br /&gt;
# Scheduling, Process, Demon, Zombie [[Media:Rtos_07.pdf|PDF]]&lt;br /&gt;
# Standard IO, file management, directory management etc [[Media:Rtos_08.pdf|PDF]]&lt;br /&gt;
# Programming an Operating System [[Media:Rtos_09.pdf|PDF]]&lt;br /&gt;
# Optimizing [[Media:Rtos_10.pdf|PDF]]&lt;br /&gt;
# Networking [[Media:Rtos_11.pdf|PDF]] ;&lt;br /&gt;
# C language constructions [[Media:Rtos_11a.pdf|PDF]]; Mmap() Compilation and utilities [[Media:Rtos_13.pdf|PDF]]&lt;br /&gt;
# Security [[Media:Rtos_12.pdf|PDF]]&lt;br /&gt;
&amp;lt;!--# Encoding, localization, internatialization in *nix [[Media:Rtos_14.pdf|PDF]]; Getopt() [[Media:Rtos_14b.pdf|PDF]]--&amp;gt;&lt;br /&gt;
# RTOS: On Real Time Systems [[Media:Rtos_15.pdf|PDF]]&lt;br /&gt;
# Conclusion and Summary [[Media:Rtos_16.pdf|PDF]]&lt;br /&gt;
&lt;br /&gt;
== Practice Information ==&lt;br /&gt;
&lt;br /&gt;
The server: dijkstra.cs.ttu.ee&lt;br /&gt;
{{Iti8510-praclist}}&lt;br /&gt;
&lt;br /&gt;
== Links==&lt;br /&gt;
&lt;br /&gt;
* [http://gd.tuwien.ac.at/languages/c/cref-mleslie/CONTRIB/SAWTELL/intro.html A well-written C tutorial]&lt;br /&gt;
* [http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences Toyota killer firmware]&lt;br /&gt;
* [http://blog.regehr.org/archives/1091 Use of Assertions]&lt;br /&gt;
* [http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html IPv6 howto]&lt;br /&gt;
* [https://matt.sh/howto-c How to C in 2016] - or why the lecturer should be deprecated&lt;br /&gt;
* [https://avicoder.me/2016/02/01/smashsatck-revived/ Smashing the Stack for Fun and Profit Redone] - a take on a classic&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kursus]][[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14204</id>
		<title>Real-Time Operating Systems and Systems Programming</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14204"/>
		<updated>2017-12-22T08:58:59Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Exams */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
Course code: &#039;&#039;&#039;iti8510&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Link: [http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming] [http://www.lambda.ee/index.php/iti8510 http://www.lambda.ee/index.php/iti8510]&amp;lt;br/&amp;gt;&lt;br /&gt;
Lecturer: Jaagup Irve&amp;lt;br/&amp;gt;&lt;br /&gt;
Contact: jaagup.irve@ttu.ee, 56463800, room ITC-425&amp;lt;br/&amp;gt;&lt;br /&gt;
Previous courses: [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=10337 2012] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12109 2014] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12994 2015] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=13540 2016]&lt;br /&gt;
&lt;br /&gt;
== Exams ==&lt;br /&gt;
* December 22, 10:00 First opportunity during the lecture time at our usual room (not necessary to register in ois)&lt;br /&gt;
* January 9 (note: Tuesday), 10:00 SOC-313: Second exam time - please register in OIS (registrations are open now for this exam)&lt;br /&gt;
&lt;br /&gt;
== Points and Grades ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/e/2PACX-1vTpTftiW7-otcY9y87FJonKVtMc28Kr9x53Q6_tQl3iyoERLAtItTORYb25T07LeuD7_MdMx1xBe27t/pubhtml?gid=721023360&amp;amp;single=true Points and grades for 2017]&lt;br /&gt;
&lt;br /&gt;
== Huffman lab== &lt;br /&gt;
&lt;br /&gt;
* The deadline for the Huffman lab is November 10, 2017.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=5266247&amp;amp;p_id=101240&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=iti8510&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_opetsem=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= Course card in Studies Information System]&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Things may change a bit as we go&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Introduction [[Media:Rtos_01.pdf|PDF]]&lt;br /&gt;
# IO, Hardware interrupts [[Media:Rtos_02.pdf|PDF]]&lt;br /&gt;
# Stack, longjmp [[Media:Rtos_03.pdf|PDF]] &lt;br /&gt;
# Heap, 2d arrays [[Media:Rtos_04.pdf|PDF]]&lt;br /&gt;
# Software interrupts (signals) [[Media:Rtos_05.pdf|PDF]]&lt;br /&gt;
# Threads, Mutexes [[Media:Rtos_06.pdf|PDF]]&lt;br /&gt;
# Scheduling, Process, Demon, Zombie [[Media:Rtos_07.pdf|PDF]]&lt;br /&gt;
# Standard IO, file management, directory management etc [[Media:Rtos_08.pdf|PDF]]&lt;br /&gt;
# Programming an Operating System [[Media:Rtos_09.pdf|PDF]]&lt;br /&gt;
# Optimizing [[Media:Rtos_10.pdf|PDF]]&lt;br /&gt;
# Networking [[Media:Rtos_11.pdf|PDF]] ;&lt;br /&gt;
# C language constructions [[Media:Rtos_11a.pdf|PDF]]; Mmap() Compilation and utilities [[Media:Rtos_13.pdf|PDF]]&lt;br /&gt;
# Security [[Media:Rtos_12.pdf|PDF]]&lt;br /&gt;
&amp;lt;!--# Encoding, localization, internatialization in *nix [[Media:Rtos_14.pdf|PDF]]; Getopt() [[Media:Rtos_14b.pdf|PDF]]--&amp;gt;&lt;br /&gt;
# RTOS: On Real Time Systems [[Media:Rtos_15.pdf|PDF]]&lt;br /&gt;
# Conclusion and Summary [[Media:Rtos_16.pdf|PDF]]&lt;br /&gt;
&lt;br /&gt;
== Practice Information ==&lt;br /&gt;
&lt;br /&gt;
The server: dijkstra.cs.ttu.ee&lt;br /&gt;
{{Iti8510-praclist}}&lt;br /&gt;
&lt;br /&gt;
== Links==&lt;br /&gt;
&lt;br /&gt;
* [http://gd.tuwien.ac.at/languages/c/cref-mleslie/CONTRIB/SAWTELL/intro.html A well-written C tutorial]&lt;br /&gt;
* [http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences Toyota killer firmware]&lt;br /&gt;
* [http://blog.regehr.org/archives/1091 Use of Assertions]&lt;br /&gt;
* [http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html IPv6 howto]&lt;br /&gt;
* [https://matt.sh/howto-c How to C in 2016] - or why the lecturer should be deprecated&lt;br /&gt;
* [https://avicoder.me/2016/02/01/smashsatck-revived/ Smashing the Stack for Fun and Profit Redone] - a take on a classic&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kursus]][[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14203</id>
		<title>Real-Time Operating Systems and Systems Programming</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14203"/>
		<updated>2017-12-21T06:57:27Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Exams */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
Course code: &#039;&#039;&#039;iti8510&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Link: [http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming] [http://www.lambda.ee/index.php/iti8510 http://www.lambda.ee/index.php/iti8510]&amp;lt;br/&amp;gt;&lt;br /&gt;
Lecturer: Jaagup Irve&amp;lt;br/&amp;gt;&lt;br /&gt;
Contact: jaagup.irve@ttu.ee, 56463800, room ITC-425&amp;lt;br/&amp;gt;&lt;br /&gt;
Previous courses: [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=10337 2012] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12109 2014] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12994 2015] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=13540 2016]&lt;br /&gt;
&lt;br /&gt;
== Exams ==&lt;br /&gt;
* December 22, 10:00 First opportunity during the lecture time at our usual room (not necessary to register in ois)&lt;br /&gt;
* January 9 (note: Tuesday), 10:00 SOC-313: Second exam time - please register in OIS (will open when room confirmation arrives)&lt;br /&gt;
&lt;br /&gt;
== Points and Grades ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/e/2PACX-1vTpTftiW7-otcY9y87FJonKVtMc28Kr9x53Q6_tQl3iyoERLAtItTORYb25T07LeuD7_MdMx1xBe27t/pubhtml?gid=721023360&amp;amp;single=true Points and grades for 2017]&lt;br /&gt;
&lt;br /&gt;
== Huffman lab== &lt;br /&gt;
&lt;br /&gt;
* The deadline for the Huffman lab is November 10, 2017.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=5266247&amp;amp;p_id=101240&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=iti8510&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_opetsem=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= Course card in Studies Information System]&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Things may change a bit as we go&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Introduction [[Media:Rtos_01.pdf|PDF]]&lt;br /&gt;
# IO, Hardware interrupts [[Media:Rtos_02.pdf|PDF]]&lt;br /&gt;
# Stack, longjmp [[Media:Rtos_03.pdf|PDF]] &lt;br /&gt;
# Heap, 2d arrays [[Media:Rtos_04.pdf|PDF]]&lt;br /&gt;
# Software interrupts (signals) [[Media:Rtos_05.pdf|PDF]]&lt;br /&gt;
# Threads, Mutexes [[Media:Rtos_06.pdf|PDF]]&lt;br /&gt;
# Scheduling, Process, Demon, Zombie [[Media:Rtos_07.pdf|PDF]]&lt;br /&gt;
# Standard IO, file management, directory management etc [[Media:Rtos_08.pdf|PDF]]&lt;br /&gt;
# Programming an Operating System [[Media:Rtos_09.pdf|PDF]]&lt;br /&gt;
# Optimizing [[Media:Rtos_10.pdf|PDF]]&lt;br /&gt;
# Networking [[Media:Rtos_11.pdf|PDF]] ;&lt;br /&gt;
# C language constructions [[Media:Rtos_11a.pdf|PDF]]; Mmap() Compilation and utilities [[Media:Rtos_13.pdf|PDF]]&lt;br /&gt;
# Security [[Media:Rtos_12.pdf|PDF]]&lt;br /&gt;
&amp;lt;!--# Encoding, localization, internatialization in *nix [[Media:Rtos_14.pdf|PDF]]; Getopt() [[Media:Rtos_14b.pdf|PDF]]--&amp;gt;&lt;br /&gt;
# RTOS: On Real Time Systems [[Media:Rtos_15.pdf|PDF]]&lt;br /&gt;
# Conclusion and Summary [[Media:Rtos_16.pdf|PDF]]&lt;br /&gt;
&lt;br /&gt;
== Practice Information ==&lt;br /&gt;
&lt;br /&gt;
The server: dijkstra.cs.ttu.ee&lt;br /&gt;
{{Iti8510-praclist}}&lt;br /&gt;
&lt;br /&gt;
== Links==&lt;br /&gt;
&lt;br /&gt;
* [http://gd.tuwien.ac.at/languages/c/cref-mleslie/CONTRIB/SAWTELL/intro.html A well-written C tutorial]&lt;br /&gt;
* [http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences Toyota killer firmware]&lt;br /&gt;
* [http://blog.regehr.org/archives/1091 Use of Assertions]&lt;br /&gt;
* [http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html IPv6 howto]&lt;br /&gt;
* [https://matt.sh/howto-c How to C in 2016] - or why the lecturer should be deprecated&lt;br /&gt;
* [https://avicoder.me/2016/02/01/smashsatck-revived/ Smashing the Stack for Fun and Profit Redone] - a take on a classic&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kursus]][[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14175</id>
		<title>Real-Time Operating Systems and Systems Programming</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14175"/>
		<updated>2017-12-14T22:18:02Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
Course code: &#039;&#039;&#039;iti8510&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Link: [http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming] [http://www.lambda.ee/index.php/iti8510 http://www.lambda.ee/index.php/iti8510]&amp;lt;br/&amp;gt;&lt;br /&gt;
Lecturer: Jaagup Irve&amp;lt;br/&amp;gt;&lt;br /&gt;
Contact: jaagup.irve@ttu.ee, 56463800, room ITC-425&amp;lt;br/&amp;gt;&lt;br /&gt;
Previous courses: [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=10337 2012] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12109 2014] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12994 2015] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=13540 2016]&lt;br /&gt;
&lt;br /&gt;
== Exams ==&lt;br /&gt;
* December 22, 10:00 First opportunity during the lecture time at our usual room (not necessary to register in ois)&lt;br /&gt;
* January 9 (note: Tuesday), 10:00 SOC-313: Second exam time - please register in OIS (will open when room confirmation arrives)&lt;br /&gt;
&lt;br /&gt;
== Huffman lab== &lt;br /&gt;
&lt;br /&gt;
* The deadline for the Huffman lab is November 10, 2017.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=5266247&amp;amp;p_id=101240&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=iti8510&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_opetsem=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= Course card in Studies Information System]&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Things may change a bit as we go&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Introduction [[Media:Rtos_01.pdf|PDF]]&lt;br /&gt;
# IO, Hardware interrupts [[Media:Rtos_02.pdf|PDF]]&lt;br /&gt;
# Stack, longjmp [[Media:Rtos_03.pdf|PDF]] &lt;br /&gt;
# Heap, 2d arrays [[Media:Rtos_04.pdf|PDF]]&lt;br /&gt;
# Software interrupts (signals) [[Media:Rtos_05.pdf|PDF]]&lt;br /&gt;
# Threads, Mutexes [[Media:Rtos_06.pdf|PDF]]&lt;br /&gt;
# Scheduling, Process, Demon, Zombie [[Media:Rtos_07.pdf|PDF]]&lt;br /&gt;
# Standard IO, file management, directory management etc [[Media:Rtos_08.pdf|PDF]]&lt;br /&gt;
# Programming an Operating System [[Media:Rtos_09.pdf|PDF]]&lt;br /&gt;
# Optimizing [[Media:Rtos_10.pdf|PDF]]&lt;br /&gt;
# Networking [[Media:Rtos_11.pdf|PDF]] ;&lt;br /&gt;
# C language constructions [[Media:Rtos_11a.pdf|PDF]]; Mmap() Compilation and utilities [[Media:Rtos_13.pdf|PDF]]&lt;br /&gt;
# Security [[Media:Rtos_12.pdf|PDF]]&lt;br /&gt;
&amp;lt;!--# Encoding, localization, internatialization in *nix [[Media:Rtos_14.pdf|PDF]]; Getopt() [[Media:Rtos_14b.pdf|PDF]]--&amp;gt;&lt;br /&gt;
# RTOS: On Real Time Systems [[Media:Rtos_15.pdf|PDF]]&lt;br /&gt;
# Conclusion and Summary [[Media:Rtos_16.pdf|PDF]]&lt;br /&gt;
&lt;br /&gt;
== Practice Information ==&lt;br /&gt;
&lt;br /&gt;
The server: dijkstra.cs.ttu.ee&lt;br /&gt;
{{Iti8510-praclist}}&lt;br /&gt;
&lt;br /&gt;
== Links==&lt;br /&gt;
&lt;br /&gt;
* [http://gd.tuwien.ac.at/languages/c/cref-mleslie/CONTRIB/SAWTELL/intro.html A well-written C tutorial]&lt;br /&gt;
* [http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences Toyota killer firmware]&lt;br /&gt;
* [http://blog.regehr.org/archives/1091 Use of Assertions]&lt;br /&gt;
* [http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html IPv6 howto]&lt;br /&gt;
* [https://matt.sh/howto-c How to C in 2016] - or why the lecturer should be deprecated&lt;br /&gt;
* [https://avicoder.me/2016/02/01/smashsatck-revived/ Smashing the Stack for Fun and Profit Redone] - a take on a classic&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kursus]][[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14174</id>
		<title>Real-Time Operating Systems and Systems Programming</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14174"/>
		<updated>2017-12-14T22:17:24Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
Course code: &#039;&#039;&#039;iti8510&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Link: [http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming] [http://www.lambda.ee/index.php/iti8510 http://www.lambda.ee/index.php/iti8510]&amp;lt;br/&amp;gt;&lt;br /&gt;
Lecturer: Jaagup Irve&amp;lt;br/&amp;gt;&lt;br /&gt;
Contact: jaagup.irve@ttu.ee, 56463800, room ITC-425&amp;lt;br/&amp;gt;&lt;br /&gt;
Previous courses: [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=10337 2012] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12109 2014] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12994 2015] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=13540 2016]&lt;br /&gt;
&lt;br /&gt;
== Exams ==&lt;br /&gt;
* December 22, 10:00 First opportunity during the lecture time at our usual room&lt;br /&gt;
* January 9 (note: Tuesday), 10:00 SOC-313: Second exam time - please register in OIS ()&lt;br /&gt;
&lt;br /&gt;
== Huffman lab== &lt;br /&gt;
&lt;br /&gt;
* The deadline for the Huffman lab is November 10, 2017.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=5266247&amp;amp;p_id=101240&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=iti8510&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_opetsem=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= Course card in Studies Information System]&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Things may change a bit as we go&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Introduction [[Media:Rtos_01.pdf|PDF]]&lt;br /&gt;
# IO, Hardware interrupts [[Media:Rtos_02.pdf|PDF]]&lt;br /&gt;
# Stack, longjmp [[Media:Rtos_03.pdf|PDF]] &lt;br /&gt;
# Heap, 2d arrays [[Media:Rtos_04.pdf|PDF]]&lt;br /&gt;
# Software interrupts (signals) [[Media:Rtos_05.pdf|PDF]]&lt;br /&gt;
# Threads, Mutexes [[Media:Rtos_06.pdf|PDF]]&lt;br /&gt;
# Scheduling, Process, Demon, Zombie [[Media:Rtos_07.pdf|PDF]]&lt;br /&gt;
# Standard IO, file management, directory management etc [[Media:Rtos_08.pdf|PDF]]&lt;br /&gt;
# Programming an Operating System [[Media:Rtos_09.pdf|PDF]]&lt;br /&gt;
# Optimizing [[Media:Rtos_10.pdf|PDF]]&lt;br /&gt;
# Networking [[Media:Rtos_11.pdf|PDF]] ;&lt;br /&gt;
# C language constructions [[Media:Rtos_11a.pdf|PDF]]; Mmap() Compilation and utilities [[Media:Rtos_13.pdf|PDF]]&lt;br /&gt;
# Security [[Media:Rtos_12.pdf|PDF]]&lt;br /&gt;
&amp;lt;!--# Encoding, localization, internatialization in *nix [[Media:Rtos_14.pdf|PDF]]; Getopt() [[Media:Rtos_14b.pdf|PDF]]--&amp;gt;&lt;br /&gt;
# RTOS: On Real Time Systems [[Media:Rtos_15.pdf|PDF]]&lt;br /&gt;
# Conclusion and Summary [[Media:Rtos_16.pdf|PDF]]&lt;br /&gt;
&lt;br /&gt;
== Practice Information ==&lt;br /&gt;
&lt;br /&gt;
The server: dijkstra.cs.ttu.ee&lt;br /&gt;
{{Iti8510-praclist}}&lt;br /&gt;
&lt;br /&gt;
== Links==&lt;br /&gt;
&lt;br /&gt;
* [http://gd.tuwien.ac.at/languages/c/cref-mleslie/CONTRIB/SAWTELL/intro.html A well-written C tutorial]&lt;br /&gt;
* [http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences Toyota killer firmware]&lt;br /&gt;
* [http://blog.regehr.org/archives/1091 Use of Assertions]&lt;br /&gt;
* [http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html IPv6 howto]&lt;br /&gt;
* [https://matt.sh/howto-c How to C in 2016] - or why the lecturer should be deprecated&lt;br /&gt;
* [https://avicoder.me/2016/02/01/smashsatck-revived/ Smashing the Stack for Fun and Profit Redone] - a take on a classic&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kursus]][[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Network_sockets_(ITI8510)&amp;diff=14130</id>
		<title>Network sockets (ITI8510)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Network_sockets_(ITI8510)&amp;diff=14130"/>
		<updated>2017-11-24T16:29:53Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;The goal is to try sending and receiving data over the socket interface&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will use socket(), connect(), bind(), listen(), accept() and socket addresses for the task.&lt;br /&gt;
&lt;br /&gt;
==Task==&lt;br /&gt;
&lt;br /&gt;
There are two separate tasks.&lt;br /&gt;
&lt;br /&gt;
=== Connection ===&lt;br /&gt;
&lt;br /&gt;
Write a program which tries connecting to a specified machine on specified port so the following command:&lt;br /&gt;
 connect www.lambda.ee 80&lt;br /&gt;
would connect to www.lambda.ee on port 80. Write&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;GET http://www.lambda.ee/wiki/ HTTP/1.0\r\n\r\n&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
to the socket and display any resulting data on screen. Terminate when connection is closed.&lt;br /&gt;
&lt;br /&gt;
=== Listening ===&lt;br /&gt;
&lt;br /&gt;
Write a server program which shows on screen whatever data is received from the network. The command line:&lt;br /&gt;
 listen 3333&lt;br /&gt;
would listen on port 3333 and display any received connections.&lt;br /&gt;
&lt;br /&gt;
When connection is made, display the address of the other connection, then display the data until connection is closed.&lt;br /&gt;
&lt;br /&gt;
== Bonus ==&lt;br /&gt;
&lt;br /&gt;
If the former part of the exercises does not provide you with sufficient brain-stimulation. Please try the following: Create a program which outputs the output of &amp;quot;ls -l&amp;quot; to the network on the given socket  when connected; using dup() or dup2() functions. For running a progam you could use fork() and execv(). It could work as follows:&lt;br /&gt;
 lsner 3333&lt;br /&gt;
&lt;br /&gt;
And then you could try it out using netcat for example.&lt;br /&gt;
&lt;br /&gt;
== Tips ==&lt;br /&gt;
&lt;br /&gt;
Use netcat for connecting and listening to your program:&lt;br /&gt;
 nc www.lambda.ee 80&lt;br /&gt;
 nc -l 8080&lt;br /&gt;
&lt;br /&gt;
Note that you can only listen to ports starting from 1024. In addition to that, the Dijkstra server has an external firewall which prevents connections from &#039;&#039;&#039;outside&#039;&#039;&#039; unless you listen on ports 7400-8000 .&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Optimization_(ITI8510)&amp;diff=14129</id>
		<title>Optimization (ITI8510)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Optimization_(ITI8510)&amp;diff=14129"/>
		<updated>2017-11-24T09:59:51Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&#039;&#039;Optimization of a program&#039;&#039; (Also available in [http://lambda.ee/w/index.php?title=Optimization_(ITI8510)&amp;amp;oldid=12060 Estonian])&lt;br /&gt;
&lt;br /&gt;
== Programm ==&lt;br /&gt;
&lt;br /&gt;
Write a program which will read a file and outputs its statistics.&lt;br /&gt;
&lt;br /&gt;
* For a &amp;quot;standard&amp;quot; input file with random content, please run:&lt;br /&gt;
 dd if=/dev/urandom of=random_file count=1048576 bs=1&lt;br /&gt;
&lt;br /&gt;
* The output of the program should be 256 human-readable lines of ASCII numbers, which represent the content of the file. The first line should contain the number of occurences of byte with a value of 0x0 (or binary zero) in the file and the last line the number of occurences of byte with value 0xff (or 256 in decimal).&lt;br /&gt;
* Measure the running time of the program with:&lt;br /&gt;
 time programname&lt;br /&gt;
&lt;br /&gt;
== Hints ==&lt;br /&gt;
&lt;br /&gt;
* Does the loop unrolling trick work?&lt;br /&gt;
* Perhaps it is possible to use parallel programming or threads?&lt;br /&gt;
* Does compilation optimization with -O work?&lt;br /&gt;
* Can you replace printf with something faster that you write yourself?&lt;br /&gt;
* Perhaps the keyword inline can be used.&lt;br /&gt;
* (Sadly mmap for file reading fails in dijkstra) Can you speed up the reading of the file with mmap()? (Note -- mmap not yet explained in the lecture)&lt;br /&gt;
&lt;br /&gt;
== Example code for base program ==&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 long int stats[256];&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
         int i, c;&lt;br /&gt;
        FILE * f; &lt;br /&gt;
 &lt;br /&gt;
         f = fopen(&amp;quot;random_file&amp;quot;, &amp;quot;r&amp;quot;);&lt;br /&gt;
         if(f == NULL) {&lt;br /&gt;
                 perror(&amp;quot;slowstat&amp;quot;);&lt;br /&gt;
                 exit(EXIT_FAILURE);&lt;br /&gt;
        } &lt;br /&gt;
 &lt;br /&gt;
         while((c = fgetc(f)) != EOF) {&lt;br /&gt;
                 stats[c]++;&lt;br /&gt;
        } &lt;br /&gt;
 &lt;br /&gt;
         for(i = 0; i &amp;lt; 255; i++) {&lt;br /&gt;
                 printf(&amp;quot;%ld\n&amp;quot;, stats[i]);&lt;br /&gt;
         }&lt;br /&gt;
         exit(EXIT_SUCCESS);&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14128</id>
		<title>Real-Time Operating Systems and Systems Programming</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14128"/>
		<updated>2017-11-24T09:47:21Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Lectures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
Course code: &#039;&#039;&#039;iti8510&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Link: [http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming] [http://www.lambda.ee/index.php/iti8510 http://www.lambda.ee/index.php/iti8510]&amp;lt;br/&amp;gt;&lt;br /&gt;
Lecturer: Jaagup Irve&amp;lt;br/&amp;gt;&lt;br /&gt;
Contact: jaagup.irve@ttu.ee, 56463800, room ITC-425&amp;lt;br/&amp;gt;&lt;br /&gt;
Previous courses: [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=10337 2012] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12109 2014] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12994 2015] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=13540 2016]&lt;br /&gt;
&lt;br /&gt;
== NOTE ==&lt;br /&gt;
* December 8, 2017 lecture will be replaced with a lecture from a video. Huffman delay penalty will be stopped for a week.&lt;br /&gt;
&lt;br /&gt;
== Huffman lab== &lt;br /&gt;
&lt;br /&gt;
* The deadline for the Huffman lab is November 10, 2017.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=5266247&amp;amp;p_id=101240&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=iti8510&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_opetsem=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= Course card in Studies Information System]&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Things may change a bit as we go&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Introduction [[Media:Rtos_01.pdf|PDF]]&lt;br /&gt;
# IO, Hardware interrupts [[Media:Rtos_02.pdf|PDF]]&lt;br /&gt;
# Stack, longjmp [[Media:Rtos_03.pdf|PDF]] &lt;br /&gt;
# Heap, 2d arrays [[Media:Rtos_04.pdf|PDF]]&lt;br /&gt;
# Software interrupts (signals) [[Media:Rtos_05.pdf|PDF]]&lt;br /&gt;
# Threads, Mutexes [[Media:Rtos_06.pdf|PDF]]&lt;br /&gt;
# Scheduling, Process, Demon, Zombie [[Media:Rtos_07.pdf|PDF]]&lt;br /&gt;
# Standard IO, file management, directory management etc [[Media:Rtos_08.pdf|PDF]]&lt;br /&gt;
# Programming an Operating System [[Media:Rtos_09.pdf|PDF]]&lt;br /&gt;
# Optimizing [[Media:Rtos_10.pdf|PDF]]&lt;br /&gt;
# Networking [[Media:Rtos_11.pdf|PDF]] ;&lt;br /&gt;
# C language constructions [[Media:Rtos_11a.pdf|PDF]]; Mmap() Compilation and utilities [[Media:Rtos_13.pdf|PDF]]&lt;br /&gt;
# Security [[Media:Rtos_12.pdf|PDF]]&lt;br /&gt;
&amp;lt;!--# Encoding, localization, internatialization in *nix [[Media:Rtos_14.pdf|PDF]]; Getopt() [[Media:Rtos_14b.pdf|PDF]]--&amp;gt;&lt;br /&gt;
# RTOS: On Real Time Systems [[Media:Rtos_15.pdf|PDF]]&lt;br /&gt;
# Conclusion and Summary [[Media:Rtos_16.pdf|PDF]]&lt;br /&gt;
&lt;br /&gt;
== Practice Information ==&lt;br /&gt;
&lt;br /&gt;
The server: dijkstra.cs.ttu.ee&lt;br /&gt;
{{Iti8510-praclist}}&lt;br /&gt;
&lt;br /&gt;
== Links==&lt;br /&gt;
&lt;br /&gt;
* [http://gd.tuwien.ac.at/languages/c/cref-mleslie/CONTRIB/SAWTELL/intro.html A well-written C tutorial]&lt;br /&gt;
* [http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences Toyota killer firmware]&lt;br /&gt;
* [http://blog.regehr.org/archives/1091 Use of Assertions]&lt;br /&gt;
* [http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html IPv6 howto]&lt;br /&gt;
* [https://matt.sh/howto-c How to C in 2016] - or why the lecturer should be deprecated&lt;br /&gt;
* [https://avicoder.me/2016/02/01/smashsatck-revived/ Smashing the Stack for Fun and Profit Redone] - a take on a classic&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kursus]][[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14127</id>
		<title>Real-Time Operating Systems and Systems Programming</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=14127"/>
		<updated>2017-11-24T09:45:12Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
Course code: &#039;&#039;&#039;iti8510&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Link: [http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming] [http://www.lambda.ee/index.php/iti8510 http://www.lambda.ee/index.php/iti8510]&amp;lt;br/&amp;gt;&lt;br /&gt;
Lecturer: Jaagup Irve&amp;lt;br/&amp;gt;&lt;br /&gt;
Contact: jaagup.irve@ttu.ee, 56463800, room ITC-425&amp;lt;br/&amp;gt;&lt;br /&gt;
Previous courses: [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=10337 2012] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12109 2014] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12994 2015] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=13540 2016]&lt;br /&gt;
&lt;br /&gt;
== NOTE ==&lt;br /&gt;
* December 8, 2017 lecture will be replaced with a lecture from a video. Huffman delay penalty will be stopped for a week.&lt;br /&gt;
&lt;br /&gt;
== Huffman lab== &lt;br /&gt;
&lt;br /&gt;
* The deadline for the Huffman lab is November 10, 2017.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=5266247&amp;amp;p_id=101240&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=iti8510&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_opetsem=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= Course card in Studies Information System]&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Things may change a bit as we go&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Introduction [[Media:Rtos_01.pdf|PDF]]&lt;br /&gt;
# IO, Hardware interrupts [[Media:Rtos_02.pdf|PDF]]&lt;br /&gt;
# Stack, longjmp [[Media:Rtos_03.pdf|PDF]] &lt;br /&gt;
# Heap, 2d arrays [[Media:Rtos_04.pdf|PDF]]&lt;br /&gt;
# Software interrupts (signals) [[Media:Rtos_05.pdf|PDF]]&lt;br /&gt;
# Threads, Mutexes [[Media:Rtos_06.pdf|PDF]]&lt;br /&gt;
# Scheduling, Process, Demon, Zombie [[Media:Rtos_07.pdf|PDF]]&lt;br /&gt;
# Standard IO, file management, directory management etc [[Media:Rtos_08.pdf|PDF]]&lt;br /&gt;
# Programming an Operating System [[Media:Rtos_09.pdf|PDF]]&lt;br /&gt;
# Optimizing [[Media:Rtos_10.pdf|PDF]]&lt;br /&gt;
# Networking [[Media:Rtos_11.pdf|PDF]] ; C language constructions [[Media:Rtos_11a.pdf|PDF]]&lt;br /&gt;
# Security [[Media:Rtos_12.pdf|PDF]]&lt;br /&gt;
# Compilation and utilities; Mmap() [[Media:Rtos_13.pdf|PDF]]&lt;br /&gt;
# Encoding, localization, internatialization in *nix [[Media:Rtos_14.pdf|PDF]]; Getopt() [[Media:Rtos_14b.pdf|PDF]]&lt;br /&gt;
# RTOS: On Real Time Systems [[Media:Rtos_15.pdf|PDF]]&lt;br /&gt;
# Conclusion and Summary [[Media:Rtos_16.pdf|PDF]]&lt;br /&gt;
&lt;br /&gt;
== Practice Information ==&lt;br /&gt;
&lt;br /&gt;
The server: dijkstra.cs.ttu.ee&lt;br /&gt;
{{Iti8510-praclist}}&lt;br /&gt;
&lt;br /&gt;
== Links==&lt;br /&gt;
&lt;br /&gt;
* [http://gd.tuwien.ac.at/languages/c/cref-mleslie/CONTRIB/SAWTELL/intro.html A well-written C tutorial]&lt;br /&gt;
* [http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences Toyota killer firmware]&lt;br /&gt;
* [http://blog.regehr.org/archives/1091 Use of Assertions]&lt;br /&gt;
* [http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html IPv6 howto]&lt;br /&gt;
* [https://matt.sh/howto-c How to C in 2016] - or why the lecturer should be deprecated&lt;br /&gt;
* [https://avicoder.me/2016/02/01/smashsatck-revived/ Smashing the Stack for Fun and Profit Redone] - a take on a classic&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kursus]][[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Mall:Iti8510-praclist&amp;diff=14094</id>
		<title>Mall:Iti8510-praclist</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Mall:Iti8510-praclist&amp;diff=14094"/>
		<updated>2017-11-17T09:45:50Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Basic Linux command-line and utilities for accessing it (ITI8510)|Basic Linux command-line and utilities for accessing it]]&lt;br /&gt;
* [[Standard streams (ITI8510)|Standard Streams]]&lt;br /&gt;
* [[Stack Exploration (ITI8510)|Stack Exploration]]&lt;br /&gt;
* [[Exploring Debugger (ITI8510)|Exploring Debugger]]&lt;br /&gt;
* [[Signals (ITI8510)|Signals]]&lt;br /&gt;
* [[Threads (ITI8510)|Threads]]&lt;br /&gt;
* [[Processes (ITI8510)|Processes]]&lt;br /&gt;
* [[File Attributes (ITI8510)|File Attributes]]&lt;br /&gt;
* [[Reading Binary Files (ITI8510)|Reading Binary Files]]&lt;br /&gt;
* LAB: [[Hufmann encoder (iti8510)|Hufmann Encoder]]&lt;br /&gt;
&amp;lt;!-- * [[Compilation and Makefiles (ITI8510)|Compilation and Makefiles]]--&amp;gt;&lt;br /&gt;
* [[Network sockets (ITI8510)|Network Sockets]]&lt;br /&gt;
* [[Optimization (ITI8510)|Optimization]] (mmap() helps here)&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Mall:Iti8510-praclist&amp;diff=14093</id>
		<title>Mall:Iti8510-praclist</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Mall:Iti8510-praclist&amp;diff=14093"/>
		<updated>2017-11-17T07:50:28Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Basic Linux command-line and utilities for accessing it (ITI8510)|Basic Linux command-line and utilities for accessing it]]&lt;br /&gt;
* [[Standard streams (ITI8510)|Standard Streams]]&lt;br /&gt;
* [[Stack Exploration (ITI8510)|Stack Exploration]]&lt;br /&gt;
* [[Exploring Debugger (ITI8510)|Exploring Debugger]]&lt;br /&gt;
* [[Signals (ITI8510)|Signals]]&lt;br /&gt;
* [[Threads (ITI8510)|Threads]]&lt;br /&gt;
* [[Processes (ITI8510)|Processes]]&lt;br /&gt;
* [[File Attributes (ITI8510)|File Attributes]]&lt;br /&gt;
* [[Reading Binary Files (ITI8510)|Reading Binary Files]]&lt;br /&gt;
* LAB: [[Hufmann encoder (iti8510)|Hufmann Encoder]]&lt;br /&gt;
&amp;lt;!-- * [[Compilation and Makefiles (ITI8510)|Compilation and Makefiles]]--&amp;gt;&lt;br /&gt;
* [[Optimization (ITI8510)|Optimization]]&lt;br /&gt;
* [[Network sockets (ITI8510)|Network Sockets]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Compilation_and_Makefiles_(ITI8510)&amp;diff=14092</id>
		<title>Compilation and Makefiles (ITI8510)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Compilation_and_Makefiles_(ITI8510)&amp;diff=14092"/>
		<updated>2017-11-17T07:49:33Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Iti8510}}&lt;br /&gt;
&#039;&#039;Here we want to be on the same page regarding some compilation topics.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Task==&lt;br /&gt;
&lt;br /&gt;
# Create a program which consists of multiple files, each containing a single function. Functions would be as follows: main(), func1() and func2(). Main should call these functions. Also add the header files for func1 and func2.&lt;br /&gt;
# Compile the program, run it.&lt;br /&gt;
# Show how the preprocessor affects the compilation of main.c (save the file)&lt;br /&gt;
# Show the assembly code of main.c (save the file before translation to the machine code).&lt;br /&gt;
# Create a makefile for the compilation.&lt;br /&gt;
# Modify the makefile so that you compile .o files, then link them together into a working program.&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Hufmann_encoder_(iti8510)&amp;diff=14025</id>
		<title>Hufmann encoder (iti8510)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Hufmann_encoder_(iti8510)&amp;diff=14025"/>
		<updated>2017-11-03T10:57:18Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
&#039;&#039;The Huffman encoder assignment helps to discover the wonderful world of pointers, debugging and segmentation faults.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Your task is to implement an Hufmann encoder for statistical compression in C. The task is described on [http://deepthought.ttu.ee/it/vorgutarkvara/wav3050/lab1.html this old page]; ignore its presentation guidelines with Tanel Tammet: send them to me.&lt;br /&gt;
&lt;br /&gt;
[http://deepthought.ttu.ee/it/vorgutarkvara/wav3050/lab1_hufmann.html The description of the algorithm].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grades ==&lt;br /&gt;
&lt;br /&gt;
If you want to predict your grade you might find following helpful:&lt;br /&gt;
* 10p: Compresses and decompresses some regular text files (this is mandatory)	the .c file of your program for example&lt;br /&gt;
* 10p Compresses and decompresses most input	you can have occasional errors with binary files&lt;br /&gt;
* 5p: Compresses and decompresses almost everything	program can work with all non-tricky inputs&lt;br /&gt;
* 5p: Compresses and decompresses even the wierd files	program can work with tricky inputs&lt;br /&gt;
* 5p: Accepts stdin/stdout when no options or -d are present&lt;br /&gt;
    myhuf &amp;lt; asd &amp;gt; asd.out&lt;br /&gt;
    myhuf -d &amp;lt; asd.out &amp;gt; asd2&lt;br /&gt;
* OR accepts file name arguments for both input and output files&lt;br /&gt;
    myhuf asd asd.out&lt;br /&gt;
    myhuf -d asd.out asd2&lt;br /&gt;
* 1p: Has a working makefile (or &amp;quot;make programname&amp;quot; works)&lt;br /&gt;
* 1p: Returns 0 on successful exit; nonzero on any errors&lt;br /&gt;
* 1p: Sends error messages to stderr	&lt;br /&gt;
* 1p: Program is not slow	&lt;br /&gt;
* 1p: program does not crash	&lt;br /&gt;
+1p per week up to 3, when presented earlier than the deadline&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Reading_Binary_Files_(ITI8510)&amp;diff=14024</id>
		<title>Reading Binary Files (ITI8510)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Reading_Binary_Files_(ITI8510)&amp;diff=14024"/>
		<updated>2017-11-03T07:28:09Z</updated>

		<summary type="html">&lt;p&gt;Irve: Uus lehekülg: &amp;#039;{{iti8510}}  This practice is about writing data in binary format.   == Task ==  There are two tasks; the first one is simple fread() fwrite() to get the general idea accross, th...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
&lt;br /&gt;
This practice is about writing data in binary format. &lt;br /&gt;
&lt;br /&gt;
== Task ==&lt;br /&gt;
&lt;br /&gt;
There are two tasks; the first one is simple fread() fwrite() to get the general idea accross, the second needs some thinking.&lt;br /&gt;
&lt;br /&gt;
=== Runtimes ===&lt;br /&gt;
&lt;br /&gt;
* Write a program which counts and prints how many times it has been run.&lt;br /&gt;
** Save the amount of runs into a file named runtimes.dat&lt;br /&gt;
** If the file is missing, write a binary 1 into the file, save and exit.&lt;br /&gt;
** If the file exists, read the count from the file, increment it, print it and write the new count into the file before exiting.&lt;br /&gt;
&lt;br /&gt;
=== Array to file and from file ===&lt;br /&gt;
&lt;br /&gt;
Here we could also learn using [http://linux.die.net/man/3/getopt getopt()] function.&lt;br /&gt;
&lt;br /&gt;
* If the program starts without command line options, show help&lt;br /&gt;
* If program is run with&lt;br /&gt;
  table -c filename.dat -n 10&lt;br /&gt;
: Create 10x10 element 2d array (okay to create just a multiplication table here) and write it into file named filename.dat (save size, then elements)&lt;br /&gt;
* If program is run with&lt;br /&gt;
  table -r filename.dat&lt;br /&gt;
: Open the file, read the array dimensions if stored, show the array on the screen.&lt;br /&gt;
äidake tabel ekraanile.&lt;br /&gt;
&lt;br /&gt;
== Hints ==&lt;br /&gt;
&lt;br /&gt;
* It is advisable to store the table so that the first 4 bytes of the file hold the table dimensions, then the array elements would follow.&lt;br /&gt;
* If the numbers in file are human-readable you are doing the binary wrong.&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Mall:Iti8510-praclist&amp;diff=14023</id>
		<title>Mall:Iti8510-praclist</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Mall:Iti8510-praclist&amp;diff=14023"/>
		<updated>2017-11-03T07:18:03Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Basic Linux command-line and utilities for accessing it (ITI8510)|Basic Linux command-line and utilities for accessing it]]&lt;br /&gt;
* [[Standard streams (ITI8510)|Standard Streams]]&lt;br /&gt;
* [[Stack Exploration (ITI8510)|Stack Exploration]]&lt;br /&gt;
* [[Exploring Debugger (ITI8510)|Exploring Debugger]]&lt;br /&gt;
* [[Signals (ITI8510)|Signals]]&lt;br /&gt;
* [[Threads (ITI8510)|Threads]]&lt;br /&gt;
* [[Processes (ITI8510)|Processes]]&lt;br /&gt;
* [[File Attributes (ITI8510)|File Attributes]]&lt;br /&gt;
* [[Reading Binary Files (ITI8510)|Reading Binary Files]]&lt;br /&gt;
* [[Compilation and Makefiles (ITI8510)|Compilation and Makefiles]]&lt;br /&gt;
* [[Optimization (ITI8510)|Optimization]]&lt;br /&gt;
* LAB: [[Hufmann encoder (iti8510)|Hufmann Encoder]]&lt;br /&gt;
* [[Network sockets (ITI8510)|Network Sockets]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=13989</id>
		<title>Real-Time Operating Systems and Systems Programming</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=13989"/>
		<updated>2017-10-27T08:49:13Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
Course code: &#039;&#039;&#039;iti8510&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Link: [http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming] [http://www.lambda.ee/index.php/iti8510 http://www.lambda.ee/index.php/iti8510]&amp;lt;br/&amp;gt;&lt;br /&gt;
Lecturer: Jaagup Irve&amp;lt;br/&amp;gt;&lt;br /&gt;
Contact: jaagup.irve@ttu.ee, 56463800, room ITC-425&amp;lt;br/&amp;gt;&lt;br /&gt;
Previous courses: [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=10337 2012] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12109 2014] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12994 2015] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=13540 2016]&lt;br /&gt;
&lt;br /&gt;
== Huffman lab== &lt;br /&gt;
&lt;br /&gt;
* The deadline for the Huffman lab is November 10, 2017.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=5266247&amp;amp;p_id=101240&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=iti8510&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_opetsem=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= Course card in Studies Information System]&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Things may change a bit as we go&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Introduction [[Media:Rtos_01.pdf|PDF]]&lt;br /&gt;
# IO, Hardware interrupts [[Media:Rtos_02.pdf|PDF]]&lt;br /&gt;
# Stack, longjmp [[Media:Rtos_03.pdf|PDF]] &lt;br /&gt;
# Heap, 2d arrays [[Media:Rtos_04.pdf|PDF]]&lt;br /&gt;
# Software interrupts (signals) [[Media:Rtos_05.pdf|PDF]]&lt;br /&gt;
# Threads, Mutexes [[Media:Rtos_06.pdf|PDF]]&lt;br /&gt;
# Scheduling, Process, Demon, Zombie [[Media:Rtos_07.pdf|PDF]]&lt;br /&gt;
# Standard IO, file management, directory management etc [[Media:Rtos_08.pdf|PDF]]&lt;br /&gt;
# Programming an Operating System [[Media:Rtos_09.pdf|PDF]]&lt;br /&gt;
# Optimizing [[Media:Rtos_10.pdf|PDF]]&lt;br /&gt;
# Networking [[Media:Rtos_11.pdf|PDF]] ; C language constructions [[Media:Rtos_11a.pdf|PDF]]&lt;br /&gt;
# Security [[Media:Rtos_12.pdf|PDF]]&lt;br /&gt;
# Compilation and utilities; Mmap() [[Media:Rtos_13.pdf|PDF]]&lt;br /&gt;
# Encoding, localization, internatialization in *nix [[Media:Rtos_14.pdf|PDF]]; Getopt() [[Media:Rtos_14b.pdf|PDF]]&lt;br /&gt;
# RTOS: On Real Time Systems [[Media:Rtos_15.pdf|PDF]]&lt;br /&gt;
# Conclusion and Summary [[Media:Rtos_16.pdf|PDF]]&lt;br /&gt;
&lt;br /&gt;
== Practice Information ==&lt;br /&gt;
&lt;br /&gt;
The server: dijkstra.cs.ttu.ee&lt;br /&gt;
{{Iti8510-praclist}}&lt;br /&gt;
&lt;br /&gt;
== Links==&lt;br /&gt;
&lt;br /&gt;
* [http://gd.tuwien.ac.at/languages/c/cref-mleslie/CONTRIB/SAWTELL/intro.html A well-written C tutorial]&lt;br /&gt;
* [http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences Toyota killer firmware]&lt;br /&gt;
* [http://blog.regehr.org/archives/1091 Use of Assertions]&lt;br /&gt;
* [http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html IPv6 howto]&lt;br /&gt;
* [https://matt.sh/howto-c How to C in 2016] - or why the lecturer should be deprecated&lt;br /&gt;
* [https://avicoder.me/2016/02/01/smashsatck-revived/ Smashing the Stack for Fun and Profit Redone] - a take on a classic&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kursus]][[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Rtos_05.pdf&amp;diff=13886</id>
		<title>Fail:Rtos 05.pdf</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Rtos_05.pdf&amp;diff=13886"/>
		<updated>2017-10-06T06:49:51Z</updated>

		<summary type="html">&lt;p&gt;Irve: Irve laadis üles uue versiooni failist Fail:Rtos 05.pdf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Rtos_04.pdf&amp;diff=13874</id>
		<title>Fail:Rtos 04.pdf</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Rtos_04.pdf&amp;diff=13874"/>
		<updated>2017-09-29T07:01:03Z</updated>

		<summary type="html">&lt;p&gt;Irve: Irve laadis üles uue versiooni failist Fail:Rtos 04.pdf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Rtos_02.pdf&amp;diff=13825</id>
		<title>Fail:Rtos 02.pdf</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Rtos_02.pdf&amp;diff=13825"/>
		<updated>2017-09-15T06:46:34Z</updated>

		<summary type="html">&lt;p&gt;Irve: Irve laadis üles uue versiooni failist Fail:Rtos 02.pdf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rtos 2010/02&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Nonblocking_IO_(ITI8510)&amp;diff=13824</id>
		<title>Nonblocking IO (ITI8510)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Nonblocking_IO_(ITI8510)&amp;diff=13824"/>
		<updated>2017-09-15T06:41:03Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Iti8510}}&lt;br /&gt;
Practice with nonblocking IO.&lt;br /&gt;
&lt;br /&gt;
= 1. Canonical mode =&lt;br /&gt;
&lt;br /&gt;
Goal: To write a program which echoes characters on screen while typed until button &#039;q&#039; is pressed. Then it quits and prints a newline.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hints:&#039;&#039;&#039;&lt;br /&gt;
* Try to put the terminal into noncanonical mode and remove terminal echo See &#039;[http://linux.die.net/man/3/termios man termios]&#039; or [http://www.google.ee/search?q=noncanonical+mode Google &amp;quot;noncanonical mode&amp;quot;] for that.&lt;br /&gt;
* Note that you should restore the terminal mode before quitting since otherwise the terminal might get messed up (no echo).&lt;br /&gt;
* Working with bits:&lt;br /&gt;
 flags &amp;amp;= ~NEWFLAG   // Clears the bit NEWFLAG on flags&lt;br /&gt;
 flags |= NEWFLAG    // Set the bit NEWFLAG on flags&lt;br /&gt;
 flags ^= NEWFLAG    // Toggle NEWLAG&lt;br /&gt;
&lt;br /&gt;
= 2. Nonblocking reads from a FIFO =&lt;br /&gt;
&lt;br /&gt;
Goal: To write a program which prints a &#039;.&#039; character every half-a second unless some input is provided on a fifo file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hints:&#039;&#039;&#039;&lt;br /&gt;
* Use [http://linux.die.net/man/2/open open()] with O_NONBLOCK flag.&lt;br /&gt;
* If [http://linux.die.net/man/2/read read()] does not have anything to read, it returns with -1 and sets [http://linux.die.net/man/3/errno errno] to constant EAGAIN - you can check that or try messing around with [http://linux.die.net/man/3/select select()] function.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Named_pipe FIFO] can be made with a &#039;mkfifo fifoname&#039; command and written to using &#039;cat &amp;gt; fifoname&#039;.&lt;br /&gt;
* You have to open fifo &#039;&#039;before&#039;&#039; reading (open two terminal windows).&lt;br /&gt;
* Write your output with [http://linux.die.net/man/2/write write()] function to bypass buffering.&lt;br /&gt;
* Function usleep() can be used for half-a second pause here.&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Basic_Linux_command-line_and_utilities_for_accessing_it_(ITI8510)&amp;diff=13779</id>
		<title>Basic Linux command-line and utilities for accessing it (ITI8510)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Basic_Linux_command-line_and_utilities_for_accessing_it_(ITI8510)&amp;diff=13779"/>
		<updated>2017-09-08T09:08:57Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
We use a separate server for our programming purposes, it&#039;s name is dijkstra.cs.ttu.ee and you can have its SSH login account by registering your user name with the lecturer. Since it&#039;s a Linux system and we use command-line you will need some experience with it.&lt;br /&gt;
&lt;br /&gt;
== SFTP access for dijkstra ==&lt;br /&gt;
&lt;br /&gt;
Under some linuxes you can use the file explorer to navigate to location:&lt;br /&gt;
  sftp://dijkstra.cs.ttu.ee/&lt;br /&gt;
&lt;br /&gt;
= Logging in =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Your user name for dijkstra is name.family .&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Server: &#039;&#039;dijkstra.cs.ttu.ee&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use &#039;ssh&#039;, [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty], SSH Secure Shell, or &#039;ssh&#039; under Cygwin to log in. Basic ssh command for logging:&lt;br /&gt;
 ssh username@dijkstra.cs.ttu.ee&lt;br /&gt;
&lt;br /&gt;
= Once logged in =&lt;br /&gt;
&lt;br /&gt;
You can type in commands and their arguments (separate them with spaces). Some of the more useful commands.&lt;br /&gt;
&lt;br /&gt;
* mkdir dirname - make directory named &#039;dirname&#039;&lt;br /&gt;
* ls - list files in directory&lt;br /&gt;
* cd dirname - change working directory to &#039;dirname&#039;&lt;br /&gt;
* ./progname - run your program from the same directory&lt;br /&gt;
* mydir/progname - run your program from directory &#039;mydir&#039;&lt;br /&gt;
&lt;br /&gt;
= Compiling =&lt;br /&gt;
&lt;br /&gt;
For compiling the program, you can use &#039;gcc&#039; utility (-o hello sets the program output to be the file hello):&lt;br /&gt;
 gcc hello.c -o hello&lt;br /&gt;
&lt;br /&gt;
A shorter alternative would be to use &#039;make&#039; utility;&lt;br /&gt;
 make hello&lt;br /&gt;
&lt;br /&gt;
For more difficult compilation (such as when joining different files) you might consider writing a &#039;[http://www.google.ee/search?q=makefile makefile]&#039;&lt;br /&gt;
&lt;br /&gt;
= Editor =&lt;br /&gt;
&lt;br /&gt;
You can use editor on your own computer and upload the files with a program such as [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PSCP]. That can get tedious and boring. It&#039;s more useful to learn a proper editor for command-line.&lt;br /&gt;
&lt;br /&gt;
From the editors on dijkstra we strongly recommend &#039;vim&#039;, but &#039;nano&#039; is also quite popular. For the reasons, consult the diagram below.&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Common-editor-learning-curves.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hints for vim ==&lt;br /&gt;
&lt;br /&gt;
Vi has modes: you start in &#039;&#039;&#039;command mode&#039;&#039;&#039; and insert text in &#039;&#039;&#039;insertion mode&#039;&#039;&#039;. That is due to the fact that you must be able to use an editor when you have only character keys available. This is confusing until you get used to it. It takes years to master, but once mastered it&#039;s effortles, &#039;&#039;fun&#039;&#039; and useful.&lt;br /&gt;
&lt;br /&gt;
Remember: To get to the &#039;&#039;&#039;command mode&#039;&#039;&#039; from any other mode, press &#039;&#039;&#039;ESC&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some hints in commmand mode:&lt;br /&gt;
* To quit &#039;&#039;without saving&#039;&#039;, press :q!&lt;br /&gt;
* Save &amp;amp; quit, press ZZ (or :wq)&lt;br /&gt;
* To write (enter insertion mode), press i, then type.&lt;br /&gt;
&lt;br /&gt;
Advanced hint:&lt;br /&gt;
* For &#039;&#039;&#039;syntax highlighting&#039;&#039;&#039; you can type&lt;br /&gt;
 :syntax on&lt;br /&gt;
&lt;br /&gt;
To save yourself from writing it every time, go to your home directory, create file &#039;.vimrc&#039; with the words &#039;syntax on&#039; in it.&lt;br /&gt;
&lt;br /&gt;
 cd&lt;br /&gt;
 cat &amp;gt;&amp;gt; .vimrc&lt;br /&gt;
 syntax on&lt;br /&gt;
&lt;br /&gt;
Then press CTRL+D (to send end-of-file)&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Basic_Linux_command-line_and_utilities_for_accessing_it_(ITI8510)&amp;diff=13778</id>
		<title>Basic Linux command-line and utilities for accessing it (ITI8510)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Basic_Linux_command-line_and_utilities_for_accessing_it_(ITI8510)&amp;diff=13778"/>
		<updated>2017-09-08T09:02:59Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
We use a separate server for our programming purposes, it&#039;s name is dijkstra.cs.ttu.ee and you can have its SSH login account by registering your user name with the lecturer. Since it&#039;s a Linux system and we use command-line you will need some experience with it.&lt;br /&gt;
&lt;br /&gt;
== SFTP access for dijkstra ==&lt;br /&gt;
&lt;br /&gt;
Under some linuxes you can use the file explorer to navigate to location:&lt;br /&gt;
  sftp://dijkstra.cs.ttu.ee/&lt;br /&gt;
&lt;br /&gt;
= Logging in =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Your user name for dijkstra is name.family .&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Server: &#039;&#039;&#039;dijkstra.cs.ttu.ee&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use &#039;ssh&#039;, [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty], SSH Secure Shell, or &#039;ssh&#039; under Cygwin to log in. Basic ssh command for logging:&lt;br /&gt;
 ssh username@dijkstra.cs.ttu.ee&lt;br /&gt;
&lt;br /&gt;
= Once logged in =&lt;br /&gt;
&lt;br /&gt;
You can type in commands and their arguments (separate them with spaces). Some of the more useful commands.&lt;br /&gt;
&lt;br /&gt;
* mkdir dirname - make directory named &#039;dirname&#039;&lt;br /&gt;
* ls - list files in directory&lt;br /&gt;
* cd dirname - change working directory to &#039;dirname&#039;&lt;br /&gt;
* ./progname - run your program from the same directory&lt;br /&gt;
* mydir/progname - run your program from directory &#039;mydir&#039;&lt;br /&gt;
&lt;br /&gt;
= Compiling =&lt;br /&gt;
&lt;br /&gt;
For compiling the program, you can use &#039;gcc&#039; utility (-o hello sets the program output to be the file hello):&lt;br /&gt;
 gcc hello.c -o hello&lt;br /&gt;
&lt;br /&gt;
A shorter alternative would be to use &#039;make&#039; utility;&lt;br /&gt;
 make hello&lt;br /&gt;
&lt;br /&gt;
For more difficult compilation (such as when joining different files) you might consider writing a &#039;[http://www.google.ee/search?q=makefile makefile]&#039;&lt;br /&gt;
&lt;br /&gt;
= Editor =&lt;br /&gt;
&lt;br /&gt;
You can use editor on your own computer and upload the files with a program such as [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PSCP]. That can get tedious and boring. It&#039;s more useful to learn a proper editor for command-line.&lt;br /&gt;
&lt;br /&gt;
From the editors on dijkstra we strongly recommend &#039;vim&#039;, but &#039;nano&#039; is also quite popular. For the reasons, consult the diagram below.&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Common-editor-learning-curves.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hints for vim ==&lt;br /&gt;
&lt;br /&gt;
Vi has modes: you start in &#039;&#039;&#039;command mode&#039;&#039;&#039; and insert text in &#039;&#039;&#039;insertion mode&#039;&#039;&#039;. That is due to the fact that you must be able to use an editor when you have only character keys available. This is confusing until you get used to it. It takes years to master, but once mastered it&#039;s effortles, &#039;&#039;fun&#039;&#039; and useful.&lt;br /&gt;
&lt;br /&gt;
Remember: To get to the &#039;&#039;&#039;command mode&#039;&#039;&#039; from any other mode, press &#039;&#039;&#039;ESC&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some hints in commmand mode:&lt;br /&gt;
* To quit &#039;&#039;without saving&#039;&#039;, press :q!&lt;br /&gt;
* Save &amp;amp; quit, press ZZ (or :wq)&lt;br /&gt;
* To write (enter insertion mode), press i, then type.&lt;br /&gt;
&lt;br /&gt;
Advanced hint:&lt;br /&gt;
* For &#039;&#039;&#039;syntax highlighting&#039;&#039;&#039; you can type&lt;br /&gt;
 :syntax on&lt;br /&gt;
&lt;br /&gt;
To save yourself from writing it every time, go to your home directory, create file &#039;.vimrc&#039; with the words &#039;syntax on&#039; in it.&lt;br /&gt;
&lt;br /&gt;
 cd&lt;br /&gt;
 cat &amp;gt;&amp;gt; .vimrc&lt;br /&gt;
 syntax on&lt;br /&gt;
&lt;br /&gt;
Then press CTRL+D (to send end-of-file)&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Rtos_01.pdf&amp;diff=13777</id>
		<title>Fail:Rtos 01.pdf</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Rtos_01.pdf&amp;diff=13777"/>
		<updated>2017-09-08T06:34:23Z</updated>

		<summary type="html">&lt;p&gt;Irve: Irve laadis üles uue versiooni failist Fail:Rtos 01.pdf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Real-Time Operating Systems lecture 01/2010&lt;br /&gt;
{{RTOS}}&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Basic_Linux_command-line_and_utilities_for_accessing_it_(ITI8510)&amp;diff=13776</id>
		<title>Basic Linux command-line and utilities for accessing it (ITI8510)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Basic_Linux_command-line_and_utilities_for_accessing_it_(ITI8510)&amp;diff=13776"/>
		<updated>2017-09-08T06:14:55Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
We use a separate server for our programming purposes, it&#039;s name is dijkstra.cs.ttu.ee and you can have its SSH login account by registering your user name with the lecturer. Since it&#039;s a Linux system and we use command-line you will need some experience with it.&lt;br /&gt;
&lt;br /&gt;
= IMPORTANT (Linux in class) =&lt;br /&gt;
&lt;br /&gt;
* Reboot Windows, choose Linux at the boot screen.&lt;br /&gt;
* The user name and password are your standard UniID ones with a small modification to your user name&lt;br /&gt;
* Lab computers use user name like this: name.family@intra.ttu.ee&lt;br /&gt;
** or shorter: intra/name.family&lt;br /&gt;
** If you don&#039;t have a class password, administrators can help you&lt;br /&gt;
&lt;br /&gt;
== SFTP access for dijkstra ==&lt;br /&gt;
&lt;br /&gt;
Open Places menu, type into location:&lt;br /&gt;
  sftp://dijkstra.cs.ttu.ee/&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
Press WIN key, then type &amp;quot;reg&amp;quot;, select &amp;quot;Region&amp;quot;; add your keyboard of choice to the list.&lt;br /&gt;
&lt;br /&gt;
== Terminal ==&lt;br /&gt;
&lt;br /&gt;
Use &amp;quot;GNOME Terminal&amp;quot;, or whatever you like. Type WIN, then &amp;quot;term&amp;quot;, then select.&lt;br /&gt;
&lt;br /&gt;
= Logging in =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Your user name for dijkstra is name.family .&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Server: &#039;&#039;&#039;dijkstra.cs.ttu.ee&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use &#039;ssh&#039;, [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty], SSH Secure Shell, or &#039;ssh&#039; under Cygwin to log in. Basic ssh command for logging:&lt;br /&gt;
 ssh username@dijkstra.cs.ttu.ee&lt;br /&gt;
&lt;br /&gt;
= Once logged in =&lt;br /&gt;
&lt;br /&gt;
You can type in commands and their arguments (separate them with spaces). Some of the more useful commands.&lt;br /&gt;
&lt;br /&gt;
* mkdir dirname - make directory named &#039;dirname&#039;&lt;br /&gt;
* ls - list files in directory&lt;br /&gt;
* cd dirname - change working directory to &#039;dirname&#039;&lt;br /&gt;
* ./progname - run your program from the same directory&lt;br /&gt;
* mydir/progname - run your program from directory &#039;mydir&#039;&lt;br /&gt;
&lt;br /&gt;
= Compiling =&lt;br /&gt;
&lt;br /&gt;
For compiling the program, you can use &#039;gcc&#039; utility (-o hello sets the program output to be the file hello):&lt;br /&gt;
 gcc hello.c -o hello&lt;br /&gt;
&lt;br /&gt;
A shorter alternative would be to use &#039;make&#039; utility;&lt;br /&gt;
 make hello&lt;br /&gt;
&lt;br /&gt;
For more difficult compilation (such as when joining different files) you might consider writing a &#039;[http://www.google.ee/search?q=makefile makefile]&#039;&lt;br /&gt;
&lt;br /&gt;
= Editor =&lt;br /&gt;
&lt;br /&gt;
You can use editor on your own computer and upload the files with a program such as [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PSCP]. That can get tedious and boring. It&#039;s more useful to learn a proper editor for command-line.&lt;br /&gt;
&lt;br /&gt;
From the editors on dijkstra we strongly recommend &#039;vim&#039;, but &#039;nano&#039; is also quite popular. For the reasons, consult the diagram below.&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Common-editor-learning-curves.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hints for vim ==&lt;br /&gt;
&lt;br /&gt;
Vi has modes: you start in &#039;&#039;&#039;command mode&#039;&#039;&#039; and insert text in &#039;&#039;&#039;insertion mode&#039;&#039;&#039;. That is due to the fact that you must be able to use an editor when you have only character keys available. This is confusing until you get used to it. It takes years to master, but once mastered it&#039;s effortles, &#039;&#039;fun&#039;&#039; and useful.&lt;br /&gt;
&lt;br /&gt;
Remember: To get to the &#039;&#039;&#039;command mode&#039;&#039;&#039; from any other mode, press &#039;&#039;&#039;ESC&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some hints in commmand mode:&lt;br /&gt;
* To quit &#039;&#039;without saving&#039;&#039;, press :q!&lt;br /&gt;
* Save &amp;amp; quit, press ZZ (or :wq)&lt;br /&gt;
* To write (enter insertion mode), press i, then type.&lt;br /&gt;
&lt;br /&gt;
Advanced hint:&lt;br /&gt;
* For &#039;&#039;&#039;syntax highlighting&#039;&#039;&#039; you can type&lt;br /&gt;
 :syntax on&lt;br /&gt;
&lt;br /&gt;
To save yourself from writing it every time, go to your home directory, create file &#039;.vimrc&#039; with the words &#039;syntax on&#039; in it.&lt;br /&gt;
&lt;br /&gt;
 cd&lt;br /&gt;
 cat &amp;gt;&amp;gt; .vimrc&lt;br /&gt;
 syntax on&lt;br /&gt;
&lt;br /&gt;
Then press CTRL+D (to send end-of-file)&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Ics.png&amp;diff=13749</id>
		<title>Fail:Ics.png</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Ics.png&amp;diff=13749"/>
		<updated>2017-09-04T05:39:17Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=13737</id>
		<title>Real-Time Operating Systems and Systems Programming</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=13737"/>
		<updated>2017-08-25T12:48:32Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
Course code: &#039;&#039;&#039;iti8510&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Link: [http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming] [http://www.lambda.ee/index.php/iti8510 http://www.lambda.ee/index.php/iti8510]&amp;lt;br/&amp;gt;&lt;br /&gt;
Lecturer: Jaagup Irve&amp;lt;br/&amp;gt;&lt;br /&gt;
Contact: jaagup.irve@ttu.ee, 56463800, room ITC-425&amp;lt;br/&amp;gt;&lt;br /&gt;
Previous courses: [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=10337 2012] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12109 2014] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12994 2015] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=13540 2016]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=5266247&amp;amp;p_id=101240&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=iti8510&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_opetsem=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= Course card in Studies Information System]&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Things may change a bit as we go&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Introduction [[Media:Rtos_01.pdf|PDF]]&lt;br /&gt;
# IO, Hardware interrupts [[Media:Rtos_02.pdf|PDF]]&lt;br /&gt;
# Stack, longjmp [[Media:Rtos_03.pdf|PDF]] &lt;br /&gt;
# Heap, 2d arrays [[Media:Rtos_04.pdf|PDF]]&lt;br /&gt;
# Software interrupts (signals) [[Media:Rtos_05.pdf|PDF]]&lt;br /&gt;
# Threads, Mutexes [[Media:Rtos_06.pdf|PDF]]&lt;br /&gt;
# Scheduling, Process, Demon, Zombie [[Media:Rtos_07.pdf|PDF]]&lt;br /&gt;
# Standard IO, file management, directory management etc [[Media:Rtos_08.pdf|PDF]]&lt;br /&gt;
# Programming an Operating System [[Media:Rtos_09.pdf|PDF]]&lt;br /&gt;
# Optimizing [[Media:Rtos_10.pdf|PDF]]&lt;br /&gt;
# Networking [[Media:Rtos_11.pdf|PDF]] ; C language constructions [[Media:Rtos_11a.pdf|PDF]]&lt;br /&gt;
# Security [[Media:Rtos_12.pdf|PDF]]&lt;br /&gt;
# Compilation and utilities; Mmap() [[Media:Rtos_13.pdf|PDF]]&lt;br /&gt;
# Encoding, localization, internatialization in *nix [[Media:Rtos_14.pdf|PDF]]; Getopt() [[Media:Rtos_14b.pdf|PDF]]&lt;br /&gt;
# RTOS: On Real Time Systems [[Media:Rtos_15.pdf|PDF]]&lt;br /&gt;
# Conclusion and Summary [[Media:Rtos_16.pdf|PDF]]&lt;br /&gt;
&lt;br /&gt;
== Practice Information ==&lt;br /&gt;
&lt;br /&gt;
The server: dijkstra.cs.ttu.ee&lt;br /&gt;
{{Iti8510-praclist}}&lt;br /&gt;
&lt;br /&gt;
== Links==&lt;br /&gt;
&lt;br /&gt;
* [http://gd.tuwien.ac.at/languages/c/cref-mleslie/CONTRIB/SAWTELL/intro.html A well-written C tutorial]&lt;br /&gt;
* [http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences Toyota killer firmware]&lt;br /&gt;
* [http://blog.regehr.org/archives/1091 Use of Assertions]&lt;br /&gt;
* [http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html IPv6 howto]&lt;br /&gt;
* [https://matt.sh/howto-c How to C in 2016] - or why the lecturer should be deprecated&lt;br /&gt;
* [https://avicoder.me/2016/02/01/smashsatck-revived/ Smashing the Stack for Fun and Profit Redone] - a take on a classic&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kursus]][[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=13736</id>
		<title>Real-Time Operating Systems and Systems Programming</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;diff=13736"/>
		<updated>2017-08-25T12:47:23Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Course information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{iti8510}}&lt;br /&gt;
Course code: &#039;&#039;&#039;iti8510&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Link: [http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming http://www.lambda.ee/index.php/Real-Time_Operating_Systems_and_Systems_Programming] [http://www.lambda.ee/index.php/iti8510 http://www.lambda.ee/index.php/iti8510]&amp;lt;br/&amp;gt;&lt;br /&gt;
Lecturer: Jaagup Irve&amp;lt;br/&amp;gt;&lt;br /&gt;
Contact: jaagup.irve@ttu.ee, 56463800, room ITC-425&amp;lt;br/&amp;gt;&lt;br /&gt;
Previous courses: [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=10337 2012] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12109 2014] [http://lambda.ee/w/index.php?title=Real-Time_Operating_Systems_and_Systems_Programming&amp;amp;oldid=12994 2015]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
&lt;br /&gt;
* [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=5266247&amp;amp;p_id=101240&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=iti8510&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_opetsem=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= Course card in Studies Information System]&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Things may change a bit further down&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Introduction [[Media:Rtos_01.pdf|PDF]]&lt;br /&gt;
# IO, Hardware interrupts [[Media:Rtos_02.pdf|PDF]]&lt;br /&gt;
# Stack, longjmp [[Media:Rtos_03.pdf|PDF]] &lt;br /&gt;
# Heap, 2d arrays [[Media:Rtos_04.pdf|PDF]]&lt;br /&gt;
# Software interrupts (signals) [[Media:Rtos_05.pdf|PDF]]&lt;br /&gt;
# Threads, Mutexes [[Media:Rtos_06.pdf|PDF]]&lt;br /&gt;
# Scheduling, Process, Demon, Zombie [[Media:Rtos_07.pdf|PDF]]&lt;br /&gt;
# Standard IO, file management, directory management etc [[Media:Rtos_08.pdf|PDF]]&lt;br /&gt;
# Programming an Operating System [[Media:Rtos_09.pdf|PDF]]&lt;br /&gt;
# Optimizing [[Media:Rtos_10.pdf|PDF]]&lt;br /&gt;
# Networking [[Media:Rtos_11.pdf|PDF]] ; C language constructions [[Media:Rtos_11a.pdf|PDF]]&lt;br /&gt;
# Security [[Media:Rtos_12.pdf|PDF]]&lt;br /&gt;
# Compilation and utilities; Mmap() [[Media:Rtos_13.pdf|PDF]]&lt;br /&gt;
# Encoding, localization, internatialization in *nix [[Media:Rtos_14.pdf|PDF]]; Getopt() [[Media:Rtos_14b.pdf|PDF]]&lt;br /&gt;
# RTOS: On Real Time Systems [[Media:Rtos_15.pdf|PDF]]&lt;br /&gt;
# Conclusion and Summary [[Media:Rtos_16.pdf|PDF]]&lt;br /&gt;
&lt;br /&gt;
== Practice Information ==&lt;br /&gt;
&lt;br /&gt;
The server: dijkstra.cs.ttu.ee&lt;br /&gt;
{{Iti8510-praclist}}&lt;br /&gt;
&lt;br /&gt;
== Links==&lt;br /&gt;
&lt;br /&gt;
* [http://gd.tuwien.ac.at/languages/c/cref-mleslie/CONTRIB/SAWTELL/intro.html A well-written C tutorial]&lt;br /&gt;
* [http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences Toyota killer firmware]&lt;br /&gt;
* [http://blog.regehr.org/archives/1091 Use of Assertions]&lt;br /&gt;
* [http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html IPv6 howto]&lt;br /&gt;
* [https://matt.sh/howto-c How to C in 2016] - or why the lecturer should be deprecated&lt;br /&gt;
* [https://avicoder.me/2016/02/01/smashsatck-revived/ Smashing the Stack for Fun and Profit Redone] - a take on a classic&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kursus]][[Kategooria:RTOS]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Esileht&amp;diff=13735</id>
		<title>Esileht</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Esileht&amp;diff=13735"/>
		<updated>2017-08-25T12:46:42Z</updated>

		<summary type="html">&lt;p&gt;Irve: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;padding: .5em 0em 0em; &amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;60%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- [[Pilt:Remington smaller.JPG|left|Remington]]--&amp;gt; &lt;br /&gt;
&#039;&#039;&#039;Lambda.ee&#039;&#039;&#039; on kogumik programmeerimise ja arvutiteaduse materjale: kursused, õpikud, käsiraamatud.&lt;br /&gt;
Kõik järgnevad materjalid on vabaks kasutamiseks. Ehitab ja kogub&lt;br /&gt;
kõigile huvilistele avatud [[toimetajad|toimetajate kogukond]]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;padding: .7em 1em 1em;  text-align: left; vertical-align: top;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Toimuvad ja eelmise semestri kursused&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Real-Time Operating Systems and Systems Programming]] ehk [[iti8510]]&lt;br /&gt;
* [[Semantika ja analüütiline filosoofia]] ehk [[itv0071]]&lt;br /&gt;
* [[Sissejuhatus infotehnoloogiasse]] ehk [[itv0010]]&lt;br /&gt;
* [[Võrgurakendused I]] ehk [[itv0110]]&lt;br /&gt;
* [[Võrgurakendused II]] ehk [[Võrgurakendused II|itv0120]]&lt;br /&gt;
* [[Intelligentsed süsteemid]] ehk [[ifi6057]]&lt;br /&gt;
* [[Kasutajaliidesed]] ehk [[itv0130]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Uudised&amp;lt;/h2&amp;gt;&lt;br /&gt;
* [http://news.ycombinator.com/ Hacker News] &lt;br /&gt;
&amp;lt;!-- * [http://www.newsforge.com/ NewsForge] -  linux ja open source --&amp;gt;&lt;br /&gt;
* [http://programming.reddit.com reddit] -  programmeerimise alamredditid&lt;br /&gt;
&amp;lt;!-- * [http://www.digg.com/news/technology  digg] - tehnoloogia --&amp;gt;&lt;br /&gt;
* [http://www.slashdot.org Slashdot] - news for nerds.&lt;br /&gt;
* [https://www.engadget.com engadget] - gadgets and stuff&lt;br /&gt;
* [http://www.news.com news.com] - mainstream ja IT-äri.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;padding: .7em 1em 1em; background-color: #f0f0ff; text-align: left; vertical-align: top;&amp;quot;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; Muud kursused  &amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Varasemad:&lt;br /&gt;
* [[Tarkvaraarenduse meeskonnaprojekt]] ehk [[itv0200]]&lt;br /&gt;
* [[Kasutajaliidesed]] ehk [[itv0130]]&lt;br /&gt;
* [[Real-Time Operating Systems and Systems Programming]] ehk [[iti8510]]&lt;br /&gt;
* [[Teadmiste otsing, formaliseerimine ja hoidmine]] ehk [[itv0060]]&lt;br /&gt;
* [[Rakendusliku loogika süvakursus]] ehk [[itv0080]]&lt;br /&gt;
* [http://www.lambda.ee/index.php/ITI0011 Programmeerimise põhikursus JAVA-s] ehk [[ITI0011]]&lt;br /&gt;
* [[Arvutigraafika teooria ja praktika]] ehk [[Iti0090]]&lt;br /&gt;
* [[cyber security]] master studies&lt;br /&gt;
* [[Doktoriseminar]]&lt;br /&gt;
* [[Arvutigraafika teooria ja praktika]] ehk [[Iti0090]]&lt;br /&gt;
* [http://www.lambda.ee/index.php/ITI0140 Programmeerimise süvendatud algkursus] ehk [[ITI0140]]&lt;br /&gt;
* [[Real-Time Operating Systems and Systems Programming]] ehk [[iti8510]]&lt;br /&gt;
* [[Süsteemprogrammeerimine keeles C]] ehk [[itv0020]]&lt;br /&gt;
&amp;lt;!-- * [[Veebiteenused ja Interneti-lahenduste arhitektuur]] ehk [[idu0080]] --&amp;gt;&lt;br /&gt;
* [[Bakalaureusetööde seminar 2013 kevadel]]&lt;br /&gt;
* [[Secure software design]] ehk MTAT.03.246&lt;br /&gt;
* [[Süsteemprogrammeerimine keeles C]] ehk [[itv0020]]&lt;br /&gt;
* [[Kasutajaliidesed võrgutehnoloogia baasil]]  ehk [[itv0030]]&lt;br /&gt;
&amp;lt;!-- * [[Rakendusliku loogika süvakursus]] ehk [[itv0080]] --&amp;gt;&lt;br /&gt;
* [[Introduction to Information Technology]] ehk [[itx0025]]&lt;br /&gt;
* [[Programmeerimise põhikursus]] ehk [[iti0010]]&lt;br /&gt;
* [[Andmebaaside administreerimine]]  ehk [[itv0090]]&lt;br /&gt;
* [[Foundations of Embedded Real-Time Systems]] ehk [[iti8500]]&lt;br /&gt;
* [[Programmeerimise algkursus]] ehk  [[I200]]&lt;br /&gt;
* [[Tehisintellektisüsteemid internetis]] ehk [[itv9170]]&lt;br /&gt;
* [[Võrgurakendused I: klient-server süsteemide ehitamine]], [[i202]]&lt;br /&gt;
* [[Infosüsteemide ründed ja kaitse]]&lt;br /&gt;
* [[Infoturbe/küberturbe korraldamine]] ehk [[ itx8034]]&lt;br /&gt;
* [[Kurivara]] ehk [[Kurivara| itx8031]]&lt;br /&gt;
* [[Andmeside protokollid]] ehk [[itv8030]]&lt;br /&gt;
&lt;br /&gt;
Mujal:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/itv0050/ Operatsioonisüsteemide ja arvutivõrkude haldamine]&lt;br /&gt;
* [http://deepthought.ttu.ee/it/vorgutarkvara/wav3060/ Operatsioonisüsteemide tehnoloogia]&lt;br /&gt;
* [http://www.cs.ioc.ee/~tarmo/lcs04/ Loogika arvutiteaduses] &lt;br /&gt;
* [http://deepthought.ttu.ee/it/vorgutarkvara/wav4121/ Rakendusliku loogika süvakursus] &lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0050/ TTÜ Algoritmid ja andmestruktuurid] &lt;br /&gt;
* [http://cs.ttu.ee/kursused/itv0100/ Programmeerimise erikursus]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13723</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13723"/>
		<updated>2017-06-04T19:33:36Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Tulemused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Disain vs ux.jpg|right]]Kursuse kood: &amp;lt;b&amp;gt;ITV0130&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://www.lambda.ee/index.php/Kasutajaliidesed or http://www.lambda.ee/index/itv0130&amp;lt;br&amp;gt;&lt;br /&gt;
Õppejõud: Jaagup Irve&amp;lt;br&amp;gt;&lt;br /&gt;
Kontakt: jaagup.irve@ttu.ee, TTÜ ruum ICT-425&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=13571 2016] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=12421 2015] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=11832 2014] [[Kasutajaliidesed (2013)|2013]] [[Kasutajaliidesed (2012)|2012]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Tulemused ==&lt;br /&gt;
&lt;br /&gt;
Hinded selleks korraks parandatud. Jätan progressi-indikaatoritega üles, et oleks lõbus.&lt;br /&gt;
&lt;br /&gt;
* KT parandamine (100%)&lt;br /&gt;
* Prakside inventuur (98,99%)&lt;br /&gt;
* Avaldatud hinded (100%) - [https://docs.google.com/spreadsheets/d/1o1ekepkX9m-lY_0asKycxCnUYSYaUxFsRm7k7zKFcx4/pubhtml?gid=1412925425&amp;amp;single=true Esialgsed tulemused]&lt;br /&gt;
* ÕIS (98,99%) - kinnitamata, juhuks kui on vigu vms&lt;br /&gt;
&lt;br /&gt;
== Korraldusest ==&lt;br /&gt;
&lt;br /&gt;
Loengutes selgitame kasutajaliideste arendamise põhimõtteid. Harjutustundide eesmärk on tutvustada laborite tegemiseks tarvilikke tehnilisi lahendusi. Praktikumis lahendame iga nädal mõnd konkreetset liidese ehitamisel ettetulevat probleemi (kui pole kodutööde esitamise nädal, sest siis tegeleme ainult sellega)&lt;br /&gt;
&lt;br /&gt;
Aasta 2017 puhul võib esineda mõningane kõrvalekalle etteantud projektist, sest õppejõul on üks kinnisidee tekkinud ja teie olete selle katsejänesed. Sellest esimeses loengus.&lt;br /&gt;
&lt;br /&gt;
*[https://bitbucket.org/XonX/android-demo Juri Kazjulja loengu repo]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltööst ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltööd on võimalik teha 17. ja 24. mail. Oluline on &#039;&#039;&#039;registreerida&#039;&#039;&#039; [https://ois.ttu.ee/ õppeinfosüsteemis].&lt;br /&gt;
&lt;br /&gt;
* 17. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U06A-229&#039;&#039;&#039;&lt;br /&gt;
* 24. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U02-102&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Varasemate aastate kontrolltöö hinde võib paluda otse üle kanda. Kontrolltööle võtke ruumi kaasa ainult paber-pliiats ja dokument. Kõhurääkijate ja mobiilinokkijate tööd võtan ära ja ei hinda. Tööd saab teha üks kord (topelt-käimisel teist tööd ei hinda).&lt;br /&gt;
&lt;br /&gt;
== Hindest ==&lt;br /&gt;
&lt;br /&gt;
Aine lõppeb hindelise arvestusega. Aine hinne koosneb kolmest komponendist:&lt;br /&gt;
* Liidese projektid: Meeskonnad ehitavad hindelised liidesed (60p)&lt;br /&gt;
** [[Projekt 1: Politsei e-avaldus]]&lt;br /&gt;
** [[Projekt 2: Preemia]]&lt;br /&gt;
** [[Projekt 3: Typonaut]]&lt;br /&gt;
* Kontrolltöö lugemismaterjalide ja loengumaterjalide peale (40p)&lt;br /&gt;
&lt;br /&gt;
Projektide grupid loosime ja vahetame gruppe iga projekti puhul.&lt;br /&gt;
&lt;br /&gt;
== Praktikumid ==&lt;br /&gt;
&lt;br /&gt;
* [[UI:Prototüüp|Prototüüpimine paberil]]&lt;br /&gt;
* [[UI:Bootstrap|Veebilehtede põhjad]]&lt;br /&gt;
* [[UI:Frustratsioon|Frustratsiooniliides]]&lt;br /&gt;
* [[UI:Nurgelised Kassid|Nurgelised kassid]]&lt;br /&gt;
* [[UI:SASS|Süntaktiliselt äge CSS]]&lt;br /&gt;
* [[UI:Nurgelised_Koerad|Nurgelised koerad]]&lt;br /&gt;
* [[UI:Animatsioonid]]&lt;br /&gt;
* [[UI:Django (Sissejuhatus)|Django Sissejuhatus]]&lt;br /&gt;
* [[UI:Django (Edasijuhatus)|Django Edasijuhatus]]&lt;br /&gt;
* [[UI:Kasutajatestid|Kasutajatestid]]&lt;br /&gt;
&lt;br /&gt;
== Videod == &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLMQzXA1f24AdPMsiYydc4rcAtHN-MiC6D&amp;amp;feature=view_all CSSi tutvustusvideod]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltöö ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö toimub viimase loengu ajal, loengu ruumides. Kontrolltöö sisuks on alltoodud materjalide lugemiskontroll ning HTML/javascripti tehniliste küsimuste lahendamine paberil.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lugemist &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A List Apart: [http://alistapart.com/article/indefenseofeyecandy In Defence of Eye Candy] - miks ilus liides on &amp;quot;parem&amp;quot;.&lt;br /&gt;
* Spolsky: [http://www.joelonsoftware.com/uibook/fog0000000249.html User Interface Design For Programmers] - kontrollitundest, kasutajamudelist ja päris inimestest&lt;br /&gt;
* Brandon Walkin: [http://www.brandonwalkin.com/blog/2009/08/10/managing-ui-complexity/ Managing UI complexity] - sellest kuidas asju kasutaja eest ära peita&lt;br /&gt;
* Ask Tog: [http://asktog.com/atc/principles-of-interaction-design/ First Principles of User Interaction Design] - tee liides valmis ja loe see uuesti läbi&lt;br /&gt;
* Nielsen: [http://www.nngroup.com/articles/ten-usability-heuristics/ 10 heuristilist kriteeriumit] - liidese testimiseks&lt;br /&gt;
* [http://ui-patterns.com/patterns UI-Patterns.com] - input, navigation, data&lt;br /&gt;
* [http://www.joelonsoftware.com/articles/Unicode.html Spolsky: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]&lt;br /&gt;
* [http://friedcellcollective.net/outbreak/2007/12/13/messing-up-the-interface/ kuidas vormid koledaks lähevad] ja [http://www.lukew.com/ff/entry.asp?1502 vormide disainist]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Tehniline &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.&lt;br /&gt;
* HTML DOM põhipunktid &lt;br /&gt;
* Cookied ja sessioonid (vt http://en.wikipedia.org/wiki/HTTP_cookie, http://www.quirksmode.org/js/cookies.html). Peab aru saama cookie põhimõtetest server-side ja aru saama javascripti näidetest cookiede kasutamise kohta. Programmeerimisülesannet selle kohta ei tule.&lt;br /&gt;
* Cgi protokoll (vt http://www.jmarshall.com/easy/cgi/). Peab aru saama, kuidas vormisisusid postitaktakse, mis vahe on GET ja POST protokollil.&lt;br /&gt;
&lt;br /&gt;
== Niisama huvitavat lugemist == &lt;br /&gt;
* [https://www.codeschool.com/courses/shaping-up-with-angular-js Shaping up with angular] - imeline angulari veebikoolitus (aga spämmib teid pärast rohkelt äraütlemisvõimalusega)&lt;br /&gt;
* [http://www.theverge.com/2013/1/24/3904134/google-redesign-how-larry-page-engineered-beautiful-revolution Redesigning Google: How Larry Page Engineered Beautiful Revolution] - kuidas Google ennast hiljuti ümber ehitas&lt;br /&gt;
* [http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown Amazoni alam-menüü nipp]&lt;br /&gt;
* [http://paulrouget.com/e/devtoolsnext/ Firefox developer tools] - lahedusi Mozillalt&lt;br /&gt;
* [http://www.trinidad.ee/public/materjalid/Kasutajakeskse_veebi_lehekylgede_disain.pdf RISO: Kasutajakeskse veebi lehekülgede disain (.pdf)]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx Windows User Experience Interaction guidelines] - Win7&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx UX Guidelines for Windows Store apps] - Win 8 &lt;br /&gt;
* [http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html iOS Human Interface Guidelines]&lt;br /&gt;
* [https://developer.android.com/design/index.html Android UI Design]&lt;br /&gt;
* [https://developer.gnome.org/hig-book/stable/ GNOME Human Interface Guidelines]&lt;br /&gt;
* [https://medium.com/product-design/5ccef7b3e1fc Kuidas iOS lapikumaks muutub aja jooksul]&lt;br /&gt;
* [http://www.behance.net/rogeroddone Google Visual Asset Guidelines] - Google&#039;i ikonograafia loomisest&lt;br /&gt;
* [http://www.theverge.com/2013/8/29/4640308/dark-patterns-inside-the-interfaces-designed-to-trick-you Dark Patterns] - salakavalatest kasutajaliidese mustritest.&lt;br /&gt;
* [https://medium.com/@zmh/bye-google-maps-ea3ea10f84dc CityMapper vs Google Maps] - UX võrdlus&lt;br /&gt;
* [http://www.allenpike.com/2014/schrodingers-shift-key/ iOS 8 ja shift]&lt;br /&gt;
* [https://xss-game.appspot.com/ Cross-Site Scripting] - tore mäng turvaprobleemidest kasutajaliidese ehitamisel&lt;br /&gt;
* [http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ Vihakõne PHP suunal] - väga must huumor&lt;br /&gt;
* [http://blog.martindoms.com/2011/01/24/poor-ui-design-can-kill/ Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest]&lt;br /&gt;
* [http://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name How Apple Is Giving Design A Bad Name] - kuidas Apple oma liideste disainiga veidi rappa on jõudnud&lt;br /&gt;
* [https://www.npmjs.com/package/jade Jade - miinimumsüntaksiga HTML]&lt;br /&gt;
* [http://sass-lang.com/guide Sass - miinimumsüntaksiga CSS]&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kasutajaliidesed]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13722</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13722"/>
		<updated>2017-06-04T19:32:30Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Tulemused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Disain vs ux.jpg|right]]Kursuse kood: &amp;lt;b&amp;gt;ITV0130&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://www.lambda.ee/index.php/Kasutajaliidesed or http://www.lambda.ee/index/itv0130&amp;lt;br&amp;gt;&lt;br /&gt;
Õppejõud: Jaagup Irve&amp;lt;br&amp;gt;&lt;br /&gt;
Kontakt: jaagup.irve@ttu.ee, TTÜ ruum ICT-425&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=13571 2016] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=12421 2015] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=11832 2014] [[Kasutajaliidesed (2013)|2013]] [[Kasutajaliidesed (2012)|2012]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Tulemused ==&lt;br /&gt;
&lt;br /&gt;
Olen harjunud kolmenädalase sessitsükli ja umbes kolmandiku jagu vähemate tudengitega, seega jäid te hinded hiljemaks, kui dekanaadile või lõpetajatele meeldiks. Seega teretulemast loodetavasti interaktiivselt jälgima, kuidas mul läheb.&lt;br /&gt;
&lt;br /&gt;
* KT parandamine (100%)&lt;br /&gt;
* Prakside inventuur (98,99%)&lt;br /&gt;
* Avaldatud hinded (100%) - [https://docs.google.com/spreadsheets/d/1o1ekepkX9m-lY_0asKycxCnUYSYaUxFsRm7k7zKFcx4/pubhtml?gid=1412925425&amp;amp;single=true Esialgsed tulemused]&lt;br /&gt;
* ÕIS (98,99%) - kinnitamata, juhuks kui on vigu vms&lt;br /&gt;
&lt;br /&gt;
== Korraldusest ==&lt;br /&gt;
&lt;br /&gt;
Loengutes selgitame kasutajaliideste arendamise põhimõtteid. Harjutustundide eesmärk on tutvustada laborite tegemiseks tarvilikke tehnilisi lahendusi. Praktikumis lahendame iga nädal mõnd konkreetset liidese ehitamisel ettetulevat probleemi (kui pole kodutööde esitamise nädal, sest siis tegeleme ainult sellega)&lt;br /&gt;
&lt;br /&gt;
Aasta 2017 puhul võib esineda mõningane kõrvalekalle etteantud projektist, sest õppejõul on üks kinnisidee tekkinud ja teie olete selle katsejänesed. Sellest esimeses loengus.&lt;br /&gt;
&lt;br /&gt;
*[https://bitbucket.org/XonX/android-demo Juri Kazjulja loengu repo]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltööst ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltööd on võimalik teha 17. ja 24. mail. Oluline on &#039;&#039;&#039;registreerida&#039;&#039;&#039; [https://ois.ttu.ee/ õppeinfosüsteemis].&lt;br /&gt;
&lt;br /&gt;
* 17. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U06A-229&#039;&#039;&#039;&lt;br /&gt;
* 24. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U02-102&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Varasemate aastate kontrolltöö hinde võib paluda otse üle kanda. Kontrolltööle võtke ruumi kaasa ainult paber-pliiats ja dokument. Kõhurääkijate ja mobiilinokkijate tööd võtan ära ja ei hinda. Tööd saab teha üks kord (topelt-käimisel teist tööd ei hinda).&lt;br /&gt;
&lt;br /&gt;
== Hindest ==&lt;br /&gt;
&lt;br /&gt;
Aine lõppeb hindelise arvestusega. Aine hinne koosneb kolmest komponendist:&lt;br /&gt;
* Liidese projektid: Meeskonnad ehitavad hindelised liidesed (60p)&lt;br /&gt;
** [[Projekt 1: Politsei e-avaldus]]&lt;br /&gt;
** [[Projekt 2: Preemia]]&lt;br /&gt;
** [[Projekt 3: Typonaut]]&lt;br /&gt;
* Kontrolltöö lugemismaterjalide ja loengumaterjalide peale (40p)&lt;br /&gt;
&lt;br /&gt;
Projektide grupid loosime ja vahetame gruppe iga projekti puhul.&lt;br /&gt;
&lt;br /&gt;
== Praktikumid ==&lt;br /&gt;
&lt;br /&gt;
* [[UI:Prototüüp|Prototüüpimine paberil]]&lt;br /&gt;
* [[UI:Bootstrap|Veebilehtede põhjad]]&lt;br /&gt;
* [[UI:Frustratsioon|Frustratsiooniliides]]&lt;br /&gt;
* [[UI:Nurgelised Kassid|Nurgelised kassid]]&lt;br /&gt;
* [[UI:SASS|Süntaktiliselt äge CSS]]&lt;br /&gt;
* [[UI:Nurgelised_Koerad|Nurgelised koerad]]&lt;br /&gt;
* [[UI:Animatsioonid]]&lt;br /&gt;
* [[UI:Django (Sissejuhatus)|Django Sissejuhatus]]&lt;br /&gt;
* [[UI:Django (Edasijuhatus)|Django Edasijuhatus]]&lt;br /&gt;
* [[UI:Kasutajatestid|Kasutajatestid]]&lt;br /&gt;
&lt;br /&gt;
== Videod == &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLMQzXA1f24AdPMsiYydc4rcAtHN-MiC6D&amp;amp;feature=view_all CSSi tutvustusvideod]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltöö ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö toimub viimase loengu ajal, loengu ruumides. Kontrolltöö sisuks on alltoodud materjalide lugemiskontroll ning HTML/javascripti tehniliste küsimuste lahendamine paberil.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lugemist &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A List Apart: [http://alistapart.com/article/indefenseofeyecandy In Defence of Eye Candy] - miks ilus liides on &amp;quot;parem&amp;quot;.&lt;br /&gt;
* Spolsky: [http://www.joelonsoftware.com/uibook/fog0000000249.html User Interface Design For Programmers] - kontrollitundest, kasutajamudelist ja päris inimestest&lt;br /&gt;
* Brandon Walkin: [http://www.brandonwalkin.com/blog/2009/08/10/managing-ui-complexity/ Managing UI complexity] - sellest kuidas asju kasutaja eest ära peita&lt;br /&gt;
* Ask Tog: [http://asktog.com/atc/principles-of-interaction-design/ First Principles of User Interaction Design] - tee liides valmis ja loe see uuesti läbi&lt;br /&gt;
* Nielsen: [http://www.nngroup.com/articles/ten-usability-heuristics/ 10 heuristilist kriteeriumit] - liidese testimiseks&lt;br /&gt;
* [http://ui-patterns.com/patterns UI-Patterns.com] - input, navigation, data&lt;br /&gt;
* [http://www.joelonsoftware.com/articles/Unicode.html Spolsky: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]&lt;br /&gt;
* [http://friedcellcollective.net/outbreak/2007/12/13/messing-up-the-interface/ kuidas vormid koledaks lähevad] ja [http://www.lukew.com/ff/entry.asp?1502 vormide disainist]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Tehniline &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.&lt;br /&gt;
* HTML DOM põhipunktid &lt;br /&gt;
* Cookied ja sessioonid (vt http://en.wikipedia.org/wiki/HTTP_cookie, http://www.quirksmode.org/js/cookies.html). Peab aru saama cookie põhimõtetest server-side ja aru saama javascripti näidetest cookiede kasutamise kohta. Programmeerimisülesannet selle kohta ei tule.&lt;br /&gt;
* Cgi protokoll (vt http://www.jmarshall.com/easy/cgi/). Peab aru saama, kuidas vormisisusid postitaktakse, mis vahe on GET ja POST protokollil.&lt;br /&gt;
&lt;br /&gt;
== Niisama huvitavat lugemist == &lt;br /&gt;
* [https://www.codeschool.com/courses/shaping-up-with-angular-js Shaping up with angular] - imeline angulari veebikoolitus (aga spämmib teid pärast rohkelt äraütlemisvõimalusega)&lt;br /&gt;
* [http://www.theverge.com/2013/1/24/3904134/google-redesign-how-larry-page-engineered-beautiful-revolution Redesigning Google: How Larry Page Engineered Beautiful Revolution] - kuidas Google ennast hiljuti ümber ehitas&lt;br /&gt;
* [http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown Amazoni alam-menüü nipp]&lt;br /&gt;
* [http://paulrouget.com/e/devtoolsnext/ Firefox developer tools] - lahedusi Mozillalt&lt;br /&gt;
* [http://www.trinidad.ee/public/materjalid/Kasutajakeskse_veebi_lehekylgede_disain.pdf RISO: Kasutajakeskse veebi lehekülgede disain (.pdf)]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx Windows User Experience Interaction guidelines] - Win7&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx UX Guidelines for Windows Store apps] - Win 8 &lt;br /&gt;
* [http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html iOS Human Interface Guidelines]&lt;br /&gt;
* [https://developer.android.com/design/index.html Android UI Design]&lt;br /&gt;
* [https://developer.gnome.org/hig-book/stable/ GNOME Human Interface Guidelines]&lt;br /&gt;
* [https://medium.com/product-design/5ccef7b3e1fc Kuidas iOS lapikumaks muutub aja jooksul]&lt;br /&gt;
* [http://www.behance.net/rogeroddone Google Visual Asset Guidelines] - Google&#039;i ikonograafia loomisest&lt;br /&gt;
* [http://www.theverge.com/2013/8/29/4640308/dark-patterns-inside-the-interfaces-designed-to-trick-you Dark Patterns] - salakavalatest kasutajaliidese mustritest.&lt;br /&gt;
* [https://medium.com/@zmh/bye-google-maps-ea3ea10f84dc CityMapper vs Google Maps] - UX võrdlus&lt;br /&gt;
* [http://www.allenpike.com/2014/schrodingers-shift-key/ iOS 8 ja shift]&lt;br /&gt;
* [https://xss-game.appspot.com/ Cross-Site Scripting] - tore mäng turvaprobleemidest kasutajaliidese ehitamisel&lt;br /&gt;
* [http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ Vihakõne PHP suunal] - väga must huumor&lt;br /&gt;
* [http://blog.martindoms.com/2011/01/24/poor-ui-design-can-kill/ Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest]&lt;br /&gt;
* [http://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name How Apple Is Giving Design A Bad Name] - kuidas Apple oma liideste disainiga veidi rappa on jõudnud&lt;br /&gt;
* [https://www.npmjs.com/package/jade Jade - miinimumsüntaksiga HTML]&lt;br /&gt;
* [http://sass-lang.com/guide Sass - miinimumsüntaksiga CSS]&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kasutajaliidesed]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13721</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13721"/>
		<updated>2017-06-04T18:38:58Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Tulemused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Disain vs ux.jpg|right]]Kursuse kood: &amp;lt;b&amp;gt;ITV0130&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://www.lambda.ee/index.php/Kasutajaliidesed or http://www.lambda.ee/index/itv0130&amp;lt;br&amp;gt;&lt;br /&gt;
Õppejõud: Jaagup Irve&amp;lt;br&amp;gt;&lt;br /&gt;
Kontakt: jaagup.irve@ttu.ee, TTÜ ruum ICT-425&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=13571 2016] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=12421 2015] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=11832 2014] [[Kasutajaliidesed (2013)|2013]] [[Kasutajaliidesed (2012)|2012]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Tulemused ==&lt;br /&gt;
&lt;br /&gt;
Olen harjunud kolmenädalase sessitsükli ja umbes kolmandiku jagu vähemate tudengitega, seega jäid te hinded hiljemaks, kui dekanaadile või lõpetajatele meeldiks. Seega teretulemast loodetavasti interaktiivselt jälgima, kuidas mul läheb.&lt;br /&gt;
&lt;br /&gt;
* KT parandamine (100%)&lt;br /&gt;
* Prakside inventuur (98,99%)&lt;br /&gt;
* Avaldatud hinded (100%) - [https://docs.google.com/spreadsheets/d/1o1ekepkX9m-lY_0asKycxCnUYSYaUxFsRm7k7zKFcx4/pubhtml?gid=1412925425&amp;amp;single=true Esialgsed tulemused]&lt;br /&gt;
* ÕIS (0%)&lt;br /&gt;
&lt;br /&gt;
== Korraldusest ==&lt;br /&gt;
&lt;br /&gt;
Loengutes selgitame kasutajaliideste arendamise põhimõtteid. Harjutustundide eesmärk on tutvustada laborite tegemiseks tarvilikke tehnilisi lahendusi. Praktikumis lahendame iga nädal mõnd konkreetset liidese ehitamisel ettetulevat probleemi (kui pole kodutööde esitamise nädal, sest siis tegeleme ainult sellega)&lt;br /&gt;
&lt;br /&gt;
Aasta 2017 puhul võib esineda mõningane kõrvalekalle etteantud projektist, sest õppejõul on üks kinnisidee tekkinud ja teie olete selle katsejänesed. Sellest esimeses loengus.&lt;br /&gt;
&lt;br /&gt;
*[https://bitbucket.org/XonX/android-demo Juri Kazjulja loengu repo]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltööst ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltööd on võimalik teha 17. ja 24. mail. Oluline on &#039;&#039;&#039;registreerida&#039;&#039;&#039; [https://ois.ttu.ee/ õppeinfosüsteemis].&lt;br /&gt;
&lt;br /&gt;
* 17. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U06A-229&#039;&#039;&#039;&lt;br /&gt;
* 24. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U02-102&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Varasemate aastate kontrolltöö hinde võib paluda otse üle kanda. Kontrolltööle võtke ruumi kaasa ainult paber-pliiats ja dokument. Kõhurääkijate ja mobiilinokkijate tööd võtan ära ja ei hinda. Tööd saab teha üks kord (topelt-käimisel teist tööd ei hinda).&lt;br /&gt;
&lt;br /&gt;
== Hindest ==&lt;br /&gt;
&lt;br /&gt;
Aine lõppeb hindelise arvestusega. Aine hinne koosneb kolmest komponendist:&lt;br /&gt;
* Liidese projektid: Meeskonnad ehitavad hindelised liidesed (60p)&lt;br /&gt;
** [[Projekt 1: Politsei e-avaldus]]&lt;br /&gt;
** [[Projekt 2: Preemia]]&lt;br /&gt;
** [[Projekt 3: Typonaut]]&lt;br /&gt;
* Kontrolltöö lugemismaterjalide ja loengumaterjalide peale (40p)&lt;br /&gt;
&lt;br /&gt;
Projektide grupid loosime ja vahetame gruppe iga projekti puhul.&lt;br /&gt;
&lt;br /&gt;
== Praktikumid ==&lt;br /&gt;
&lt;br /&gt;
* [[UI:Prototüüp|Prototüüpimine paberil]]&lt;br /&gt;
* [[UI:Bootstrap|Veebilehtede põhjad]]&lt;br /&gt;
* [[UI:Frustratsioon|Frustratsiooniliides]]&lt;br /&gt;
* [[UI:Nurgelised Kassid|Nurgelised kassid]]&lt;br /&gt;
* [[UI:SASS|Süntaktiliselt äge CSS]]&lt;br /&gt;
* [[UI:Nurgelised_Koerad|Nurgelised koerad]]&lt;br /&gt;
* [[UI:Animatsioonid]]&lt;br /&gt;
* [[UI:Django (Sissejuhatus)|Django Sissejuhatus]]&lt;br /&gt;
* [[UI:Django (Edasijuhatus)|Django Edasijuhatus]]&lt;br /&gt;
* [[UI:Kasutajatestid|Kasutajatestid]]&lt;br /&gt;
&lt;br /&gt;
== Videod == &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLMQzXA1f24AdPMsiYydc4rcAtHN-MiC6D&amp;amp;feature=view_all CSSi tutvustusvideod]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltöö ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö toimub viimase loengu ajal, loengu ruumides. Kontrolltöö sisuks on alltoodud materjalide lugemiskontroll ning HTML/javascripti tehniliste küsimuste lahendamine paberil.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lugemist &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A List Apart: [http://alistapart.com/article/indefenseofeyecandy In Defence of Eye Candy] - miks ilus liides on &amp;quot;parem&amp;quot;.&lt;br /&gt;
* Spolsky: [http://www.joelonsoftware.com/uibook/fog0000000249.html User Interface Design For Programmers] - kontrollitundest, kasutajamudelist ja päris inimestest&lt;br /&gt;
* Brandon Walkin: [http://www.brandonwalkin.com/blog/2009/08/10/managing-ui-complexity/ Managing UI complexity] - sellest kuidas asju kasutaja eest ära peita&lt;br /&gt;
* Ask Tog: [http://asktog.com/atc/principles-of-interaction-design/ First Principles of User Interaction Design] - tee liides valmis ja loe see uuesti läbi&lt;br /&gt;
* Nielsen: [http://www.nngroup.com/articles/ten-usability-heuristics/ 10 heuristilist kriteeriumit] - liidese testimiseks&lt;br /&gt;
* [http://ui-patterns.com/patterns UI-Patterns.com] - input, navigation, data&lt;br /&gt;
* [http://www.joelonsoftware.com/articles/Unicode.html Spolsky: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]&lt;br /&gt;
* [http://friedcellcollective.net/outbreak/2007/12/13/messing-up-the-interface/ kuidas vormid koledaks lähevad] ja [http://www.lukew.com/ff/entry.asp?1502 vormide disainist]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Tehniline &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.&lt;br /&gt;
* HTML DOM põhipunktid &lt;br /&gt;
* Cookied ja sessioonid (vt http://en.wikipedia.org/wiki/HTTP_cookie, http://www.quirksmode.org/js/cookies.html). Peab aru saama cookie põhimõtetest server-side ja aru saama javascripti näidetest cookiede kasutamise kohta. Programmeerimisülesannet selle kohta ei tule.&lt;br /&gt;
* Cgi protokoll (vt http://www.jmarshall.com/easy/cgi/). Peab aru saama, kuidas vormisisusid postitaktakse, mis vahe on GET ja POST protokollil.&lt;br /&gt;
&lt;br /&gt;
== Niisama huvitavat lugemist == &lt;br /&gt;
* [https://www.codeschool.com/courses/shaping-up-with-angular-js Shaping up with angular] - imeline angulari veebikoolitus (aga spämmib teid pärast rohkelt äraütlemisvõimalusega)&lt;br /&gt;
* [http://www.theverge.com/2013/1/24/3904134/google-redesign-how-larry-page-engineered-beautiful-revolution Redesigning Google: How Larry Page Engineered Beautiful Revolution] - kuidas Google ennast hiljuti ümber ehitas&lt;br /&gt;
* [http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown Amazoni alam-menüü nipp]&lt;br /&gt;
* [http://paulrouget.com/e/devtoolsnext/ Firefox developer tools] - lahedusi Mozillalt&lt;br /&gt;
* [http://www.trinidad.ee/public/materjalid/Kasutajakeskse_veebi_lehekylgede_disain.pdf RISO: Kasutajakeskse veebi lehekülgede disain (.pdf)]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx Windows User Experience Interaction guidelines] - Win7&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx UX Guidelines for Windows Store apps] - Win 8 &lt;br /&gt;
* [http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html iOS Human Interface Guidelines]&lt;br /&gt;
* [https://developer.android.com/design/index.html Android UI Design]&lt;br /&gt;
* [https://developer.gnome.org/hig-book/stable/ GNOME Human Interface Guidelines]&lt;br /&gt;
* [https://medium.com/product-design/5ccef7b3e1fc Kuidas iOS lapikumaks muutub aja jooksul]&lt;br /&gt;
* [http://www.behance.net/rogeroddone Google Visual Asset Guidelines] - Google&#039;i ikonograafia loomisest&lt;br /&gt;
* [http://www.theverge.com/2013/8/29/4640308/dark-patterns-inside-the-interfaces-designed-to-trick-you Dark Patterns] - salakavalatest kasutajaliidese mustritest.&lt;br /&gt;
* [https://medium.com/@zmh/bye-google-maps-ea3ea10f84dc CityMapper vs Google Maps] - UX võrdlus&lt;br /&gt;
* [http://www.allenpike.com/2014/schrodingers-shift-key/ iOS 8 ja shift]&lt;br /&gt;
* [https://xss-game.appspot.com/ Cross-Site Scripting] - tore mäng turvaprobleemidest kasutajaliidese ehitamisel&lt;br /&gt;
* [http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ Vihakõne PHP suunal] - väga must huumor&lt;br /&gt;
* [http://blog.martindoms.com/2011/01/24/poor-ui-design-can-kill/ Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest]&lt;br /&gt;
* [http://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name How Apple Is Giving Design A Bad Name] - kuidas Apple oma liideste disainiga veidi rappa on jõudnud&lt;br /&gt;
* [https://www.npmjs.com/package/jade Jade - miinimumsüntaksiga HTML]&lt;br /&gt;
* [http://sass-lang.com/guide Sass - miinimumsüntaksiga CSS]&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kasutajaliidesed]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13720</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13720"/>
		<updated>2017-06-04T18:38:40Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Tulemused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Disain vs ux.jpg|right]]Kursuse kood: &amp;lt;b&amp;gt;ITV0130&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://www.lambda.ee/index.php/Kasutajaliidesed or http://www.lambda.ee/index/itv0130&amp;lt;br&amp;gt;&lt;br /&gt;
Õppejõud: Jaagup Irve&amp;lt;br&amp;gt;&lt;br /&gt;
Kontakt: jaagup.irve@ttu.ee, TTÜ ruum ICT-425&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=13571 2016] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=12421 2015] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=11832 2014] [[Kasutajaliidesed (2013)|2013]] [[Kasutajaliidesed (2012)|2012]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Tulemused ==&lt;br /&gt;
&lt;br /&gt;
Olen harjunud kolmenädalase sessitsükli ja umbes kolmandiku jagu vähemate tudengitega, seega jäid te hinded hiljemaks, kui dekanaadile või lõpetajatele meeldiks. Seega teretulemast loodetavasti interaktiivselt jälgima, kuidas mul läheb.&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1o1ekepkX9m-lY_0asKycxCnUYSYaUxFsRm7k7zKFcx4/pubhtml?gid=1412925425&amp;amp;single=true Esialgsed tulemused]&lt;br /&gt;
&lt;br /&gt;
* KT parandamine (100%)&lt;br /&gt;
* Prakside inventuur (98,99%)&lt;br /&gt;
* Avaldatud hinded (100%)&lt;br /&gt;
* ÕIS (0%)&lt;br /&gt;
&lt;br /&gt;
== Korraldusest ==&lt;br /&gt;
&lt;br /&gt;
Loengutes selgitame kasutajaliideste arendamise põhimõtteid. Harjutustundide eesmärk on tutvustada laborite tegemiseks tarvilikke tehnilisi lahendusi. Praktikumis lahendame iga nädal mõnd konkreetset liidese ehitamisel ettetulevat probleemi (kui pole kodutööde esitamise nädal, sest siis tegeleme ainult sellega)&lt;br /&gt;
&lt;br /&gt;
Aasta 2017 puhul võib esineda mõningane kõrvalekalle etteantud projektist, sest õppejõul on üks kinnisidee tekkinud ja teie olete selle katsejänesed. Sellest esimeses loengus.&lt;br /&gt;
&lt;br /&gt;
*[https://bitbucket.org/XonX/android-demo Juri Kazjulja loengu repo]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltööst ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltööd on võimalik teha 17. ja 24. mail. Oluline on &#039;&#039;&#039;registreerida&#039;&#039;&#039; [https://ois.ttu.ee/ õppeinfosüsteemis].&lt;br /&gt;
&lt;br /&gt;
* 17. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U06A-229&#039;&#039;&#039;&lt;br /&gt;
* 24. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U02-102&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Varasemate aastate kontrolltöö hinde võib paluda otse üle kanda. Kontrolltööle võtke ruumi kaasa ainult paber-pliiats ja dokument. Kõhurääkijate ja mobiilinokkijate tööd võtan ära ja ei hinda. Tööd saab teha üks kord (topelt-käimisel teist tööd ei hinda).&lt;br /&gt;
&lt;br /&gt;
== Hindest ==&lt;br /&gt;
&lt;br /&gt;
Aine lõppeb hindelise arvestusega. Aine hinne koosneb kolmest komponendist:&lt;br /&gt;
* Liidese projektid: Meeskonnad ehitavad hindelised liidesed (60p)&lt;br /&gt;
** [[Projekt 1: Politsei e-avaldus]]&lt;br /&gt;
** [[Projekt 2: Preemia]]&lt;br /&gt;
** [[Projekt 3: Typonaut]]&lt;br /&gt;
* Kontrolltöö lugemismaterjalide ja loengumaterjalide peale (40p)&lt;br /&gt;
&lt;br /&gt;
Projektide grupid loosime ja vahetame gruppe iga projekti puhul.&lt;br /&gt;
&lt;br /&gt;
== Praktikumid ==&lt;br /&gt;
&lt;br /&gt;
* [[UI:Prototüüp|Prototüüpimine paberil]]&lt;br /&gt;
* [[UI:Bootstrap|Veebilehtede põhjad]]&lt;br /&gt;
* [[UI:Frustratsioon|Frustratsiooniliides]]&lt;br /&gt;
* [[UI:Nurgelised Kassid|Nurgelised kassid]]&lt;br /&gt;
* [[UI:SASS|Süntaktiliselt äge CSS]]&lt;br /&gt;
* [[UI:Nurgelised_Koerad|Nurgelised koerad]]&lt;br /&gt;
* [[UI:Animatsioonid]]&lt;br /&gt;
* [[UI:Django (Sissejuhatus)|Django Sissejuhatus]]&lt;br /&gt;
* [[UI:Django (Edasijuhatus)|Django Edasijuhatus]]&lt;br /&gt;
* [[UI:Kasutajatestid|Kasutajatestid]]&lt;br /&gt;
&lt;br /&gt;
== Videod == &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLMQzXA1f24AdPMsiYydc4rcAtHN-MiC6D&amp;amp;feature=view_all CSSi tutvustusvideod]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltöö ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö toimub viimase loengu ajal, loengu ruumides. Kontrolltöö sisuks on alltoodud materjalide lugemiskontroll ning HTML/javascripti tehniliste küsimuste lahendamine paberil.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lugemist &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A List Apart: [http://alistapart.com/article/indefenseofeyecandy In Defence of Eye Candy] - miks ilus liides on &amp;quot;parem&amp;quot;.&lt;br /&gt;
* Spolsky: [http://www.joelonsoftware.com/uibook/fog0000000249.html User Interface Design For Programmers] - kontrollitundest, kasutajamudelist ja päris inimestest&lt;br /&gt;
* Brandon Walkin: [http://www.brandonwalkin.com/blog/2009/08/10/managing-ui-complexity/ Managing UI complexity] - sellest kuidas asju kasutaja eest ära peita&lt;br /&gt;
* Ask Tog: [http://asktog.com/atc/principles-of-interaction-design/ First Principles of User Interaction Design] - tee liides valmis ja loe see uuesti läbi&lt;br /&gt;
* Nielsen: [http://www.nngroup.com/articles/ten-usability-heuristics/ 10 heuristilist kriteeriumit] - liidese testimiseks&lt;br /&gt;
* [http://ui-patterns.com/patterns UI-Patterns.com] - input, navigation, data&lt;br /&gt;
* [http://www.joelonsoftware.com/articles/Unicode.html Spolsky: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]&lt;br /&gt;
* [http://friedcellcollective.net/outbreak/2007/12/13/messing-up-the-interface/ kuidas vormid koledaks lähevad] ja [http://www.lukew.com/ff/entry.asp?1502 vormide disainist]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Tehniline &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.&lt;br /&gt;
* HTML DOM põhipunktid &lt;br /&gt;
* Cookied ja sessioonid (vt http://en.wikipedia.org/wiki/HTTP_cookie, http://www.quirksmode.org/js/cookies.html). Peab aru saama cookie põhimõtetest server-side ja aru saama javascripti näidetest cookiede kasutamise kohta. Programmeerimisülesannet selle kohta ei tule.&lt;br /&gt;
* Cgi protokoll (vt http://www.jmarshall.com/easy/cgi/). Peab aru saama, kuidas vormisisusid postitaktakse, mis vahe on GET ja POST protokollil.&lt;br /&gt;
&lt;br /&gt;
== Niisama huvitavat lugemist == &lt;br /&gt;
* [https://www.codeschool.com/courses/shaping-up-with-angular-js Shaping up with angular] - imeline angulari veebikoolitus (aga spämmib teid pärast rohkelt äraütlemisvõimalusega)&lt;br /&gt;
* [http://www.theverge.com/2013/1/24/3904134/google-redesign-how-larry-page-engineered-beautiful-revolution Redesigning Google: How Larry Page Engineered Beautiful Revolution] - kuidas Google ennast hiljuti ümber ehitas&lt;br /&gt;
* [http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown Amazoni alam-menüü nipp]&lt;br /&gt;
* [http://paulrouget.com/e/devtoolsnext/ Firefox developer tools] - lahedusi Mozillalt&lt;br /&gt;
* [http://www.trinidad.ee/public/materjalid/Kasutajakeskse_veebi_lehekylgede_disain.pdf RISO: Kasutajakeskse veebi lehekülgede disain (.pdf)]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx Windows User Experience Interaction guidelines] - Win7&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx UX Guidelines for Windows Store apps] - Win 8 &lt;br /&gt;
* [http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html iOS Human Interface Guidelines]&lt;br /&gt;
* [https://developer.android.com/design/index.html Android UI Design]&lt;br /&gt;
* [https://developer.gnome.org/hig-book/stable/ GNOME Human Interface Guidelines]&lt;br /&gt;
* [https://medium.com/product-design/5ccef7b3e1fc Kuidas iOS lapikumaks muutub aja jooksul]&lt;br /&gt;
* [http://www.behance.net/rogeroddone Google Visual Asset Guidelines] - Google&#039;i ikonograafia loomisest&lt;br /&gt;
* [http://www.theverge.com/2013/8/29/4640308/dark-patterns-inside-the-interfaces-designed-to-trick-you Dark Patterns] - salakavalatest kasutajaliidese mustritest.&lt;br /&gt;
* [https://medium.com/@zmh/bye-google-maps-ea3ea10f84dc CityMapper vs Google Maps] - UX võrdlus&lt;br /&gt;
* [http://www.allenpike.com/2014/schrodingers-shift-key/ iOS 8 ja shift]&lt;br /&gt;
* [https://xss-game.appspot.com/ Cross-Site Scripting] - tore mäng turvaprobleemidest kasutajaliidese ehitamisel&lt;br /&gt;
* [http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ Vihakõne PHP suunal] - väga must huumor&lt;br /&gt;
* [http://blog.martindoms.com/2011/01/24/poor-ui-design-can-kill/ Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest]&lt;br /&gt;
* [http://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name How Apple Is Giving Design A Bad Name] - kuidas Apple oma liideste disainiga veidi rappa on jõudnud&lt;br /&gt;
* [https://www.npmjs.com/package/jade Jade - miinimumsüntaksiga HTML]&lt;br /&gt;
* [http://sass-lang.com/guide Sass - miinimumsüntaksiga CSS]&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kasutajaliidesed]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13719</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13719"/>
		<updated>2017-06-04T18:23:26Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Tulemused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Disain vs ux.jpg|right]]Kursuse kood: &amp;lt;b&amp;gt;ITV0130&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://www.lambda.ee/index.php/Kasutajaliidesed or http://www.lambda.ee/index/itv0130&amp;lt;br&amp;gt;&lt;br /&gt;
Õppejõud: Jaagup Irve&amp;lt;br&amp;gt;&lt;br /&gt;
Kontakt: jaagup.irve@ttu.ee, TTÜ ruum ICT-425&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=13571 2016] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=12421 2015] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=11832 2014] [[Kasutajaliidesed (2013)|2013]] [[Kasutajaliidesed (2012)|2012]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Tulemused ==&lt;br /&gt;
&lt;br /&gt;
Olen harjunud kolmenädalase sessitsükli ja umbes kolmandiku jagu vähemate tudengitega, seega jäid te hinded hiljemaks, kui dekanaadile või lõpetajatele meeldiks. Seega teretulemast loodetavasti interaktiivselt jälgima, kuidas mul läheb.&lt;br /&gt;
&lt;br /&gt;
* KT parandamine (100%)&lt;br /&gt;
* Prakside inventuur (98,99%)&lt;br /&gt;
* Avaldatud hinded (95%)&lt;br /&gt;
** KT sissekandmine tehtud&lt;br /&gt;
** [https://docs.google.com/spreadsheets/d/1o1ekepkX9m-lY_0asKycxCnUYSYaUxFsRm7k7zKFcx4/pubhtml?gid=1412925425&amp;amp;single=true Esialgsed tulemused]&lt;br /&gt;
** valemite korrigeerimine (sanity check + hinne)&lt;br /&gt;
* ÕIS (0%)&lt;br /&gt;
&lt;br /&gt;
== Korraldusest ==&lt;br /&gt;
&lt;br /&gt;
Loengutes selgitame kasutajaliideste arendamise põhimõtteid. Harjutustundide eesmärk on tutvustada laborite tegemiseks tarvilikke tehnilisi lahendusi. Praktikumis lahendame iga nädal mõnd konkreetset liidese ehitamisel ettetulevat probleemi (kui pole kodutööde esitamise nädal, sest siis tegeleme ainult sellega)&lt;br /&gt;
&lt;br /&gt;
Aasta 2017 puhul võib esineda mõningane kõrvalekalle etteantud projektist, sest õppejõul on üks kinnisidee tekkinud ja teie olete selle katsejänesed. Sellest esimeses loengus.&lt;br /&gt;
&lt;br /&gt;
*[https://bitbucket.org/XonX/android-demo Juri Kazjulja loengu repo]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltööst ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltööd on võimalik teha 17. ja 24. mail. Oluline on &#039;&#039;&#039;registreerida&#039;&#039;&#039; [https://ois.ttu.ee/ õppeinfosüsteemis].&lt;br /&gt;
&lt;br /&gt;
* 17. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U06A-229&#039;&#039;&#039;&lt;br /&gt;
* 24. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U02-102&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Varasemate aastate kontrolltöö hinde võib paluda otse üle kanda. Kontrolltööle võtke ruumi kaasa ainult paber-pliiats ja dokument. Kõhurääkijate ja mobiilinokkijate tööd võtan ära ja ei hinda. Tööd saab teha üks kord (topelt-käimisel teist tööd ei hinda).&lt;br /&gt;
&lt;br /&gt;
== Hindest ==&lt;br /&gt;
&lt;br /&gt;
Aine lõppeb hindelise arvestusega. Aine hinne koosneb kolmest komponendist:&lt;br /&gt;
* Liidese projektid: Meeskonnad ehitavad hindelised liidesed (60p)&lt;br /&gt;
** [[Projekt 1: Politsei e-avaldus]]&lt;br /&gt;
** [[Projekt 2: Preemia]]&lt;br /&gt;
** [[Projekt 3: Typonaut]]&lt;br /&gt;
* Kontrolltöö lugemismaterjalide ja loengumaterjalide peale (40p)&lt;br /&gt;
&lt;br /&gt;
Projektide grupid loosime ja vahetame gruppe iga projekti puhul.&lt;br /&gt;
&lt;br /&gt;
== Praktikumid ==&lt;br /&gt;
&lt;br /&gt;
* [[UI:Prototüüp|Prototüüpimine paberil]]&lt;br /&gt;
* [[UI:Bootstrap|Veebilehtede põhjad]]&lt;br /&gt;
* [[UI:Frustratsioon|Frustratsiooniliides]]&lt;br /&gt;
* [[UI:Nurgelised Kassid|Nurgelised kassid]]&lt;br /&gt;
* [[UI:SASS|Süntaktiliselt äge CSS]]&lt;br /&gt;
* [[UI:Nurgelised_Koerad|Nurgelised koerad]]&lt;br /&gt;
* [[UI:Animatsioonid]]&lt;br /&gt;
* [[UI:Django (Sissejuhatus)|Django Sissejuhatus]]&lt;br /&gt;
* [[UI:Django (Edasijuhatus)|Django Edasijuhatus]]&lt;br /&gt;
* [[UI:Kasutajatestid|Kasutajatestid]]&lt;br /&gt;
&lt;br /&gt;
== Videod == &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLMQzXA1f24AdPMsiYydc4rcAtHN-MiC6D&amp;amp;feature=view_all CSSi tutvustusvideod]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltöö ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö toimub viimase loengu ajal, loengu ruumides. Kontrolltöö sisuks on alltoodud materjalide lugemiskontroll ning HTML/javascripti tehniliste küsimuste lahendamine paberil.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lugemist &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A List Apart: [http://alistapart.com/article/indefenseofeyecandy In Defence of Eye Candy] - miks ilus liides on &amp;quot;parem&amp;quot;.&lt;br /&gt;
* Spolsky: [http://www.joelonsoftware.com/uibook/fog0000000249.html User Interface Design For Programmers] - kontrollitundest, kasutajamudelist ja päris inimestest&lt;br /&gt;
* Brandon Walkin: [http://www.brandonwalkin.com/blog/2009/08/10/managing-ui-complexity/ Managing UI complexity] - sellest kuidas asju kasutaja eest ära peita&lt;br /&gt;
* Ask Tog: [http://asktog.com/atc/principles-of-interaction-design/ First Principles of User Interaction Design] - tee liides valmis ja loe see uuesti läbi&lt;br /&gt;
* Nielsen: [http://www.nngroup.com/articles/ten-usability-heuristics/ 10 heuristilist kriteeriumit] - liidese testimiseks&lt;br /&gt;
* [http://ui-patterns.com/patterns UI-Patterns.com] - input, navigation, data&lt;br /&gt;
* [http://www.joelonsoftware.com/articles/Unicode.html Spolsky: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]&lt;br /&gt;
* [http://friedcellcollective.net/outbreak/2007/12/13/messing-up-the-interface/ kuidas vormid koledaks lähevad] ja [http://www.lukew.com/ff/entry.asp?1502 vormide disainist]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Tehniline &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.&lt;br /&gt;
* HTML DOM põhipunktid &lt;br /&gt;
* Cookied ja sessioonid (vt http://en.wikipedia.org/wiki/HTTP_cookie, http://www.quirksmode.org/js/cookies.html). Peab aru saama cookie põhimõtetest server-side ja aru saama javascripti näidetest cookiede kasutamise kohta. Programmeerimisülesannet selle kohta ei tule.&lt;br /&gt;
* Cgi protokoll (vt http://www.jmarshall.com/easy/cgi/). Peab aru saama, kuidas vormisisusid postitaktakse, mis vahe on GET ja POST protokollil.&lt;br /&gt;
&lt;br /&gt;
== Niisama huvitavat lugemist == &lt;br /&gt;
* [https://www.codeschool.com/courses/shaping-up-with-angular-js Shaping up with angular] - imeline angulari veebikoolitus (aga spämmib teid pärast rohkelt äraütlemisvõimalusega)&lt;br /&gt;
* [http://www.theverge.com/2013/1/24/3904134/google-redesign-how-larry-page-engineered-beautiful-revolution Redesigning Google: How Larry Page Engineered Beautiful Revolution] - kuidas Google ennast hiljuti ümber ehitas&lt;br /&gt;
* [http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown Amazoni alam-menüü nipp]&lt;br /&gt;
* [http://paulrouget.com/e/devtoolsnext/ Firefox developer tools] - lahedusi Mozillalt&lt;br /&gt;
* [http://www.trinidad.ee/public/materjalid/Kasutajakeskse_veebi_lehekylgede_disain.pdf RISO: Kasutajakeskse veebi lehekülgede disain (.pdf)]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx Windows User Experience Interaction guidelines] - Win7&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx UX Guidelines for Windows Store apps] - Win 8 &lt;br /&gt;
* [http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html iOS Human Interface Guidelines]&lt;br /&gt;
* [https://developer.android.com/design/index.html Android UI Design]&lt;br /&gt;
* [https://developer.gnome.org/hig-book/stable/ GNOME Human Interface Guidelines]&lt;br /&gt;
* [https://medium.com/product-design/5ccef7b3e1fc Kuidas iOS lapikumaks muutub aja jooksul]&lt;br /&gt;
* [http://www.behance.net/rogeroddone Google Visual Asset Guidelines] - Google&#039;i ikonograafia loomisest&lt;br /&gt;
* [http://www.theverge.com/2013/8/29/4640308/dark-patterns-inside-the-interfaces-designed-to-trick-you Dark Patterns] - salakavalatest kasutajaliidese mustritest.&lt;br /&gt;
* [https://medium.com/@zmh/bye-google-maps-ea3ea10f84dc CityMapper vs Google Maps] - UX võrdlus&lt;br /&gt;
* [http://www.allenpike.com/2014/schrodingers-shift-key/ iOS 8 ja shift]&lt;br /&gt;
* [https://xss-game.appspot.com/ Cross-Site Scripting] - tore mäng turvaprobleemidest kasutajaliidese ehitamisel&lt;br /&gt;
* [http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ Vihakõne PHP suunal] - väga must huumor&lt;br /&gt;
* [http://blog.martindoms.com/2011/01/24/poor-ui-design-can-kill/ Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest]&lt;br /&gt;
* [http://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name How Apple Is Giving Design A Bad Name] - kuidas Apple oma liideste disainiga veidi rappa on jõudnud&lt;br /&gt;
* [https://www.npmjs.com/package/jade Jade - miinimumsüntaksiga HTML]&lt;br /&gt;
* [http://sass-lang.com/guide Sass - miinimumsüntaksiga CSS]&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kasutajaliidesed]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13718</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13718"/>
		<updated>2017-06-04T17:42:24Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Tulemused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Disain vs ux.jpg|right]]Kursuse kood: &amp;lt;b&amp;gt;ITV0130&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://www.lambda.ee/index.php/Kasutajaliidesed or http://www.lambda.ee/index/itv0130&amp;lt;br&amp;gt;&lt;br /&gt;
Õppejõud: Jaagup Irve&amp;lt;br&amp;gt;&lt;br /&gt;
Kontakt: jaagup.irve@ttu.ee, TTÜ ruum ICT-425&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=13571 2016] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=12421 2015] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=11832 2014] [[Kasutajaliidesed (2013)|2013]] [[Kasutajaliidesed (2012)|2012]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Tulemused ==&lt;br /&gt;
&lt;br /&gt;
Olen harjunud kolmenädalase sessitsükli ja umbes kolmandiku jagu vähemate tudengitega, seega jäid te hinded hiljemaks, kui dekanaadile või lõpetajatele meeldiks. Seega teretulemast loodetavasti interaktiivselt jälgima, kuidas mul läheb. [http://store.steampowered.com/app/632470/No_Truce_With_The_Furies/ Seni vaadake meie mängu treilereid vms]&lt;br /&gt;
&lt;br /&gt;
* KT parandamine (100%)&lt;br /&gt;
* Prakside inventuur (98,99%)&lt;br /&gt;
* Avaldatud hinded (25% - valemid olemas)&lt;br /&gt;
** KT sissekandmine pooleli&lt;br /&gt;
* ÕIS (0%)&lt;br /&gt;
&lt;br /&gt;
== Korraldusest ==&lt;br /&gt;
&lt;br /&gt;
Loengutes selgitame kasutajaliideste arendamise põhimõtteid. Harjutustundide eesmärk on tutvustada laborite tegemiseks tarvilikke tehnilisi lahendusi. Praktikumis lahendame iga nädal mõnd konkreetset liidese ehitamisel ettetulevat probleemi (kui pole kodutööde esitamise nädal, sest siis tegeleme ainult sellega)&lt;br /&gt;
&lt;br /&gt;
Aasta 2017 puhul võib esineda mõningane kõrvalekalle etteantud projektist, sest õppejõul on üks kinnisidee tekkinud ja teie olete selle katsejänesed. Sellest esimeses loengus.&lt;br /&gt;
&lt;br /&gt;
*[https://bitbucket.org/XonX/android-demo Juri Kazjulja loengu repo]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltööst ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltööd on võimalik teha 17. ja 24. mail. Oluline on &#039;&#039;&#039;registreerida&#039;&#039;&#039; [https://ois.ttu.ee/ õppeinfosüsteemis].&lt;br /&gt;
&lt;br /&gt;
* 17. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U06A-229&#039;&#039;&#039;&lt;br /&gt;
* 24. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U02-102&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Varasemate aastate kontrolltöö hinde võib paluda otse üle kanda. Kontrolltööle võtke ruumi kaasa ainult paber-pliiats ja dokument. Kõhurääkijate ja mobiilinokkijate tööd võtan ära ja ei hinda. Tööd saab teha üks kord (topelt-käimisel teist tööd ei hinda).&lt;br /&gt;
&lt;br /&gt;
== Hindest ==&lt;br /&gt;
&lt;br /&gt;
Aine lõppeb hindelise arvestusega. Aine hinne koosneb kolmest komponendist:&lt;br /&gt;
* Liidese projektid: Meeskonnad ehitavad hindelised liidesed (60p)&lt;br /&gt;
** [[Projekt 1: Politsei e-avaldus]]&lt;br /&gt;
** [[Projekt 2: Preemia]]&lt;br /&gt;
** [[Projekt 3: Typonaut]]&lt;br /&gt;
* Kontrolltöö lugemismaterjalide ja loengumaterjalide peale (40p)&lt;br /&gt;
&lt;br /&gt;
Projektide grupid loosime ja vahetame gruppe iga projekti puhul.&lt;br /&gt;
&lt;br /&gt;
== Praktikumid ==&lt;br /&gt;
&lt;br /&gt;
* [[UI:Prototüüp|Prototüüpimine paberil]]&lt;br /&gt;
* [[UI:Bootstrap|Veebilehtede põhjad]]&lt;br /&gt;
* [[UI:Frustratsioon|Frustratsiooniliides]]&lt;br /&gt;
* [[UI:Nurgelised Kassid|Nurgelised kassid]]&lt;br /&gt;
* [[UI:SASS|Süntaktiliselt äge CSS]]&lt;br /&gt;
* [[UI:Nurgelised_Koerad|Nurgelised koerad]]&lt;br /&gt;
* [[UI:Animatsioonid]]&lt;br /&gt;
* [[UI:Django (Sissejuhatus)|Django Sissejuhatus]]&lt;br /&gt;
* [[UI:Django (Edasijuhatus)|Django Edasijuhatus]]&lt;br /&gt;
* [[UI:Kasutajatestid|Kasutajatestid]]&lt;br /&gt;
&lt;br /&gt;
== Videod == &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLMQzXA1f24AdPMsiYydc4rcAtHN-MiC6D&amp;amp;feature=view_all CSSi tutvustusvideod]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltöö ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö toimub viimase loengu ajal, loengu ruumides. Kontrolltöö sisuks on alltoodud materjalide lugemiskontroll ning HTML/javascripti tehniliste küsimuste lahendamine paberil.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lugemist &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A List Apart: [http://alistapart.com/article/indefenseofeyecandy In Defence of Eye Candy] - miks ilus liides on &amp;quot;parem&amp;quot;.&lt;br /&gt;
* Spolsky: [http://www.joelonsoftware.com/uibook/fog0000000249.html User Interface Design For Programmers] - kontrollitundest, kasutajamudelist ja päris inimestest&lt;br /&gt;
* Brandon Walkin: [http://www.brandonwalkin.com/blog/2009/08/10/managing-ui-complexity/ Managing UI complexity] - sellest kuidas asju kasutaja eest ära peita&lt;br /&gt;
* Ask Tog: [http://asktog.com/atc/principles-of-interaction-design/ First Principles of User Interaction Design] - tee liides valmis ja loe see uuesti läbi&lt;br /&gt;
* Nielsen: [http://www.nngroup.com/articles/ten-usability-heuristics/ 10 heuristilist kriteeriumit] - liidese testimiseks&lt;br /&gt;
* [http://ui-patterns.com/patterns UI-Patterns.com] - input, navigation, data&lt;br /&gt;
* [http://www.joelonsoftware.com/articles/Unicode.html Spolsky: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]&lt;br /&gt;
* [http://friedcellcollective.net/outbreak/2007/12/13/messing-up-the-interface/ kuidas vormid koledaks lähevad] ja [http://www.lukew.com/ff/entry.asp?1502 vormide disainist]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Tehniline &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.&lt;br /&gt;
* HTML DOM põhipunktid &lt;br /&gt;
* Cookied ja sessioonid (vt http://en.wikipedia.org/wiki/HTTP_cookie, http://www.quirksmode.org/js/cookies.html). Peab aru saama cookie põhimõtetest server-side ja aru saama javascripti näidetest cookiede kasutamise kohta. Programmeerimisülesannet selle kohta ei tule.&lt;br /&gt;
* Cgi protokoll (vt http://www.jmarshall.com/easy/cgi/). Peab aru saama, kuidas vormisisusid postitaktakse, mis vahe on GET ja POST protokollil.&lt;br /&gt;
&lt;br /&gt;
== Niisama huvitavat lugemist == &lt;br /&gt;
* [https://www.codeschool.com/courses/shaping-up-with-angular-js Shaping up with angular] - imeline angulari veebikoolitus (aga spämmib teid pärast rohkelt äraütlemisvõimalusega)&lt;br /&gt;
* [http://www.theverge.com/2013/1/24/3904134/google-redesign-how-larry-page-engineered-beautiful-revolution Redesigning Google: How Larry Page Engineered Beautiful Revolution] - kuidas Google ennast hiljuti ümber ehitas&lt;br /&gt;
* [http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown Amazoni alam-menüü nipp]&lt;br /&gt;
* [http://paulrouget.com/e/devtoolsnext/ Firefox developer tools] - lahedusi Mozillalt&lt;br /&gt;
* [http://www.trinidad.ee/public/materjalid/Kasutajakeskse_veebi_lehekylgede_disain.pdf RISO: Kasutajakeskse veebi lehekülgede disain (.pdf)]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx Windows User Experience Interaction guidelines] - Win7&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx UX Guidelines for Windows Store apps] - Win 8 &lt;br /&gt;
* [http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html iOS Human Interface Guidelines]&lt;br /&gt;
* [https://developer.android.com/design/index.html Android UI Design]&lt;br /&gt;
* [https://developer.gnome.org/hig-book/stable/ GNOME Human Interface Guidelines]&lt;br /&gt;
* [https://medium.com/product-design/5ccef7b3e1fc Kuidas iOS lapikumaks muutub aja jooksul]&lt;br /&gt;
* [http://www.behance.net/rogeroddone Google Visual Asset Guidelines] - Google&#039;i ikonograafia loomisest&lt;br /&gt;
* [http://www.theverge.com/2013/8/29/4640308/dark-patterns-inside-the-interfaces-designed-to-trick-you Dark Patterns] - salakavalatest kasutajaliidese mustritest.&lt;br /&gt;
* [https://medium.com/@zmh/bye-google-maps-ea3ea10f84dc CityMapper vs Google Maps] - UX võrdlus&lt;br /&gt;
* [http://www.allenpike.com/2014/schrodingers-shift-key/ iOS 8 ja shift]&lt;br /&gt;
* [https://xss-game.appspot.com/ Cross-Site Scripting] - tore mäng turvaprobleemidest kasutajaliidese ehitamisel&lt;br /&gt;
* [http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ Vihakõne PHP suunal] - väga must huumor&lt;br /&gt;
* [http://blog.martindoms.com/2011/01/24/poor-ui-design-can-kill/ Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest]&lt;br /&gt;
* [http://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name How Apple Is Giving Design A Bad Name] - kuidas Apple oma liideste disainiga veidi rappa on jõudnud&lt;br /&gt;
* [https://www.npmjs.com/package/jade Jade - miinimumsüntaksiga HTML]&lt;br /&gt;
* [http://sass-lang.com/guide Sass - miinimumsüntaksiga CSS]&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kasutajaliidesed]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13717</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13717"/>
		<updated>2017-06-04T17:29:44Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Tulemused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Disain vs ux.jpg|right]]Kursuse kood: &amp;lt;b&amp;gt;ITV0130&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://www.lambda.ee/index.php/Kasutajaliidesed or http://www.lambda.ee/index/itv0130&amp;lt;br&amp;gt;&lt;br /&gt;
Õppejõud: Jaagup Irve&amp;lt;br&amp;gt;&lt;br /&gt;
Kontakt: jaagup.irve@ttu.ee, TTÜ ruum ICT-425&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=13571 2016] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=12421 2015] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=11832 2014] [[Kasutajaliidesed (2013)|2013]] [[Kasutajaliidesed (2012)|2012]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Tulemused ==&lt;br /&gt;
&lt;br /&gt;
Olen harjunud kolmenädalase sessitsükli ja umbes kolmandiku jagu vähemate tudengitega, seega jäid te hinded hiljemaks, kui dekanaadile või lõpetajatele meeldiks. Seega teretulemast loodetavasti interaktiivselt jälgima, kuidas mul läheb. [http://store.steampowered.com/app/632470/No_Truce_With_The_Furies/ Seni vaadake meie mängu treilereid vms]&lt;br /&gt;
&lt;br /&gt;
* KT parandamine (100%)&lt;br /&gt;
* Prakside inventuur (98,99%)&lt;br /&gt;
* Avaldatud hinded (25% - valemid olemas; KT sissekandmine tegemata)&lt;br /&gt;
* ÕIS (0%)&lt;br /&gt;
&lt;br /&gt;
== Korraldusest ==&lt;br /&gt;
&lt;br /&gt;
Loengutes selgitame kasutajaliideste arendamise põhimõtteid. Harjutustundide eesmärk on tutvustada laborite tegemiseks tarvilikke tehnilisi lahendusi. Praktikumis lahendame iga nädal mõnd konkreetset liidese ehitamisel ettetulevat probleemi (kui pole kodutööde esitamise nädal, sest siis tegeleme ainult sellega)&lt;br /&gt;
&lt;br /&gt;
Aasta 2017 puhul võib esineda mõningane kõrvalekalle etteantud projektist, sest õppejõul on üks kinnisidee tekkinud ja teie olete selle katsejänesed. Sellest esimeses loengus.&lt;br /&gt;
&lt;br /&gt;
*[https://bitbucket.org/XonX/android-demo Juri Kazjulja loengu repo]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltööst ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltööd on võimalik teha 17. ja 24. mail. Oluline on &#039;&#039;&#039;registreerida&#039;&#039;&#039; [https://ois.ttu.ee/ õppeinfosüsteemis].&lt;br /&gt;
&lt;br /&gt;
* 17. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U06A-229&#039;&#039;&#039;&lt;br /&gt;
* 24. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U02-102&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Varasemate aastate kontrolltöö hinde võib paluda otse üle kanda. Kontrolltööle võtke ruumi kaasa ainult paber-pliiats ja dokument. Kõhurääkijate ja mobiilinokkijate tööd võtan ära ja ei hinda. Tööd saab teha üks kord (topelt-käimisel teist tööd ei hinda).&lt;br /&gt;
&lt;br /&gt;
== Hindest ==&lt;br /&gt;
&lt;br /&gt;
Aine lõppeb hindelise arvestusega. Aine hinne koosneb kolmest komponendist:&lt;br /&gt;
* Liidese projektid: Meeskonnad ehitavad hindelised liidesed (60p)&lt;br /&gt;
** [[Projekt 1: Politsei e-avaldus]]&lt;br /&gt;
** [[Projekt 2: Preemia]]&lt;br /&gt;
** [[Projekt 3: Typonaut]]&lt;br /&gt;
* Kontrolltöö lugemismaterjalide ja loengumaterjalide peale (40p)&lt;br /&gt;
&lt;br /&gt;
Projektide grupid loosime ja vahetame gruppe iga projekti puhul.&lt;br /&gt;
&lt;br /&gt;
== Praktikumid ==&lt;br /&gt;
&lt;br /&gt;
* [[UI:Prototüüp|Prototüüpimine paberil]]&lt;br /&gt;
* [[UI:Bootstrap|Veebilehtede põhjad]]&lt;br /&gt;
* [[UI:Frustratsioon|Frustratsiooniliides]]&lt;br /&gt;
* [[UI:Nurgelised Kassid|Nurgelised kassid]]&lt;br /&gt;
* [[UI:SASS|Süntaktiliselt äge CSS]]&lt;br /&gt;
* [[UI:Nurgelised_Koerad|Nurgelised koerad]]&lt;br /&gt;
* [[UI:Animatsioonid]]&lt;br /&gt;
* [[UI:Django (Sissejuhatus)|Django Sissejuhatus]]&lt;br /&gt;
* [[UI:Django (Edasijuhatus)|Django Edasijuhatus]]&lt;br /&gt;
* [[UI:Kasutajatestid|Kasutajatestid]]&lt;br /&gt;
&lt;br /&gt;
== Videod == &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLMQzXA1f24AdPMsiYydc4rcAtHN-MiC6D&amp;amp;feature=view_all CSSi tutvustusvideod]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltöö ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö toimub viimase loengu ajal, loengu ruumides. Kontrolltöö sisuks on alltoodud materjalide lugemiskontroll ning HTML/javascripti tehniliste küsimuste lahendamine paberil.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lugemist &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A List Apart: [http://alistapart.com/article/indefenseofeyecandy In Defence of Eye Candy] - miks ilus liides on &amp;quot;parem&amp;quot;.&lt;br /&gt;
* Spolsky: [http://www.joelonsoftware.com/uibook/fog0000000249.html User Interface Design For Programmers] - kontrollitundest, kasutajamudelist ja päris inimestest&lt;br /&gt;
* Brandon Walkin: [http://www.brandonwalkin.com/blog/2009/08/10/managing-ui-complexity/ Managing UI complexity] - sellest kuidas asju kasutaja eest ära peita&lt;br /&gt;
* Ask Tog: [http://asktog.com/atc/principles-of-interaction-design/ First Principles of User Interaction Design] - tee liides valmis ja loe see uuesti läbi&lt;br /&gt;
* Nielsen: [http://www.nngroup.com/articles/ten-usability-heuristics/ 10 heuristilist kriteeriumit] - liidese testimiseks&lt;br /&gt;
* [http://ui-patterns.com/patterns UI-Patterns.com] - input, navigation, data&lt;br /&gt;
* [http://www.joelonsoftware.com/articles/Unicode.html Spolsky: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]&lt;br /&gt;
* [http://friedcellcollective.net/outbreak/2007/12/13/messing-up-the-interface/ kuidas vormid koledaks lähevad] ja [http://www.lukew.com/ff/entry.asp?1502 vormide disainist]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Tehniline &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.&lt;br /&gt;
* HTML DOM põhipunktid &lt;br /&gt;
* Cookied ja sessioonid (vt http://en.wikipedia.org/wiki/HTTP_cookie, http://www.quirksmode.org/js/cookies.html). Peab aru saama cookie põhimõtetest server-side ja aru saama javascripti näidetest cookiede kasutamise kohta. Programmeerimisülesannet selle kohta ei tule.&lt;br /&gt;
* Cgi protokoll (vt http://www.jmarshall.com/easy/cgi/). Peab aru saama, kuidas vormisisusid postitaktakse, mis vahe on GET ja POST protokollil.&lt;br /&gt;
&lt;br /&gt;
== Niisama huvitavat lugemist == &lt;br /&gt;
* [https://www.codeschool.com/courses/shaping-up-with-angular-js Shaping up with angular] - imeline angulari veebikoolitus (aga spämmib teid pärast rohkelt äraütlemisvõimalusega)&lt;br /&gt;
* [http://www.theverge.com/2013/1/24/3904134/google-redesign-how-larry-page-engineered-beautiful-revolution Redesigning Google: How Larry Page Engineered Beautiful Revolution] - kuidas Google ennast hiljuti ümber ehitas&lt;br /&gt;
* [http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown Amazoni alam-menüü nipp]&lt;br /&gt;
* [http://paulrouget.com/e/devtoolsnext/ Firefox developer tools] - lahedusi Mozillalt&lt;br /&gt;
* [http://www.trinidad.ee/public/materjalid/Kasutajakeskse_veebi_lehekylgede_disain.pdf RISO: Kasutajakeskse veebi lehekülgede disain (.pdf)]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx Windows User Experience Interaction guidelines] - Win7&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx UX Guidelines for Windows Store apps] - Win 8 &lt;br /&gt;
* [http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html iOS Human Interface Guidelines]&lt;br /&gt;
* [https://developer.android.com/design/index.html Android UI Design]&lt;br /&gt;
* [https://developer.gnome.org/hig-book/stable/ GNOME Human Interface Guidelines]&lt;br /&gt;
* [https://medium.com/product-design/5ccef7b3e1fc Kuidas iOS lapikumaks muutub aja jooksul]&lt;br /&gt;
* [http://www.behance.net/rogeroddone Google Visual Asset Guidelines] - Google&#039;i ikonograafia loomisest&lt;br /&gt;
* [http://www.theverge.com/2013/8/29/4640308/dark-patterns-inside-the-interfaces-designed-to-trick-you Dark Patterns] - salakavalatest kasutajaliidese mustritest.&lt;br /&gt;
* [https://medium.com/@zmh/bye-google-maps-ea3ea10f84dc CityMapper vs Google Maps] - UX võrdlus&lt;br /&gt;
* [http://www.allenpike.com/2014/schrodingers-shift-key/ iOS 8 ja shift]&lt;br /&gt;
* [https://xss-game.appspot.com/ Cross-Site Scripting] - tore mäng turvaprobleemidest kasutajaliidese ehitamisel&lt;br /&gt;
* [http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ Vihakõne PHP suunal] - väga must huumor&lt;br /&gt;
* [http://blog.martindoms.com/2011/01/24/poor-ui-design-can-kill/ Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest]&lt;br /&gt;
* [http://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name How Apple Is Giving Design A Bad Name] - kuidas Apple oma liideste disainiga veidi rappa on jõudnud&lt;br /&gt;
* [https://www.npmjs.com/package/jade Jade - miinimumsüntaksiga HTML]&lt;br /&gt;
* [http://sass-lang.com/guide Sass - miinimumsüntaksiga CSS]&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kasutajaliidesed]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13716</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13716"/>
		<updated>2017-06-04T17:15:30Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Tulemused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Disain vs ux.jpg|right]]Kursuse kood: &amp;lt;b&amp;gt;ITV0130&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://www.lambda.ee/index.php/Kasutajaliidesed or http://www.lambda.ee/index/itv0130&amp;lt;br&amp;gt;&lt;br /&gt;
Õppejõud: Jaagup Irve&amp;lt;br&amp;gt;&lt;br /&gt;
Kontakt: jaagup.irve@ttu.ee, TTÜ ruum ICT-425&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=13571 2016] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=12421 2015] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=11832 2014] [[Kasutajaliidesed (2013)|2013]] [[Kasutajaliidesed (2012)|2012]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Tulemused ==&lt;br /&gt;
&lt;br /&gt;
Olen harjunud kolmenädalase sessitsükli ja umbes kolmandiku jagu vähemate tudengitega, seega jäid te hinded hiljemaks, kui dekanaadile või lõpetajatele meeldiks. Seega teretulemast loodetavasti interaktiivselt jälgima, kuidas mul läheb. [http://store.steampowered.com/app/632470/No_Truce_With_The_Furies/ Seni vaadake meie mängu treilereid vms]&lt;br /&gt;
&lt;br /&gt;
* KT parandamine (100%)&lt;br /&gt;
* Prakside inventuur (98,99%)&lt;br /&gt;
* Avaldatud hinded (0% - üks hetk)&lt;br /&gt;
* ÕIS (0%)&lt;br /&gt;
&lt;br /&gt;
== Korraldusest ==&lt;br /&gt;
&lt;br /&gt;
Loengutes selgitame kasutajaliideste arendamise põhimõtteid. Harjutustundide eesmärk on tutvustada laborite tegemiseks tarvilikke tehnilisi lahendusi. Praktikumis lahendame iga nädal mõnd konkreetset liidese ehitamisel ettetulevat probleemi (kui pole kodutööde esitamise nädal, sest siis tegeleme ainult sellega)&lt;br /&gt;
&lt;br /&gt;
Aasta 2017 puhul võib esineda mõningane kõrvalekalle etteantud projektist, sest õppejõul on üks kinnisidee tekkinud ja teie olete selle katsejänesed. Sellest esimeses loengus.&lt;br /&gt;
&lt;br /&gt;
*[https://bitbucket.org/XonX/android-demo Juri Kazjulja loengu repo]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltööst ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltööd on võimalik teha 17. ja 24. mail. Oluline on &#039;&#039;&#039;registreerida&#039;&#039;&#039; [https://ois.ttu.ee/ õppeinfosüsteemis].&lt;br /&gt;
&lt;br /&gt;
* 17. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U06A-229&#039;&#039;&#039;&lt;br /&gt;
* 24. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U02-102&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Varasemate aastate kontrolltöö hinde võib paluda otse üle kanda. Kontrolltööle võtke ruumi kaasa ainult paber-pliiats ja dokument. Kõhurääkijate ja mobiilinokkijate tööd võtan ära ja ei hinda. Tööd saab teha üks kord (topelt-käimisel teist tööd ei hinda).&lt;br /&gt;
&lt;br /&gt;
== Hindest ==&lt;br /&gt;
&lt;br /&gt;
Aine lõppeb hindelise arvestusega. Aine hinne koosneb kolmest komponendist:&lt;br /&gt;
* Liidese projektid: Meeskonnad ehitavad hindelised liidesed (60p)&lt;br /&gt;
** [[Projekt 1: Politsei e-avaldus]]&lt;br /&gt;
** [[Projekt 2: Preemia]]&lt;br /&gt;
** [[Projekt 3: Typonaut]]&lt;br /&gt;
* Kontrolltöö lugemismaterjalide ja loengumaterjalide peale (40p)&lt;br /&gt;
&lt;br /&gt;
Projektide grupid loosime ja vahetame gruppe iga projekti puhul.&lt;br /&gt;
&lt;br /&gt;
== Praktikumid ==&lt;br /&gt;
&lt;br /&gt;
* [[UI:Prototüüp|Prototüüpimine paberil]]&lt;br /&gt;
* [[UI:Bootstrap|Veebilehtede põhjad]]&lt;br /&gt;
* [[UI:Frustratsioon|Frustratsiooniliides]]&lt;br /&gt;
* [[UI:Nurgelised Kassid|Nurgelised kassid]]&lt;br /&gt;
* [[UI:SASS|Süntaktiliselt äge CSS]]&lt;br /&gt;
* [[UI:Nurgelised_Koerad|Nurgelised koerad]]&lt;br /&gt;
* [[UI:Animatsioonid]]&lt;br /&gt;
* [[UI:Django (Sissejuhatus)|Django Sissejuhatus]]&lt;br /&gt;
* [[UI:Django (Edasijuhatus)|Django Edasijuhatus]]&lt;br /&gt;
* [[UI:Kasutajatestid|Kasutajatestid]]&lt;br /&gt;
&lt;br /&gt;
== Videod == &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLMQzXA1f24AdPMsiYydc4rcAtHN-MiC6D&amp;amp;feature=view_all CSSi tutvustusvideod]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltöö ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö toimub viimase loengu ajal, loengu ruumides. Kontrolltöö sisuks on alltoodud materjalide lugemiskontroll ning HTML/javascripti tehniliste küsimuste lahendamine paberil.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lugemist &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A List Apart: [http://alistapart.com/article/indefenseofeyecandy In Defence of Eye Candy] - miks ilus liides on &amp;quot;parem&amp;quot;.&lt;br /&gt;
* Spolsky: [http://www.joelonsoftware.com/uibook/fog0000000249.html User Interface Design For Programmers] - kontrollitundest, kasutajamudelist ja päris inimestest&lt;br /&gt;
* Brandon Walkin: [http://www.brandonwalkin.com/blog/2009/08/10/managing-ui-complexity/ Managing UI complexity] - sellest kuidas asju kasutaja eest ära peita&lt;br /&gt;
* Ask Tog: [http://asktog.com/atc/principles-of-interaction-design/ First Principles of User Interaction Design] - tee liides valmis ja loe see uuesti läbi&lt;br /&gt;
* Nielsen: [http://www.nngroup.com/articles/ten-usability-heuristics/ 10 heuristilist kriteeriumit] - liidese testimiseks&lt;br /&gt;
* [http://ui-patterns.com/patterns UI-Patterns.com] - input, navigation, data&lt;br /&gt;
* [http://www.joelonsoftware.com/articles/Unicode.html Spolsky: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]&lt;br /&gt;
* [http://friedcellcollective.net/outbreak/2007/12/13/messing-up-the-interface/ kuidas vormid koledaks lähevad] ja [http://www.lukew.com/ff/entry.asp?1502 vormide disainist]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Tehniline &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.&lt;br /&gt;
* HTML DOM põhipunktid &lt;br /&gt;
* Cookied ja sessioonid (vt http://en.wikipedia.org/wiki/HTTP_cookie, http://www.quirksmode.org/js/cookies.html). Peab aru saama cookie põhimõtetest server-side ja aru saama javascripti näidetest cookiede kasutamise kohta. Programmeerimisülesannet selle kohta ei tule.&lt;br /&gt;
* Cgi protokoll (vt http://www.jmarshall.com/easy/cgi/). Peab aru saama, kuidas vormisisusid postitaktakse, mis vahe on GET ja POST protokollil.&lt;br /&gt;
&lt;br /&gt;
== Niisama huvitavat lugemist == &lt;br /&gt;
* [https://www.codeschool.com/courses/shaping-up-with-angular-js Shaping up with angular] - imeline angulari veebikoolitus (aga spämmib teid pärast rohkelt äraütlemisvõimalusega)&lt;br /&gt;
* [http://www.theverge.com/2013/1/24/3904134/google-redesign-how-larry-page-engineered-beautiful-revolution Redesigning Google: How Larry Page Engineered Beautiful Revolution] - kuidas Google ennast hiljuti ümber ehitas&lt;br /&gt;
* [http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown Amazoni alam-menüü nipp]&lt;br /&gt;
* [http://paulrouget.com/e/devtoolsnext/ Firefox developer tools] - lahedusi Mozillalt&lt;br /&gt;
* [http://www.trinidad.ee/public/materjalid/Kasutajakeskse_veebi_lehekylgede_disain.pdf RISO: Kasutajakeskse veebi lehekülgede disain (.pdf)]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx Windows User Experience Interaction guidelines] - Win7&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx UX Guidelines for Windows Store apps] - Win 8 &lt;br /&gt;
* [http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html iOS Human Interface Guidelines]&lt;br /&gt;
* [https://developer.android.com/design/index.html Android UI Design]&lt;br /&gt;
* [https://developer.gnome.org/hig-book/stable/ GNOME Human Interface Guidelines]&lt;br /&gt;
* [https://medium.com/product-design/5ccef7b3e1fc Kuidas iOS lapikumaks muutub aja jooksul]&lt;br /&gt;
* [http://www.behance.net/rogeroddone Google Visual Asset Guidelines] - Google&#039;i ikonograafia loomisest&lt;br /&gt;
* [http://www.theverge.com/2013/8/29/4640308/dark-patterns-inside-the-interfaces-designed-to-trick-you Dark Patterns] - salakavalatest kasutajaliidese mustritest.&lt;br /&gt;
* [https://medium.com/@zmh/bye-google-maps-ea3ea10f84dc CityMapper vs Google Maps] - UX võrdlus&lt;br /&gt;
* [http://www.allenpike.com/2014/schrodingers-shift-key/ iOS 8 ja shift]&lt;br /&gt;
* [https://xss-game.appspot.com/ Cross-Site Scripting] - tore mäng turvaprobleemidest kasutajaliidese ehitamisel&lt;br /&gt;
* [http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ Vihakõne PHP suunal] - väga must huumor&lt;br /&gt;
* [http://blog.martindoms.com/2011/01/24/poor-ui-design-can-kill/ Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest]&lt;br /&gt;
* [http://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name How Apple Is Giving Design A Bad Name] - kuidas Apple oma liideste disainiga veidi rappa on jõudnud&lt;br /&gt;
* [https://www.npmjs.com/package/jade Jade - miinimumsüntaksiga HTML]&lt;br /&gt;
* [http://sass-lang.com/guide Sass - miinimumsüntaksiga CSS]&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kasutajaliidesed]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13715</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13715"/>
		<updated>2017-06-04T13:21:45Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Tulemused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Disain vs ux.jpg|right]]Kursuse kood: &amp;lt;b&amp;gt;ITV0130&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://www.lambda.ee/index.php/Kasutajaliidesed or http://www.lambda.ee/index/itv0130&amp;lt;br&amp;gt;&lt;br /&gt;
Õppejõud: Jaagup Irve&amp;lt;br&amp;gt;&lt;br /&gt;
Kontakt: jaagup.irve@ttu.ee, TTÜ ruum ICT-425&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=13571 2016] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=12421 2015] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=11832 2014] [[Kasutajaliidesed (2013)|2013]] [[Kasutajaliidesed (2012)|2012]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Tulemused ==&lt;br /&gt;
&lt;br /&gt;
Olen harjunud kolmenädalase sessitsükli ja umbes kolmandiku jagu vähemate tudengitega, seega jäid te hinded hiljemaks, kui dekanaadile või lõpetajatele meeldiks. Seega teretulemast loodetavasti interaktiivselt jälgima, kuidas mul läheb. [http://store.steampowered.com/app/632470/No_Truce_With_The_Furies/ Seni vaadake meie mängu treilereid vms]&lt;br /&gt;
&lt;br /&gt;
* KT parandamine (100%)&lt;br /&gt;
* Prakside inventuur (??% :-) )&lt;br /&gt;
* Avaldatud hinded (0%)&lt;br /&gt;
* ÕIS (0%)&lt;br /&gt;
&lt;br /&gt;
== Korraldusest ==&lt;br /&gt;
&lt;br /&gt;
Loengutes selgitame kasutajaliideste arendamise põhimõtteid. Harjutustundide eesmärk on tutvustada laborite tegemiseks tarvilikke tehnilisi lahendusi. Praktikumis lahendame iga nädal mõnd konkreetset liidese ehitamisel ettetulevat probleemi (kui pole kodutööde esitamise nädal, sest siis tegeleme ainult sellega)&lt;br /&gt;
&lt;br /&gt;
Aasta 2017 puhul võib esineda mõningane kõrvalekalle etteantud projektist, sest õppejõul on üks kinnisidee tekkinud ja teie olete selle katsejänesed. Sellest esimeses loengus.&lt;br /&gt;
&lt;br /&gt;
*[https://bitbucket.org/XonX/android-demo Juri Kazjulja loengu repo]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltööst ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltööd on võimalik teha 17. ja 24. mail. Oluline on &#039;&#039;&#039;registreerida&#039;&#039;&#039; [https://ois.ttu.ee/ õppeinfosüsteemis].&lt;br /&gt;
&lt;br /&gt;
* 17. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U06A-229&#039;&#039;&#039;&lt;br /&gt;
* 24. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U02-102&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Varasemate aastate kontrolltöö hinde võib paluda otse üle kanda. Kontrolltööle võtke ruumi kaasa ainult paber-pliiats ja dokument. Kõhurääkijate ja mobiilinokkijate tööd võtan ära ja ei hinda. Tööd saab teha üks kord (topelt-käimisel teist tööd ei hinda).&lt;br /&gt;
&lt;br /&gt;
== Hindest ==&lt;br /&gt;
&lt;br /&gt;
Aine lõppeb hindelise arvestusega. Aine hinne koosneb kolmest komponendist:&lt;br /&gt;
* Liidese projektid: Meeskonnad ehitavad hindelised liidesed (60p)&lt;br /&gt;
** [[Projekt 1: Politsei e-avaldus]]&lt;br /&gt;
** [[Projekt 2: Preemia]]&lt;br /&gt;
** [[Projekt 3: Typonaut]]&lt;br /&gt;
* Kontrolltöö lugemismaterjalide ja loengumaterjalide peale (40p)&lt;br /&gt;
&lt;br /&gt;
Projektide grupid loosime ja vahetame gruppe iga projekti puhul.&lt;br /&gt;
&lt;br /&gt;
== Praktikumid ==&lt;br /&gt;
&lt;br /&gt;
* [[UI:Prototüüp|Prototüüpimine paberil]]&lt;br /&gt;
* [[UI:Bootstrap|Veebilehtede põhjad]]&lt;br /&gt;
* [[UI:Frustratsioon|Frustratsiooniliides]]&lt;br /&gt;
* [[UI:Nurgelised Kassid|Nurgelised kassid]]&lt;br /&gt;
* [[UI:SASS|Süntaktiliselt äge CSS]]&lt;br /&gt;
* [[UI:Nurgelised_Koerad|Nurgelised koerad]]&lt;br /&gt;
* [[UI:Animatsioonid]]&lt;br /&gt;
* [[UI:Django (Sissejuhatus)|Django Sissejuhatus]]&lt;br /&gt;
* [[UI:Django (Edasijuhatus)|Django Edasijuhatus]]&lt;br /&gt;
* [[UI:Kasutajatestid|Kasutajatestid]]&lt;br /&gt;
&lt;br /&gt;
== Videod == &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLMQzXA1f24AdPMsiYydc4rcAtHN-MiC6D&amp;amp;feature=view_all CSSi tutvustusvideod]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltöö ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö toimub viimase loengu ajal, loengu ruumides. Kontrolltöö sisuks on alltoodud materjalide lugemiskontroll ning HTML/javascripti tehniliste küsimuste lahendamine paberil.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lugemist &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A List Apart: [http://alistapart.com/article/indefenseofeyecandy In Defence of Eye Candy] - miks ilus liides on &amp;quot;parem&amp;quot;.&lt;br /&gt;
* Spolsky: [http://www.joelonsoftware.com/uibook/fog0000000249.html User Interface Design For Programmers] - kontrollitundest, kasutajamudelist ja päris inimestest&lt;br /&gt;
* Brandon Walkin: [http://www.brandonwalkin.com/blog/2009/08/10/managing-ui-complexity/ Managing UI complexity] - sellest kuidas asju kasutaja eest ära peita&lt;br /&gt;
* Ask Tog: [http://asktog.com/atc/principles-of-interaction-design/ First Principles of User Interaction Design] - tee liides valmis ja loe see uuesti läbi&lt;br /&gt;
* Nielsen: [http://www.nngroup.com/articles/ten-usability-heuristics/ 10 heuristilist kriteeriumit] - liidese testimiseks&lt;br /&gt;
* [http://ui-patterns.com/patterns UI-Patterns.com] - input, navigation, data&lt;br /&gt;
* [http://www.joelonsoftware.com/articles/Unicode.html Spolsky: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]&lt;br /&gt;
* [http://friedcellcollective.net/outbreak/2007/12/13/messing-up-the-interface/ kuidas vormid koledaks lähevad] ja [http://www.lukew.com/ff/entry.asp?1502 vormide disainist]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Tehniline &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.&lt;br /&gt;
* HTML DOM põhipunktid &lt;br /&gt;
* Cookied ja sessioonid (vt http://en.wikipedia.org/wiki/HTTP_cookie, http://www.quirksmode.org/js/cookies.html). Peab aru saama cookie põhimõtetest server-side ja aru saama javascripti näidetest cookiede kasutamise kohta. Programmeerimisülesannet selle kohta ei tule.&lt;br /&gt;
* Cgi protokoll (vt http://www.jmarshall.com/easy/cgi/). Peab aru saama, kuidas vormisisusid postitaktakse, mis vahe on GET ja POST protokollil.&lt;br /&gt;
&lt;br /&gt;
== Niisama huvitavat lugemist == &lt;br /&gt;
* [https://www.codeschool.com/courses/shaping-up-with-angular-js Shaping up with angular] - imeline angulari veebikoolitus (aga spämmib teid pärast rohkelt äraütlemisvõimalusega)&lt;br /&gt;
* [http://www.theverge.com/2013/1/24/3904134/google-redesign-how-larry-page-engineered-beautiful-revolution Redesigning Google: How Larry Page Engineered Beautiful Revolution] - kuidas Google ennast hiljuti ümber ehitas&lt;br /&gt;
* [http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown Amazoni alam-menüü nipp]&lt;br /&gt;
* [http://paulrouget.com/e/devtoolsnext/ Firefox developer tools] - lahedusi Mozillalt&lt;br /&gt;
* [http://www.trinidad.ee/public/materjalid/Kasutajakeskse_veebi_lehekylgede_disain.pdf RISO: Kasutajakeskse veebi lehekülgede disain (.pdf)]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx Windows User Experience Interaction guidelines] - Win7&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx UX Guidelines for Windows Store apps] - Win 8 &lt;br /&gt;
* [http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html iOS Human Interface Guidelines]&lt;br /&gt;
* [https://developer.android.com/design/index.html Android UI Design]&lt;br /&gt;
* [https://developer.gnome.org/hig-book/stable/ GNOME Human Interface Guidelines]&lt;br /&gt;
* [https://medium.com/product-design/5ccef7b3e1fc Kuidas iOS lapikumaks muutub aja jooksul]&lt;br /&gt;
* [http://www.behance.net/rogeroddone Google Visual Asset Guidelines] - Google&#039;i ikonograafia loomisest&lt;br /&gt;
* [http://www.theverge.com/2013/8/29/4640308/dark-patterns-inside-the-interfaces-designed-to-trick-you Dark Patterns] - salakavalatest kasutajaliidese mustritest.&lt;br /&gt;
* [https://medium.com/@zmh/bye-google-maps-ea3ea10f84dc CityMapper vs Google Maps] - UX võrdlus&lt;br /&gt;
* [http://www.allenpike.com/2014/schrodingers-shift-key/ iOS 8 ja shift]&lt;br /&gt;
* [https://xss-game.appspot.com/ Cross-Site Scripting] - tore mäng turvaprobleemidest kasutajaliidese ehitamisel&lt;br /&gt;
* [http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ Vihakõne PHP suunal] - väga must huumor&lt;br /&gt;
* [http://blog.martindoms.com/2011/01/24/poor-ui-design-can-kill/ Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest]&lt;br /&gt;
* [http://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name How Apple Is Giving Design A Bad Name] - kuidas Apple oma liideste disainiga veidi rappa on jõudnud&lt;br /&gt;
* [https://www.npmjs.com/package/jade Jade - miinimumsüntaksiga HTML]&lt;br /&gt;
* [http://sass-lang.com/guide Sass - miinimumsüntaksiga CSS]&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kasutajaliidesed]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13714</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13714"/>
		<updated>2017-06-04T13:12:35Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Tulemused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Disain vs ux.jpg|right]]Kursuse kood: &amp;lt;b&amp;gt;ITV0130&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://www.lambda.ee/index.php/Kasutajaliidesed or http://www.lambda.ee/index/itv0130&amp;lt;br&amp;gt;&lt;br /&gt;
Õppejõud: Jaagup Irve&amp;lt;br&amp;gt;&lt;br /&gt;
Kontakt: jaagup.irve@ttu.ee, TTÜ ruum ICT-425&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=13571 2016] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=12421 2015] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=11832 2014] [[Kasutajaliidesed (2013)|2013]] [[Kasutajaliidesed (2012)|2012]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Tulemused ==&lt;br /&gt;
&lt;br /&gt;
Olen harjunud kolmenädalase sessitsükli ja umbes kolmandiku jagu vähemate tudengitega, seega jäid te hinded hiljemaks, kui dekanaadile või lõpetajatele meeldiks. Seega teretulemast loodetavasti interaktiivselt jälgima, kuidas mul läheb. [http://store.steampowered.com/app/632470/No_Truce_With_The_Furies/ Seni vaadake meie mängu treilereid vms]&lt;br /&gt;
&lt;br /&gt;
* KT parandamine (94% - hindamine, tallinnas tagasi)&lt;br /&gt;
* Prakside inventuur (0%)&lt;br /&gt;
* Avaldatud hinded (0%)&lt;br /&gt;
* ÕIS (0%)&lt;br /&gt;
&lt;br /&gt;
== Korraldusest ==&lt;br /&gt;
&lt;br /&gt;
Loengutes selgitame kasutajaliideste arendamise põhimõtteid. Harjutustundide eesmärk on tutvustada laborite tegemiseks tarvilikke tehnilisi lahendusi. Praktikumis lahendame iga nädal mõnd konkreetset liidese ehitamisel ettetulevat probleemi (kui pole kodutööde esitamise nädal, sest siis tegeleme ainult sellega)&lt;br /&gt;
&lt;br /&gt;
Aasta 2017 puhul võib esineda mõningane kõrvalekalle etteantud projektist, sest õppejõul on üks kinnisidee tekkinud ja teie olete selle katsejänesed. Sellest esimeses loengus.&lt;br /&gt;
&lt;br /&gt;
*[https://bitbucket.org/XonX/android-demo Juri Kazjulja loengu repo]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltööst ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltööd on võimalik teha 17. ja 24. mail. Oluline on &#039;&#039;&#039;registreerida&#039;&#039;&#039; [https://ois.ttu.ee/ õppeinfosüsteemis].&lt;br /&gt;
&lt;br /&gt;
* 17. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U06A-229&#039;&#039;&#039;&lt;br /&gt;
* 24. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U02-102&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Varasemate aastate kontrolltöö hinde võib paluda otse üle kanda. Kontrolltööle võtke ruumi kaasa ainult paber-pliiats ja dokument. Kõhurääkijate ja mobiilinokkijate tööd võtan ära ja ei hinda. Tööd saab teha üks kord (topelt-käimisel teist tööd ei hinda).&lt;br /&gt;
&lt;br /&gt;
== Hindest ==&lt;br /&gt;
&lt;br /&gt;
Aine lõppeb hindelise arvestusega. Aine hinne koosneb kolmest komponendist:&lt;br /&gt;
* Liidese projektid: Meeskonnad ehitavad hindelised liidesed (60p)&lt;br /&gt;
** [[Projekt 1: Politsei e-avaldus]]&lt;br /&gt;
** [[Projekt 2: Preemia]]&lt;br /&gt;
** [[Projekt 3: Typonaut]]&lt;br /&gt;
* Kontrolltöö lugemismaterjalide ja loengumaterjalide peale (40p)&lt;br /&gt;
&lt;br /&gt;
Projektide grupid loosime ja vahetame gruppe iga projekti puhul.&lt;br /&gt;
&lt;br /&gt;
== Praktikumid ==&lt;br /&gt;
&lt;br /&gt;
* [[UI:Prototüüp|Prototüüpimine paberil]]&lt;br /&gt;
* [[UI:Bootstrap|Veebilehtede põhjad]]&lt;br /&gt;
* [[UI:Frustratsioon|Frustratsiooniliides]]&lt;br /&gt;
* [[UI:Nurgelised Kassid|Nurgelised kassid]]&lt;br /&gt;
* [[UI:SASS|Süntaktiliselt äge CSS]]&lt;br /&gt;
* [[UI:Nurgelised_Koerad|Nurgelised koerad]]&lt;br /&gt;
* [[UI:Animatsioonid]]&lt;br /&gt;
* [[UI:Django (Sissejuhatus)|Django Sissejuhatus]]&lt;br /&gt;
* [[UI:Django (Edasijuhatus)|Django Edasijuhatus]]&lt;br /&gt;
* [[UI:Kasutajatestid|Kasutajatestid]]&lt;br /&gt;
&lt;br /&gt;
== Videod == &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLMQzXA1f24AdPMsiYydc4rcAtHN-MiC6D&amp;amp;feature=view_all CSSi tutvustusvideod]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltöö ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö toimub viimase loengu ajal, loengu ruumides. Kontrolltöö sisuks on alltoodud materjalide lugemiskontroll ning HTML/javascripti tehniliste küsimuste lahendamine paberil.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lugemist &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A List Apart: [http://alistapart.com/article/indefenseofeyecandy In Defence of Eye Candy] - miks ilus liides on &amp;quot;parem&amp;quot;.&lt;br /&gt;
* Spolsky: [http://www.joelonsoftware.com/uibook/fog0000000249.html User Interface Design For Programmers] - kontrollitundest, kasutajamudelist ja päris inimestest&lt;br /&gt;
* Brandon Walkin: [http://www.brandonwalkin.com/blog/2009/08/10/managing-ui-complexity/ Managing UI complexity] - sellest kuidas asju kasutaja eest ära peita&lt;br /&gt;
* Ask Tog: [http://asktog.com/atc/principles-of-interaction-design/ First Principles of User Interaction Design] - tee liides valmis ja loe see uuesti läbi&lt;br /&gt;
* Nielsen: [http://www.nngroup.com/articles/ten-usability-heuristics/ 10 heuristilist kriteeriumit] - liidese testimiseks&lt;br /&gt;
* [http://ui-patterns.com/patterns UI-Patterns.com] - input, navigation, data&lt;br /&gt;
* [http://www.joelonsoftware.com/articles/Unicode.html Spolsky: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]&lt;br /&gt;
* [http://friedcellcollective.net/outbreak/2007/12/13/messing-up-the-interface/ kuidas vormid koledaks lähevad] ja [http://www.lukew.com/ff/entry.asp?1502 vormide disainist]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Tehniline &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.&lt;br /&gt;
* HTML DOM põhipunktid &lt;br /&gt;
* Cookied ja sessioonid (vt http://en.wikipedia.org/wiki/HTTP_cookie, http://www.quirksmode.org/js/cookies.html). Peab aru saama cookie põhimõtetest server-side ja aru saama javascripti näidetest cookiede kasutamise kohta. Programmeerimisülesannet selle kohta ei tule.&lt;br /&gt;
* Cgi protokoll (vt http://www.jmarshall.com/easy/cgi/). Peab aru saama, kuidas vormisisusid postitaktakse, mis vahe on GET ja POST protokollil.&lt;br /&gt;
&lt;br /&gt;
== Niisama huvitavat lugemist == &lt;br /&gt;
* [https://www.codeschool.com/courses/shaping-up-with-angular-js Shaping up with angular] - imeline angulari veebikoolitus (aga spämmib teid pärast rohkelt äraütlemisvõimalusega)&lt;br /&gt;
* [http://www.theverge.com/2013/1/24/3904134/google-redesign-how-larry-page-engineered-beautiful-revolution Redesigning Google: How Larry Page Engineered Beautiful Revolution] - kuidas Google ennast hiljuti ümber ehitas&lt;br /&gt;
* [http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown Amazoni alam-menüü nipp]&lt;br /&gt;
* [http://paulrouget.com/e/devtoolsnext/ Firefox developer tools] - lahedusi Mozillalt&lt;br /&gt;
* [http://www.trinidad.ee/public/materjalid/Kasutajakeskse_veebi_lehekylgede_disain.pdf RISO: Kasutajakeskse veebi lehekülgede disain (.pdf)]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx Windows User Experience Interaction guidelines] - Win7&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx UX Guidelines for Windows Store apps] - Win 8 &lt;br /&gt;
* [http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html iOS Human Interface Guidelines]&lt;br /&gt;
* [https://developer.android.com/design/index.html Android UI Design]&lt;br /&gt;
* [https://developer.gnome.org/hig-book/stable/ GNOME Human Interface Guidelines]&lt;br /&gt;
* [https://medium.com/product-design/5ccef7b3e1fc Kuidas iOS lapikumaks muutub aja jooksul]&lt;br /&gt;
* [http://www.behance.net/rogeroddone Google Visual Asset Guidelines] - Google&#039;i ikonograafia loomisest&lt;br /&gt;
* [http://www.theverge.com/2013/8/29/4640308/dark-patterns-inside-the-interfaces-designed-to-trick-you Dark Patterns] - salakavalatest kasutajaliidese mustritest.&lt;br /&gt;
* [https://medium.com/@zmh/bye-google-maps-ea3ea10f84dc CityMapper vs Google Maps] - UX võrdlus&lt;br /&gt;
* [http://www.allenpike.com/2014/schrodingers-shift-key/ iOS 8 ja shift]&lt;br /&gt;
* [https://xss-game.appspot.com/ Cross-Site Scripting] - tore mäng turvaprobleemidest kasutajaliidese ehitamisel&lt;br /&gt;
* [http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ Vihakõne PHP suunal] - väga must huumor&lt;br /&gt;
* [http://blog.martindoms.com/2011/01/24/poor-ui-design-can-kill/ Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest]&lt;br /&gt;
* [http://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name How Apple Is Giving Design A Bad Name] - kuidas Apple oma liideste disainiga veidi rappa on jõudnud&lt;br /&gt;
* [https://www.npmjs.com/package/jade Jade - miinimumsüntaksiga HTML]&lt;br /&gt;
* [http://sass-lang.com/guide Sass - miinimumsüntaksiga CSS]&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kasutajaliidesed]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13713</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13713"/>
		<updated>2017-06-04T13:12:20Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Tulemused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Disain vs ux.jpg|right]]Kursuse kood: &amp;lt;b&amp;gt;ITV0130&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://www.lambda.ee/index.php/Kasutajaliidesed or http://www.lambda.ee/index/itv0130&amp;lt;br&amp;gt;&lt;br /&gt;
Õppejõud: Jaagup Irve&amp;lt;br&amp;gt;&lt;br /&gt;
Kontakt: jaagup.irve@ttu.ee, TTÜ ruum ICT-425&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=13571 2016] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=12421 2015] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=11832 2014] [[Kasutajaliidesed (2013)|2013]] [[Kasutajaliidesed (2012)|2012]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Tulemused ==&lt;br /&gt;
&lt;br /&gt;
Olen harjunud kolmenädalase sessitsükli ja umbes kolmandiku jagu vähemate tudengitega, seega jäid te hinded hiljemaks, kui dekanaadile või lõpetajatele meeldiks. Seega teretulemast loodetavasti interaktiivselt jälgima, kuidas mul läheb. [http://store.steampowered.com/app/632470/No_Truce_With_The_Furies/ Seni vaadake meie mängu treilereid vms]&lt;br /&gt;
&lt;br /&gt;
* KT parandamine (94% - PAUS läbi, tallinnas tagasi)&lt;br /&gt;
* Prakside inventuur (0%)&lt;br /&gt;
* Avaldatud hinded (0%)&lt;br /&gt;
* ÕIS (0%)&lt;br /&gt;
&lt;br /&gt;
== Korraldusest ==&lt;br /&gt;
&lt;br /&gt;
Loengutes selgitame kasutajaliideste arendamise põhimõtteid. Harjutustundide eesmärk on tutvustada laborite tegemiseks tarvilikke tehnilisi lahendusi. Praktikumis lahendame iga nädal mõnd konkreetset liidese ehitamisel ettetulevat probleemi (kui pole kodutööde esitamise nädal, sest siis tegeleme ainult sellega)&lt;br /&gt;
&lt;br /&gt;
Aasta 2017 puhul võib esineda mõningane kõrvalekalle etteantud projektist, sest õppejõul on üks kinnisidee tekkinud ja teie olete selle katsejänesed. Sellest esimeses loengus.&lt;br /&gt;
&lt;br /&gt;
*[https://bitbucket.org/XonX/android-demo Juri Kazjulja loengu repo]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltööst ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltööd on võimalik teha 17. ja 24. mail. Oluline on &#039;&#039;&#039;registreerida&#039;&#039;&#039; [https://ois.ttu.ee/ õppeinfosüsteemis].&lt;br /&gt;
&lt;br /&gt;
* 17. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U06A-229&#039;&#039;&#039;&lt;br /&gt;
* 24. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U02-102&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Varasemate aastate kontrolltöö hinde võib paluda otse üle kanda. Kontrolltööle võtke ruumi kaasa ainult paber-pliiats ja dokument. Kõhurääkijate ja mobiilinokkijate tööd võtan ära ja ei hinda. Tööd saab teha üks kord (topelt-käimisel teist tööd ei hinda).&lt;br /&gt;
&lt;br /&gt;
== Hindest ==&lt;br /&gt;
&lt;br /&gt;
Aine lõppeb hindelise arvestusega. Aine hinne koosneb kolmest komponendist:&lt;br /&gt;
* Liidese projektid: Meeskonnad ehitavad hindelised liidesed (60p)&lt;br /&gt;
** [[Projekt 1: Politsei e-avaldus]]&lt;br /&gt;
** [[Projekt 2: Preemia]]&lt;br /&gt;
** [[Projekt 3: Typonaut]]&lt;br /&gt;
* Kontrolltöö lugemismaterjalide ja loengumaterjalide peale (40p)&lt;br /&gt;
&lt;br /&gt;
Projektide grupid loosime ja vahetame gruppe iga projekti puhul.&lt;br /&gt;
&lt;br /&gt;
== Praktikumid ==&lt;br /&gt;
&lt;br /&gt;
* [[UI:Prototüüp|Prototüüpimine paberil]]&lt;br /&gt;
* [[UI:Bootstrap|Veebilehtede põhjad]]&lt;br /&gt;
* [[UI:Frustratsioon|Frustratsiooniliides]]&lt;br /&gt;
* [[UI:Nurgelised Kassid|Nurgelised kassid]]&lt;br /&gt;
* [[UI:SASS|Süntaktiliselt äge CSS]]&lt;br /&gt;
* [[UI:Nurgelised_Koerad|Nurgelised koerad]]&lt;br /&gt;
* [[UI:Animatsioonid]]&lt;br /&gt;
* [[UI:Django (Sissejuhatus)|Django Sissejuhatus]]&lt;br /&gt;
* [[UI:Django (Edasijuhatus)|Django Edasijuhatus]]&lt;br /&gt;
* [[UI:Kasutajatestid|Kasutajatestid]]&lt;br /&gt;
&lt;br /&gt;
== Videod == &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLMQzXA1f24AdPMsiYydc4rcAtHN-MiC6D&amp;amp;feature=view_all CSSi tutvustusvideod]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltöö ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö toimub viimase loengu ajal, loengu ruumides. Kontrolltöö sisuks on alltoodud materjalide lugemiskontroll ning HTML/javascripti tehniliste küsimuste lahendamine paberil.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lugemist &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A List Apart: [http://alistapart.com/article/indefenseofeyecandy In Defence of Eye Candy] - miks ilus liides on &amp;quot;parem&amp;quot;.&lt;br /&gt;
* Spolsky: [http://www.joelonsoftware.com/uibook/fog0000000249.html User Interface Design For Programmers] - kontrollitundest, kasutajamudelist ja päris inimestest&lt;br /&gt;
* Brandon Walkin: [http://www.brandonwalkin.com/blog/2009/08/10/managing-ui-complexity/ Managing UI complexity] - sellest kuidas asju kasutaja eest ära peita&lt;br /&gt;
* Ask Tog: [http://asktog.com/atc/principles-of-interaction-design/ First Principles of User Interaction Design] - tee liides valmis ja loe see uuesti läbi&lt;br /&gt;
* Nielsen: [http://www.nngroup.com/articles/ten-usability-heuristics/ 10 heuristilist kriteeriumit] - liidese testimiseks&lt;br /&gt;
* [http://ui-patterns.com/patterns UI-Patterns.com] - input, navigation, data&lt;br /&gt;
* [http://www.joelonsoftware.com/articles/Unicode.html Spolsky: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]&lt;br /&gt;
* [http://friedcellcollective.net/outbreak/2007/12/13/messing-up-the-interface/ kuidas vormid koledaks lähevad] ja [http://www.lukew.com/ff/entry.asp?1502 vormide disainist]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Tehniline &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.&lt;br /&gt;
* HTML DOM põhipunktid &lt;br /&gt;
* Cookied ja sessioonid (vt http://en.wikipedia.org/wiki/HTTP_cookie, http://www.quirksmode.org/js/cookies.html). Peab aru saama cookie põhimõtetest server-side ja aru saama javascripti näidetest cookiede kasutamise kohta. Programmeerimisülesannet selle kohta ei tule.&lt;br /&gt;
* Cgi protokoll (vt http://www.jmarshall.com/easy/cgi/). Peab aru saama, kuidas vormisisusid postitaktakse, mis vahe on GET ja POST protokollil.&lt;br /&gt;
&lt;br /&gt;
== Niisama huvitavat lugemist == &lt;br /&gt;
* [https://www.codeschool.com/courses/shaping-up-with-angular-js Shaping up with angular] - imeline angulari veebikoolitus (aga spämmib teid pärast rohkelt äraütlemisvõimalusega)&lt;br /&gt;
* [http://www.theverge.com/2013/1/24/3904134/google-redesign-how-larry-page-engineered-beautiful-revolution Redesigning Google: How Larry Page Engineered Beautiful Revolution] - kuidas Google ennast hiljuti ümber ehitas&lt;br /&gt;
* [http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown Amazoni alam-menüü nipp]&lt;br /&gt;
* [http://paulrouget.com/e/devtoolsnext/ Firefox developer tools] - lahedusi Mozillalt&lt;br /&gt;
* [http://www.trinidad.ee/public/materjalid/Kasutajakeskse_veebi_lehekylgede_disain.pdf RISO: Kasutajakeskse veebi lehekülgede disain (.pdf)]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx Windows User Experience Interaction guidelines] - Win7&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx UX Guidelines for Windows Store apps] - Win 8 &lt;br /&gt;
* [http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html iOS Human Interface Guidelines]&lt;br /&gt;
* [https://developer.android.com/design/index.html Android UI Design]&lt;br /&gt;
* [https://developer.gnome.org/hig-book/stable/ GNOME Human Interface Guidelines]&lt;br /&gt;
* [https://medium.com/product-design/5ccef7b3e1fc Kuidas iOS lapikumaks muutub aja jooksul]&lt;br /&gt;
* [http://www.behance.net/rogeroddone Google Visual Asset Guidelines] - Google&#039;i ikonograafia loomisest&lt;br /&gt;
* [http://www.theverge.com/2013/8/29/4640308/dark-patterns-inside-the-interfaces-designed-to-trick-you Dark Patterns] - salakavalatest kasutajaliidese mustritest.&lt;br /&gt;
* [https://medium.com/@zmh/bye-google-maps-ea3ea10f84dc CityMapper vs Google Maps] - UX võrdlus&lt;br /&gt;
* [http://www.allenpike.com/2014/schrodingers-shift-key/ iOS 8 ja shift]&lt;br /&gt;
* [https://xss-game.appspot.com/ Cross-Site Scripting] - tore mäng turvaprobleemidest kasutajaliidese ehitamisel&lt;br /&gt;
* [http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ Vihakõne PHP suunal] - väga must huumor&lt;br /&gt;
* [http://blog.martindoms.com/2011/01/24/poor-ui-design-can-kill/ Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest]&lt;br /&gt;
* [http://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name How Apple Is Giving Design A Bad Name] - kuidas Apple oma liideste disainiga veidi rappa on jõudnud&lt;br /&gt;
* [https://www.npmjs.com/package/jade Jade - miinimumsüntaksiga HTML]&lt;br /&gt;
* [http://sass-lang.com/guide Sass - miinimumsüntaksiga CSS]&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kasutajaliidesed]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13712</id>
		<title>Kasutajaliidesed</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutajaliidesed&amp;diff=13712"/>
		<updated>2017-06-03T12:33:32Z</updated>

		<summary type="html">&lt;p&gt;Irve: /* Tulemused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Disain vs ux.jpg|right]]Kursuse kood: &amp;lt;b&amp;gt;ITV0130&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://www.lambda.ee/index.php/Kasutajaliidesed or http://www.lambda.ee/index/itv0130&amp;lt;br&amp;gt;&lt;br /&gt;
Õppejõud: Jaagup Irve&amp;lt;br&amp;gt;&lt;br /&gt;
Kontakt: jaagup.irve@ttu.ee, TTÜ ruum ICT-425&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=13571 2016] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=12421 2015] [http://lambda.ee/w/index.php?title=Kasutajaliidesed&amp;amp;oldid=11832 2014] [[Kasutajaliidesed (2013)|2013]] [[Kasutajaliidesed (2012)|2012]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Tulemused ==&lt;br /&gt;
&lt;br /&gt;
Olen harjunud kolmenädalase sessitsükli ja umbes kolmandiku jagu vähemate tudengitega, seega jäid te hinded hiljemaks, kui dekanaadile või lõpetajatele meeldiks. Seega teretulemast loodetavasti interaktiivselt jälgima, kuidas mul läheb. [http://store.steampowered.com/app/632470/No_Truce_With_The_Furies/ Seni vaadake meie mängu treilereid vms]&lt;br /&gt;
&lt;br /&gt;
* KT parandamine (94% - PAUS; logistiline)&lt;br /&gt;
* Prakside inventuur (0%)&lt;br /&gt;
* Avaldatud hinded (0%)&lt;br /&gt;
* ÕIS (0%)&lt;br /&gt;
&lt;br /&gt;
== Korraldusest ==&lt;br /&gt;
&lt;br /&gt;
Loengutes selgitame kasutajaliideste arendamise põhimõtteid. Harjutustundide eesmärk on tutvustada laborite tegemiseks tarvilikke tehnilisi lahendusi. Praktikumis lahendame iga nädal mõnd konkreetset liidese ehitamisel ettetulevat probleemi (kui pole kodutööde esitamise nädal, sest siis tegeleme ainult sellega)&lt;br /&gt;
&lt;br /&gt;
Aasta 2017 puhul võib esineda mõningane kõrvalekalle etteantud projektist, sest õppejõul on üks kinnisidee tekkinud ja teie olete selle katsejänesed. Sellest esimeses loengus.&lt;br /&gt;
&lt;br /&gt;
*[https://bitbucket.org/XonX/android-demo Juri Kazjulja loengu repo]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltööst ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltööd on võimalik teha 17. ja 24. mail. Oluline on &#039;&#039;&#039;registreerida&#039;&#039;&#039; [https://ois.ttu.ee/ õppeinfosüsteemis].&lt;br /&gt;
&lt;br /&gt;
* 17. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U06A-229&#039;&#039;&#039;&lt;br /&gt;
* 24. mail 10:00 kontrolltöö ruumis &#039;&#039;&#039;U02-102&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Varasemate aastate kontrolltöö hinde võib paluda otse üle kanda. Kontrolltööle võtke ruumi kaasa ainult paber-pliiats ja dokument. Kõhurääkijate ja mobiilinokkijate tööd võtan ära ja ei hinda. Tööd saab teha üks kord (topelt-käimisel teist tööd ei hinda).&lt;br /&gt;
&lt;br /&gt;
== Hindest ==&lt;br /&gt;
&lt;br /&gt;
Aine lõppeb hindelise arvestusega. Aine hinne koosneb kolmest komponendist:&lt;br /&gt;
* Liidese projektid: Meeskonnad ehitavad hindelised liidesed (60p)&lt;br /&gt;
** [[Projekt 1: Politsei e-avaldus]]&lt;br /&gt;
** [[Projekt 2: Preemia]]&lt;br /&gt;
** [[Projekt 3: Typonaut]]&lt;br /&gt;
* Kontrolltöö lugemismaterjalide ja loengumaterjalide peale (40p)&lt;br /&gt;
&lt;br /&gt;
Projektide grupid loosime ja vahetame gruppe iga projekti puhul.&lt;br /&gt;
&lt;br /&gt;
== Praktikumid ==&lt;br /&gt;
&lt;br /&gt;
* [[UI:Prototüüp|Prototüüpimine paberil]]&lt;br /&gt;
* [[UI:Bootstrap|Veebilehtede põhjad]]&lt;br /&gt;
* [[UI:Frustratsioon|Frustratsiooniliides]]&lt;br /&gt;
* [[UI:Nurgelised Kassid|Nurgelised kassid]]&lt;br /&gt;
* [[UI:SASS|Süntaktiliselt äge CSS]]&lt;br /&gt;
* [[UI:Nurgelised_Koerad|Nurgelised koerad]]&lt;br /&gt;
* [[UI:Animatsioonid]]&lt;br /&gt;
* [[UI:Django (Sissejuhatus)|Django Sissejuhatus]]&lt;br /&gt;
* [[UI:Django (Edasijuhatus)|Django Edasijuhatus]]&lt;br /&gt;
* [[UI:Kasutajatestid|Kasutajatestid]]&lt;br /&gt;
&lt;br /&gt;
== Videod == &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLMQzXA1f24AdPMsiYydc4rcAtHN-MiC6D&amp;amp;feature=view_all CSSi tutvustusvideod]&lt;br /&gt;
&lt;br /&gt;
== Kontrolltöö ==&lt;br /&gt;
&lt;br /&gt;
Kontrolltöö toimub viimase loengu ajal, loengu ruumides. Kontrolltöö sisuks on alltoodud materjalide lugemiskontroll ning HTML/javascripti tehniliste küsimuste lahendamine paberil.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Lugemist &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A List Apart: [http://alistapart.com/article/indefenseofeyecandy In Defence of Eye Candy] - miks ilus liides on &amp;quot;parem&amp;quot;.&lt;br /&gt;
* Spolsky: [http://www.joelonsoftware.com/uibook/fog0000000249.html User Interface Design For Programmers] - kontrollitundest, kasutajamudelist ja päris inimestest&lt;br /&gt;
* Brandon Walkin: [http://www.brandonwalkin.com/blog/2009/08/10/managing-ui-complexity/ Managing UI complexity] - sellest kuidas asju kasutaja eest ära peita&lt;br /&gt;
* Ask Tog: [http://asktog.com/atc/principles-of-interaction-design/ First Principles of User Interaction Design] - tee liides valmis ja loe see uuesti läbi&lt;br /&gt;
* Nielsen: [http://www.nngroup.com/articles/ten-usability-heuristics/ 10 heuristilist kriteeriumit] - liidese testimiseks&lt;br /&gt;
* [http://ui-patterns.com/patterns UI-Patterns.com] - input, navigation, data&lt;br /&gt;
* [http://www.joelonsoftware.com/articles/Unicode.html Spolsky: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]&lt;br /&gt;
* [http://friedcellcollective.net/outbreak/2007/12/13/messing-up-the-interface/ kuidas vormid koledaks lähevad] ja [http://www.lukew.com/ff/entry.asp?1502 vormide disainist]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Tehniline &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Json/ajax (vt http://www.w3schools.com/ajax/default.asp). Peab oskama kirjutada väikese JSONi kasutava ajaxi näite. Väike progeülesanne.&lt;br /&gt;
* HTML DOM põhipunktid &lt;br /&gt;
* Cookied ja sessioonid (vt http://en.wikipedia.org/wiki/HTTP_cookie, http://www.quirksmode.org/js/cookies.html). Peab aru saama cookie põhimõtetest server-side ja aru saama javascripti näidetest cookiede kasutamise kohta. Programmeerimisülesannet selle kohta ei tule.&lt;br /&gt;
* Cgi protokoll (vt http://www.jmarshall.com/easy/cgi/). Peab aru saama, kuidas vormisisusid postitaktakse, mis vahe on GET ja POST protokollil.&lt;br /&gt;
&lt;br /&gt;
== Niisama huvitavat lugemist == &lt;br /&gt;
* [https://www.codeschool.com/courses/shaping-up-with-angular-js Shaping up with angular] - imeline angulari veebikoolitus (aga spämmib teid pärast rohkelt äraütlemisvõimalusega)&lt;br /&gt;
* [http://www.theverge.com/2013/1/24/3904134/google-redesign-how-larry-page-engineered-beautiful-revolution Redesigning Google: How Larry Page Engineered Beautiful Revolution] - kuidas Google ennast hiljuti ümber ehitas&lt;br /&gt;
* [http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown Amazoni alam-menüü nipp]&lt;br /&gt;
* [http://paulrouget.com/e/devtoolsnext/ Firefox developer tools] - lahedusi Mozillalt&lt;br /&gt;
* [http://www.trinidad.ee/public/materjalid/Kasutajakeskse_veebi_lehekylgede_disain.pdf RISO: Kasutajakeskse veebi lehekülgede disain (.pdf)]&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa511258.aspx Windows User Experience Interaction guidelines] - Win7&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx UX Guidelines for Windows Store apps] - Win 8 &lt;br /&gt;
* [http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html iOS Human Interface Guidelines]&lt;br /&gt;
* [https://developer.android.com/design/index.html Android UI Design]&lt;br /&gt;
* [https://developer.gnome.org/hig-book/stable/ GNOME Human Interface Guidelines]&lt;br /&gt;
* [https://medium.com/product-design/5ccef7b3e1fc Kuidas iOS lapikumaks muutub aja jooksul]&lt;br /&gt;
* [http://www.behance.net/rogeroddone Google Visual Asset Guidelines] - Google&#039;i ikonograafia loomisest&lt;br /&gt;
* [http://www.theverge.com/2013/8/29/4640308/dark-patterns-inside-the-interfaces-designed-to-trick-you Dark Patterns] - salakavalatest kasutajaliidese mustritest.&lt;br /&gt;
* [https://medium.com/@zmh/bye-google-maps-ea3ea10f84dc CityMapper vs Google Maps] - UX võrdlus&lt;br /&gt;
* [http://www.allenpike.com/2014/schrodingers-shift-key/ iOS 8 ja shift]&lt;br /&gt;
* [https://xss-game.appspot.com/ Cross-Site Scripting] - tore mäng turvaprobleemidest kasutajaliidese ehitamisel&lt;br /&gt;
* [http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ Vihakõne PHP suunal] - väga must huumor&lt;br /&gt;
* [http://blog.martindoms.com/2011/01/24/poor-ui-design-can-kill/ Kuidas lennuk valesti disainiti ja inimesed katki läksid sellest]&lt;br /&gt;
* [http://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name How Apple Is Giving Design A Bad Name] - kuidas Apple oma liideste disainiga veidi rappa on jõudnud&lt;br /&gt;
* [https://www.npmjs.com/package/jade Jade - miinimumsüntaksiga HTML]&lt;br /&gt;
* [http://sass-lang.com/guide Sass - miinimumsüntaksiga CSS]&lt;br /&gt;
&lt;br /&gt;
[[Kategooria:Kasutajaliidesed]]&lt;/div&gt;</summary>
		<author><name>Irve</name></author>
	</entry>
</feed>