Alice (programovací jazyk)
Alice je objektově orientovaný programovací jazyk s integrovaným vývojovým prostředím. Tento jazyk slouží k výuce programování pomocí vytváření počítačových animací s použitím 3D modelů pomocí vytváření a přetahování dlaždic. Software byl nejdříve vyvíjen na univerzitě ve Virginii (University of Virginia) a poté od roku 1997 na Univerzitě Carnegie Mellon vývojovou skupinou vedenou Randy Pauschem.

Co je to Alice 
Alice je výukový jazyk, vytvoření k učení mladých lidí objektovému programování pomocí vytváření příběhů, videí, interaktivních her a jejich následnému sdílení na internetu. Je navržený speciálně pro studenty, kteří se s objektově orientovaným programováním setkávají poprvé. V tomto vývojovém prostředí mají studenti k dispozici 3D objekty (představující různá zvířata, lidi, aj.), které obývají virtuální svět a studenti v tomto prostředí vytváří program, pomocí kterého tyto objekty animují.

Tyto objekty studenti animují přesouváním dlaždic, pomocí kterých následně vytvářejí program podobající se spoustě jiných známých programovacích jazyků, jakou jsou například Java, C# nebo C++. Alice také dovoluje studentům ihned vidět jejich naprogramovanou animaci a tím i porozumět vztahům mezi naprogramovanými příkazy. Studenti jsou tím schopni získat spoustu zkušeností, které by jinak obdrželi v základním programovacím kurzu.

Z těchto důvodů je Alice používaná na spoustě vysokých škol a univerzit pro základní kurzy programování.

Důvody vývoje 
Alice byla vytvořena za účelem vyřešení pěti základních problémů ve výuce programování.

Spousta programovací jazyků je totiž navržena pro snadnou produkci kódu a to poté vede k dalším problémům. Alice byla vytvořena čistě za účelem výuky programování bez složitých výrazů, které používají ostatní programovací jazyky jako například C++. Uživatelé pouze přesouvají objekty které představují jednotlivé příkazy z jednoho místa na druhé.

Alice dále také dovoluje uživateli manipulaci s kamerou a světlem pro další vylepšení svých programů.

Z toho důvodu, že je programovací jazyk naprosto propojen se svým vývojovým prostředím, nenutí uživatele si pamatovat žádnou syntaxi. A to i přes to, že podporuje plnohodnotné objektově-orientované programování.

Alice je programovací jazyk zaměřený na oslovení určité části populace (zejména studentů) tím, že jim umožňuje vytvářet příběhy. Na rozdíl od ostatních programovacích jazyků, které jsou zaměřeny spíše na výpočty.

Současné verze - rozdíly 
V současné době jsou na stránkách vývojářů k dispozici dvě verze programovacího jazyka Alice s vývojovým prostředím. Verze 3.1 a 2.4 Obě verze jsou k dispozici pro operační systém Windows, Linux i Mac OS.

Vývojáři zároveň poskytují i spoustu podkladů a učebních materiálů k oběma verzím programu, zároveň jsou na stránkách k dispozici i videa pro začátek práce s oběma verzemi programu. Verzi 2 si do 13. srpna 2009 stáhlo více než milion lidí a více než 15% vysokých škol v USA Alici používá k výuce. Zároveň se také stále zvětšuje počet středních škol, které tento program k výuce požívají.

Jeden z hlavních rozdílů mezi Alicí 2 a 3 je ten, že zatímco Alice 2 využívá pouze programování podobné Javě, Alice 3 již jede plně na prostředí Javy. Je to hlavně z toho důvodu, že to vyžadovala spousta vyučujících, používajících tento program.

Další věc, která by mohla potěšit hlavně pokročilé studenty je ta, že Alice 3 obsahuje prostředí, které jim dovoluje kód v Javě přímo psát a následně ho do jejich programu vložit. Také obsahuje možnost vkládání jejich vytvořených animací přímo z programu na YouTube.

Alice 3 a The Sims 2 
V této verzi použil její tvůrce Carnegie Mellon animace a postavy ze hry The Sims 2, kterou vyvinula společnost Electronic Arts (EA), pro toto použití je všechny převedl z programovacího jazyka C++ Do programovacího jazyka Java. Víceméně vymyslel metodu, pomocí které ochránil majetek postav EA a zároveň zanechal open source status programu Alice a možnost studentů s těmito postavami manipulovat.

Proto nyní mají uživatelé Alice 3 možnost vybrat si ze spousty postav a scén ze hry The Sims, které budou obývat jejich virtuální svět a dalších stovek pohybů a chování, které mohou na animování svých postav použít.

Vývojáři si od těchto známých postav a animací slibují, že by si je mohli studenti a hlavně také studentky oblíbit.

Knihy a učební texty 
O programovacím jazyku Alice bylo napsáno spoustu knih. Tyto knihy slouží nejen k učení objektového programování, ale zároveň se skrz ně dá naučit i programovací jazyk Java. Jsou na výběr knihy jak o verzi 2 tak i o verzi 3. Zde je krátký seznam.

Verze 2 
 Learning to Program with Alice, Wanda Dann, Steve Cooper, Randy Pausch; 
 Exploring Wonderland: Java Programming Using Alice and Media Computation, Wanda Dann, Steve Cooper, Barbara Ericson; 
 Alice in Action: Computing Through Animation, Joel Adams; 
 Alice in Action with Java, Joel Adams; 
 Starting Out with Alice: A Visual Introduction to Programming, 2/E, Tony Gaddis; 
 An Introduction to Programming Using Alice 2.2, Charles W. Herbert; 
 Fluency with Alice: Workbook for Fluency with Information Technology: Skills, Concepts and Capabilities, Robert Seidman, Phil Funk, Jim Isaak, Lundy Lewis; 
 Programming with Alice and Java, John Lewis, Peter DePasquale; 
 Alice 2.0: Introductory Concepts and Techniques, Gary B. Shelly, Thomas J. Cashman, Charles W. Herbert; 
 Alice: The Programming Language (supplement), Jose Garrido;

Verze 3 
 Learning Java Through Alice (2nd Edition), Tebring Daly, Eileen Wrigley; 
 Alice 3 in Action: Computing Through Animation, Joel Adams; 
 Alice 3 in Action with Java, Joel Adams;

Tutoriály na webu 
Kromě knih je možné nalézt na webu i mnoho učebních materiálů a tutoriálů a to nejen v textové formě ale také v podobě spousty videí, které se dají najít na YouTube. Několik tutoriálů je možné najít například na stránkách Alice Tutorials: Computer Programming in 3D nebo Alice Programming Tutorial. Pokud však toužíte po tutoriálech ve stylu videí, můžete je najít například na stránce Duke University Alice Materials Tutorials Repository a nebo na YouTube kanálu uživatele Mike Aben kde naleznete celý seznam videí o programovaní v jazyce Alice.

Externí odkazy 
 Alice Tutorials: Computer Programming in 3D
 Alice Programming Tutorial, by Richard G. Baldwin
 Duke University Alice Materials Tutorials Repository
 Mike Aben, YouTube kanál

Reference 

Programovací jazyky
Vzdělávací software