Detail předmětu

Tvorba uživatelských rozhraní

FIT-ITUAk. rok: 2010/2011

Rozhraní mezi uživatelem a počítačem, informační propustnost uživatelských rozhraní, různé způsoby implementace rozhraní, historie uživatelských rozhraní, historie nástrojů pro tvorbu aplikací a rozhraní, rozhraní soudobých operačních systémů - Windows, X-Window a jiných, řízení událostmi, prostředky programování aplikací a uživatelských rozhraní, tradiční, objektový a komponentní model rozhraní, prvky rozhraní - tlačítka, listboxy, editační boxy, apod., vlastnosti základních stavebních bloků uživatelských rozhraní, perspektivy tvroby uživatelských rozhraní.

Jazyk výuky

čeština

Počet kreditů

4

Výsledky učení předmětu

Studenti porozumí důležitosti uživatelských rozhraní pro efektivní využití počítačů. Naučí se základním principům a struktuře nástrojů pro tvorbu aplikací a jejich uživatelských rozhraní. Seznámí se s historií takových vývojových nástrojů a s jejich předokládaným vývojem do budoucna. Vyzkouší si vývoj uživatelských rozhraní na sérii příkladů. Naučí se užívat základní stavební bloky rozhraní. Důvěrně se seznámí s vlastnostmi stavebních bloků ve Windows a pochopí rozdíly implementace v X-Window. Získají potřebné znalosti pro tvorbu aplikací pro reálné nasazení i pro studentské projekty.

Studenti se naučí hledat si partnery do týmu a řešit týmové projekty. Zdokonalí se v praktickém užívání programátorských a ladících nástrojů jakož i v praktickém užívání programovcího jazyka C/C++.

Prerekvizity

Základní znalost programování v C/C++.

Způsob a kritéria hodnocení

úspěšná realizace projektu

Osnovy výuky

  1. Rozhraní mezi uživatelem a počítačem, řízení událostmi, vztah prvků rozhraní a objektů, možnosti implementace rozhraní, programy a zprávy ve Windows, Překreslování oken (Zemčík Úvod, Windows 21.9.)
  2. X-Window - API a nadstavby (Mlích příklady, 5.10.)
  3. RedHat + Knihovny pro tvorbu uživatelských rozhraní - GTK, Qt, wxWidgets, TCL/TK (Mlích, 12.10. 1/A4)
  4. Okna, jejich vlastnosti a překreslování, dialogové boxy, základní stavební prvky, parametry prvků, komunikace mezi prvky, vstup ve Windows - klávesnice a myš (Zemčík Dialogy, Vstup, Dialog demo C++Builder5/6, 19.10.)
  5. Kursor, clipboard (nástěnka), praktické ukázky (Zemčík Vstup - pokračování, 26.10.)
  6. Webová rozhraní (Beran, 2.11. cs, en, demo)
  7. Tvorba prvků rozhraní - komponent (Komponenty, Component demo C++Builder5/6 9.11.)
  8. Aplikace s multithreadingem (není úplnějisté, Zemčík 16.11.)

Témata přednášek jsou orientační a budou v průběhu semestru aktualizována. 

Test bude pravděpodobně 23.11., bude upřesněno

Učební cíle

Naučit se a porozumět důležitosti uživatelských rozhraní pro efektivní využití počítačů. Naučit se základním principům a struktuře nástrojů pro tvorbu aplikací a jejich uživatelských rozhraní. Seznámit se s historií takových vývojových nástrojů a s jejich předokládaným vývojem do budoucna. Vyzkoušet si vývoj uživatelských rozhraní na sérii příkladů. Naučit se užívat základní stavební bloky rozhraní. Důvěrně se seznámit s vlastnostmi stavebních bloků ve Windows a pochopit rozdíly implementace v X-Window. Získat potřebné znalosti pro tvorbu aplikací pro reálné nasazení i pro studentské projekty.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Kontrolovaná výuka zahrnuje individuální projekt, půlsemestrální test a bodovaná počítačová cvičení. Půlsemestrální test nemá náhradní termín.

Základní literatura

Preece J.: Human-Computer Interaction. Addison-Wesley, Wokingham, ISBN 0-201-62769-8, 1995.

