Itv0030 2008
Kursuse kood: ITV0030
Link: http://www.lambda.ee/index.php/Kasutajaliidesed_võrgutehnoloogia_baasil or http://www.lambda.ee/index/itv0030
Õppejõud: Tanel Tammet
Kontakt: tammet@staff.ttu.ee, 6203457, TTÜ AK223
Laborid: Jaagup Irve
Kontakt: jaagup.irve@ttu.ee, TTÜ IT-232
NB! Tegemist on 2008 kevadsemestri arhiiviga, mitte hetkel kehtivate materjalidega!
Varasemate aastate arhiiv: 2007, 2006, 2005.
Sisukord
Koht, aeg, tulemus
Semester: kevad
Tulemus: hindeline arvestus
Nõuded: kaks laboratoorset tööd ja kontrolltöö kursuse lõpus
Punkte: 2.5
Igal esmaspäeval toimub ruumis IT-213 harjutus või praktikum. Igal teisel (paaritu nädala) kolmapäeval toimub ruumis VII-131 loeng. Teisisõnu:
Loeng: paaritute nädalate kolmapäevadel kell 12.00-13.30 ruumis VII-131 (uus korpus). Esimene paaritu nädal algab 28. jaanuaril.
Harjutus: paaritute nädalate esmaspäevadel kell 12.00-13.30 ruumis IT 213-A (AK arvutiklassid).
Praktikum: paarisnädalate esmaspäevadel kell 12.00-13.30 ruumis IT 213-A (AK arvutiklassid).
Siin nüüd ITV0030 tulemused 2008 kevad.
Kontrolltöö
Kontrolltöö (kaks varianti):
- 27 mai kell 9-12 ruumis I-202 (aula taga)
- 3 juuni kell 9-12 ruumis I-202 (aula taga)
Lõpphindes läheb arvesse nii töö praktikumis (2/3 punktidest) kui kontrolltöö (1/3 punktidest). Positiivse tulemuse jaoks on kontrolltööst vaja saada vähemalt 1/3 punktidest.
Kontrolltöö sisu punktide kaupa:
- kasutajaliideste üldpõhimõtted 1: lugemiskontroll paari artikli kohta. Artiklid:
- kasutajaliideste üldpõhimõtted 2: lugemiskontroll paari artikli kohta. Artiklid:
- CSS: põhiteadmised. Annan CSS-i tekstijupi ette ja palun selgitust ja/või tulemuse kirjeldust. Artiklid: http://www.w3.org/MarkUp/Guide/Style.html. Näited valikust: http://www.w3schools.com/css/css_examples.asp
- Javascript koos htmli ja css muutmisega (DOM): põhiteadmised. Annan js tekstijupi ette ja palun selgitust ja/või tulemuste kirjeldust. Näited valikust: http://www.w3schools.com/dhtml/dhtml_dom_examples.asp ja http://www.w3schools.com/dhtml/dhtml_examples.asp
- Javascript koos htmli ja css muutmisega (DOM): ülesanne. Palun teha väike näide a la tabidega lehe tegemise kohta (div-de muutmine linkidele või nuppudele vajutamise korral).
- XMLi süntaks. Tuvastada süntaksivigu etteantud XMLi näites. Materjalid: http://cs.ttu.ee/kursused/itv0030/loeng/xmlbaas1.PPT ja http://cs.ttu.ee/kursused/itv0030/loeng/xmlbaas2.PPT
- XSL: väikesed baasteadmised. Annan väikese programmijupi koos toor-xmlga ette ja palun vastus kirja panna: mis on tulemus. Materjalid: http://cs.ttu.ee/kursused/itv0030/loeng/xmlbaas3.PPT ja http://cs.ttu.ee/kursused/itv0030/loeng/xmlbaas4.PPT
- xmlhttprequesti ülesanne. Vaja kirjutada väike näide, kus tehakse xmlhttprequesti asünkroonselt (callbackiga). Artikkel: http://www-128.ibm.com/developerworks/java/library/wa-ajaxintro2/index.html
Goals
The goal of the course is studying/practicing ideas, methods and technology for building UI-s for web-based apps. We will focus on applications handling data, not marketing/information pages. Think catalogues, blogs, cms, reservation, e-commerce, financial apps, mashups etc. Creating the actual app, database schema, security and authentication solutions etc etc are not in the scope of the course.
The three themes of the course (with roughly equal importance) are:
- Nontechnical aspects of the UI: usability, structure, visual design.
- Browser technologies: html, css, javascript, dom. Ajax.
- Server-focused technologies: json, xml, xslt. REST, content aggregation and mashups.
We assume familiarity with html and basic server-side functionality: i.e. competence to create simple web apps.
Labs
Kursusel on kaks kohustuslikku laboratoorset tööd. Töö teemaks tuleb valida üks kahest:
Mõlemad laboratoorsed tööd realiseerivad siis seda ühte valitud teemat: esimene töö ehitab dummy-ui ilma tegeliku serveripoolse rakenduse ja andmebaasita, teine lisab serveripoolse rakenduse ja andmebaasi.
Labs:
- First lab: building the functioning prototype/fake UI using static files for the app.
- Tähtaeg: märtsi keskpaik.
- itv0030 2008 esimese praksi tehnilised nõuded
- Second lab: actually building the app, using web services provided by the lecturer and the UI prototype you built before.
- Deadline is mid-May.
- itv0030 2008 teise praksi tehniline juhend
Labwork may be done alone or in pairs. Groups of three, etc are not allowed. Each lab will be graded, and the grade will be worth 1/3 of the final grade. In order to succeed at the course, both labs plus the final test must be presented/passed. Lab presentations after the deadline will be worth 1/2 of the grade it would receive otherwise. All lab results must be presented on site during regular lab hours, both authors must be present. Email submissions are not accepted.
Loengud/harjutused
- Loeng 28 jaanuar
- Sissejuhatav loeng IT-213 A: kursuse ülevaade, esimene laboratoorne töö
- Loeng 30 jaanuar VII-131
- sissejuhatus css-i
- Harjutus 11 veebruar IT-213A
- esimese laboratoorse töö detailid
- Loeng 13 veebruar VII-131
- sissejuhatus javascript-i
- Harjutus 25 veebruar IT-213A
- UI: lingid, baasitabeli jaotamine lehekülgedeks, sorteerimine, vormid
- Loeng 27 veebruar VII-131
- css dünaamilised menüüd, dom ning javascripti kasutamine htmli/cssi modifitseerimiseks
- Harjutus 10 märts IT-213A
- extjs teegi widgetite kasutamine
- Loeng 12 märts VII-131
- XMLHttpRequest, ajax ja json
- Harjutus 24 märts IT-213A
- teise laboratoorse töö serveripoolsed detailid
- Loeng 12 märts VII-131
- XML ja XSL
UI design
To be extended later.
Collection:
Basic UI design principles: classics
- Spolsky book draft: great design
- Spolsky: User Interface Design For Programmers
- Spolsky: It's Not Just Usability
- Tognazzini: First Principles of Interaction Design.
More concrete and practical UI design principles
- current web style
- 2.0 web style from 2006
- Jared Spool on design
- personality: one chapter from a book
- access by design: online book
- user in your face: short online book
Web app page structure and design, whitespace, colors etc:
- User Expectations for the Location of Common Objects (2002)
- understanding visual organisation
- using white space
- using colors
- serious online book: use the content menu on the left
- good, short online book split into separate articles
Web app design details: pagination, forms, menus, measures:
- pagination 101
- more pagination
- form design
- how the form gets messed up
- form example gallery
- recent menu trends
- grid system
Resource collections for finding more:
- best universal resource collection
- web page design resources
- UI ja funktsionaalsuse kujunduse põhimõtete kollektsioon
UI implementation: browser
Standards:
HTML, CSS and Javascript tutorials:
- HTML tutorial
- First CSS intro
- CSS tutorial
- full CSS book in pdf
- Javascript tutorial 1
- Tutorial: javascript + css + html
- Westciv CSS book
- Westciv CSS tutorial
Concrete UI widgets:
- using lists with css
- classic 'sons of suckerfish' css menu article
- css selectors: underlying technology for css menus
- tutorial for css selectors
- classic css menu example
- small up-to-date css menu tutorial
- huge css menu gallery/selection
Javascript libraries:
HTML dom in general:
Creating innerhtml and elements using HTML dom:
- http://www.tizag.com/javascriptT/javascript-innerHTML.php
- http://www.javascriptkit.com/domref/elementmethods.shtml
- http://www.byteclub.net/wiki/index.php?title=Javascript_createElement
- http://www.adp-gmbh.ch/web/js/elements/createelement.html
- http://javascript.about.com/library/bldom10.htm
- http://onlinetools.org/articles/unobtrusivejavascript/chapter3.html
Javascript graphics with SVG:
Javascript graphics with css and canvas:
- http://www.abrahamjoffe.com.au/ben/canvascape/
- http://developer.mozilla.org/en/docs/Drawing_Graphics_with_Canvas
- http://ajaxian.com/archives/new-javascriptcanvas-graph-library
- http://developer.mozilla.org/en/docs/Drawing_Graphics_with_Canvas
- http://caimansys.com/painter/index.html
- http://me.eae.net/archive/2005/12/29/canvas-in-ie/
Ajax:
- ajax: wikipedia overview
- classic ajax tutorial with necessary details
- a simple ajax tutorial
- ajax tutorial from w3schools
Json:
Articles, ideas, howtos:
Resource collections:
Server-centric
To be filled later.