TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 1 Johdanto ja Qt työkalujen esittely Juha-Matti Vanhatupa
Kurssin tavoitteet Kuvailla käyttöliittymäohjelmoinnin problematiikkaa yleisesti Antaa perustiedot ja taidot käyttöliittymien ohjelmointiin Kertoa tärkeimmistä käyttöliittymäohjelmointiin liittyvistä suunnitteluratkaisuista ja arkkitehtuureista Antaa käytännön kokemusta käyttöliittymäohjelmoinnista
Yleistä Kurssin laajuus 4op. Kurssin kotisivu www.cs.tut.fi/~grako Uutisryhmä: tut.ot.grako (käytetty lähinnä harjoitustyöparien metsästykseen, toimii kunnes palvelin hajoaa..) Kurssin sähköposti: grako@cs.tut.fi Huom! hyväksyy vain tut.fi loppuisista osoitteista lähetetyt postit.
Henkilökunta Juha-Matti Vanhatupa: luennot, tentti, vanhatuj@cs.tut.fi Janne Lautamäki: harjoitustyöt, viikkoharjoitukset Antti Nieminen: harjoitustyöt, viikkoharjoitukset
Luentojen ajankohdat ja paikat 1. periodi (viikot 35-41) Tiistaisin klo 14-16 TB207 Keskiviikkoisin klo 12-14 TC219 Luentoja vain 1. periodilla, harjoitukset ja harjoitustyö jatkuvat vielä 2. periodilla.
Esitietovaatimukset OHJ-1400 Olio-ohjelmoinnin peruskurssi (pakollinen) IHTE-2100 Käyttöliittymäsuunnittelun perusteet (suositeltava)
Suoritusvaatimukset Hyväksytysti suoritettu harjoitustyö Hyväksytysti suoritettu tentti Viikkoharjoitukset ei pakollisia mutta suositeltavia (bonusvaikutus)
Arvosanan muodostuminen Tentti arvostellaan asteikolla 0-5, jossa 0 on hylätty Harjoitustyö arvostellaan asteikolla 0-5, jossa 0 hylätty Kurssiarvosana = tentin ja harjoitustyön arvosanojen keskiarvo Suorittaakseen kurssin on sekä tentistä, että harjoitustyöstä on saatava vähintään arvosana 1.
Viikkoharjoituksien vaikutus arvosanaan Osallistumalla vähintään 6 harjoitukseen, saa harjoituksista bonuksen, joka vaikuttaa kurssiarvosanaan seuraavasti: esim 2: Harjoitusbonus esim 3: Ei bonusta Harjoitustyöarvosana 3 Harjoitustyöarvosana 3 Tenttiarvosana 2 Tenttiarvosana 2 Kurssiarvosana 3 Kurssiarvosana 2
Viikkoharjoitukset 9 kertaa. Paikka Windows-luokka TC205. Alkavat toisella luentoviikolla (vko 36). 3 ryhmää: to 12-14, to 14-16 ja pe 12-14 Ilmoittautumislista ilmestyy kurssin ilmoitustaululle Tietotalon 2 kerroksen c-käytävälle keskiviikkona Tietokoneharjoituksia (2 henkeä/kone), tehtäviä tehdään itsenäisesti, assistentti auttaa tarvittaessa.
Harjoitustyö Aiheena Flipperi - ohjelmointikielenä C++ ja käyttöliittymäkirjastona Qt Parityö, yksin saa halutessaan tehdä. Yli kahden ryhmät eivät ole sallittuja. Ilmoittautumisskripti kurssin sivuilla.
Harjoitustöiden aikataulu Harjoitustyöluento 11.9.2013 Välipalautukset viikolla 41: 7.10.-11.10 Deadline perjantai 15.11.2013 klo: 12:00 Myöhästyneitä töitä ei arvostella.
Luentojen aikataulu Viikko 1 (35) Johdanto ja Qt työkalujen esittely Tapahtumapohjainen ohjelmointi ja muita käyttöliittymäohjelmointiympäristöjä, Qt perusteet alkaa Viikko 2 (36) Qt perusteet jatkuu Dialogit, layoutit ja menut
Luentojen aikataulu Viikko 3 (37) Qt:n Piirtofunktiot Harjoitustyöluento (Janne) Viikko 4 (38) Interaktiivinen käyttöliittymä + drag-and-drop Tiedostonkäsittely ja asetukset Viikko 5 (39) Suunnittelumallit käyttöliittymäohjelmoinnissa Qt:n MV-malli
Luentojen aikataulu Viikko 6 (40) Rinnakkaisuus GUI-ohjelmoinnissa Lokalisointi ja tyylit Viikko 7 (41) QML + skriptit (tjs.) Kertaus
Tenttipäivät Tentti 2. periodin tenttiviikolla. Tarkistakaa päivät POP:sta ja muistakaa ilmoittautua. Tämän vuoden harjoitustyösuoritus voimassa näissä kolmessa tentissä. (enempää kurssin toteutuksia ei tule...)
Graafiset käyttöliittymät: esihistoria Douglas Englebartin demo 1968 - Hiiri, hiiren kursori Xerox PARC (Palo Alto Research Center) - bittikartalla luotu näyttö - graafinen käyttöliittymä Apple tutustumaan Xeroxin PARC:iin joulukuussa 1979
Graafiset käyttöliittymät: esihistoria Xeroxin oma GUI:lla varustettu tietokone Xerox Star markkinoille 1981, epäonnistui kuitenkin kaupallisesti
Graafiset käyttöliittymät: esihistoria Macintosihin suunniteltu julkaisu tammikuussa 1983. Microsoft valmisti ohjelmistoja Applen Macintoshiin. Sama sopimus kielsi graafisten ohjelmistojen tuottamisen muille 1984 tammikuuhun asti. Microsoft ilmoitti 1983 marraskuussa kehittävänsä omaa GUI:ta.
Graafiset käyttöliittymät: esihistoria Macintosh julkistettiin 1984 tammikuussa. - elementtien raahaus, päällekkäiset ikkunat Windows 1.0 syksyllä 1985. - vierekkäiset ikkunat (seuraavat Windowsin versiot tukivat päällekkäisiä)
Käyttöliittymäkirjastoja Java AWT Win API GTK+ Java Swing MFC Qt.NET
Qt Alustariippumaton ohjelmistojen ja graafisten käyttöliittymien kehitysympäristö. Qt-kirjastossa sisäänrakennettu tuki C++ kielelle, mutta voi käyttää myös muilla kielillä. Kehitys alkoi jo vuonna 1991, ensimmäinen versio julki 1995. Nokia osti alkuperäisen kehittäjän Trolltech:n vuonna 2008. Viime vuonna Digia osti Nokialta koko Qtkehitysympäristön.
Kurssimateriaali Ei varsinaista tenttikirjaa. Hyvä (mutta hivenen vanha) opus aiheeseen: C++ GUI Programming with Qt 4 (2 nd edition). Saatavilla netistä pdf:nä + toisen tekijän Mark Summerfieldin sivulla erillinen paketti, jossa esimerkit Qt 5:lle.
Kurssilla käytettävät ohjelmistot Qt SDK - sisältää Qt Creatorin ja tarvittavat kirjastot - käytetään harjoitustyössä ja harjoituksissa. http://qt-project.org/downloads
Hello World -demo