Zařazení předmětu ve studijních plánech

  • Program IT-BC-3 bakalářský

    obor BIT , 3. ročník, zimní semestr, povinný

Typ (způsob) výuky

 

Přednáška

14 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Rozhraní mezi uživatelem a počítačem, řízení událostmi, vztah prvků rozhraní a objektů, možnosti implementace rozhraní, programy a zprávy ve Windows, Překreslování oken (Zemčík Úvod, Windows 25.9.2009)
  2. Okna, jejich vlastnosti a překreslování, dialogové boxy, základní stavební prvky, parametry prvků, komunikace mezi prvky, vstup ve Windows - klávesnice a myš (Zemčík Dialogy, Vstup, Dialog demo C++Builder5/6, 2.10.2009)
  3. Kursor, clipboard (nástěnka), praktické ukázky (Zemčík Vstup - pokračování, 9.10.2009)
  4. X-Window - API a nadstavby (Lampa/Mlích/Zuzaňák příklady, 16.10.2009)
  5. Tvorba prvků rozhraní - komponent (Komponenty, Component demo C++Builder5/6 23.10.2009)
  6. Webová rozhraní (Beran, 30.10.2009 cs, en, demo)
  7. Knihovny pro tvorbu uživatelských rozhraní - GTK, Qt, wxWidgets, TCL/TK (Mlích, 13.11.2009 1/A4)
  8. Aplikace s multithreadingem (Zemčík 20.11.2009)

Témata přednášek jsou orientační a budou v průběhu semestru aktualizována. 

Cvičení na počítači

12 hod., nepovinná

Vyučující / Lektor

Osnova

Úvodní seznámení se s prostředím - je třeba, aby si studenti vyzkoušeli přihlašování do Windows, spuštění prostředí Visual C++ i přihlašování do Linuxu, spuštění překladače gcc nebo g++ a funkčnosti instalace vxWidgets ve Windows nebo v Linuxu (podle vlastní volby) tak, aby v dalších cvičeních nevznikly problémy na učebně - samostatně v termínech cvičení bez ohledu na skupinu (25.,26.9.,2.,3.10.)
  1. Jednoduchý program v prostředí komponentního programování, ukázka práce s Windows API (Žák, Beran) (9.,10.,16.,17.10.) 
  2. Vlastnosti oken, překreslování oken, platnost obsahu oken, obsluha zpráv a uživatelských zpráv (Beran, Žák) (23.,24.,30.,31.10.)
  3. Webové technologie, AJAX (Beran, Žák) (6.,7.,13.,14.11.)
  4. X-Window, Motif, Qt (Mlích, Řezníček) (20.,21.,27.,28.11.)
  5. wxWidgets, GTK (Kubíček, Řezníček) (4.,5.,11.,12.12.)

Odevzdávání projektu (18.,19.12., sudý i lichý termín společně, postup bude upřesněn).

Během cvičení budou řešeny drobné úlohy a cvičení budou průběžně bodována.

Při odevzdání podobného řešení bude může být počet bodů krácen nebo rozdělen mezi podobná řešení. Vyučující může individuálně určit rozdělení bodů.

Studenti ve své práci musí pracovat samostatně a tvůrčím způsobem. Za porušení této zásady se považuje zejména reverzní inženýrství (disasebmling, dekompilace a podobné postupy), kopírování příkladů řešení, hotových řešení nebo obdobných podkladů, které jsou zveřejněny nebo jsou studentům jinak dostupné (jedná se o kopírování celých řešení nebo jejich tak velkých částí, že jejich okopírování vede k funkčně shodnému nebo velmi obdobnému řešení zadání), společná práce na zadání ve skupinách tak, že její výsledky jsou potom odevzdávány jako řešení jednotlivce (jednotlivců), pokud to není v zadání přímo požadováno nebo povoleno (diskuse ve skupině a/nebo společné řešení dílčích částí je povoleno).

Studenti se musí zdržet jednání, které je v rozporu s dobrými mravy a které by mohlo vést k obcházení skutečného způsobu "řešení" zadání v duchu těchto zadání jimi samotnými nebo jinými studenty.

Pokud student(i) poruší výše uvedená pravidla, může mu hodnocení být sníženo až na 0 bodů.

Projekt

13 hod., nepovinná

Vyučující / Lektor