Download - Úvod do programování aneb Do nitra stroje
![Page 1: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/1.jpg)
Úvod do programování aneb Do nitra stroje
Karel MinaříkPŘEDNÁŠKA 1
![Page 2: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/2.jpg)
Úvod do programování
www.google.com/search?q=karel+minařík1
![Page 3: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/3.jpg)
Úvod do programování Přednáška 1
Karel Minařík
→ Absolvent FFUK, obor filosofie → DIPLOMOVÁ PRÁCE: Exaktní fantazie. Umění jako kritika a záchrana skutečnosti v Adornově Estetické teorii
→ Web designer a vývojář na volné noze od roku 2000
→ Art Director / Informační architekt ve společnosti ILIKETHIS!
→ Výuka web designu na Institutu Digitálních Médií
→ Blog o Ruby on Rails na http://blog.karmi.cz
→ KONZULTAČNÍ HODINY: středa 12.00—13.30→ KONTAKT: [email protected]
![Page 4: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/4.jpg)
Úvod do programování
A vy?2
![Page 5: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/5.jpg)
Úvod do programování Přednáška 1
→ Co jste studovali v bakalářském studiu?
→ Proč studujete/zajímáte se o Studia nových médií?
→ Jaké máte zkušenosti s programováním?
![Page 6: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/6.jpg)
Úvod do programování
Proč se na Studiích nových médií zabývat programováním?3
![Page 7: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/7.jpg)
Úvod do programování Přednáška 1
„Používat nějaký nástroj na počítači vyžaduje zřídkakdy více
než umět klikat myší; vytvořit takový nástroj vyžaduje
rozumět tajemnému umění programovat počítač“
— John Maeda, Creative Code
![Page 8: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/8.jpg)
Úvod do programování Přednáška 1
![Page 9: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/9.jpg)
Úvod do programování Přednáška 1
![Page 10: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/10.jpg)
Úvod do programování Přednáška 1
Jared Tarbell: Substrate (www.complexification.net)
![Page 11: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/11.jpg)
Úvod do programování Přednáška 1
Orientace na rozumění člověku a společnosti SPOLEČENSKÉ VĚDY
×
PŘÍRODNÍ VĚDY
Orientace na rozumění přírodě a postižení zákonitostí
![Page 12: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/12.jpg)
Úvod do programování Přednáška 1
Demytologizace světa
![Page 13: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/13.jpg)
Úvod do programování Přednáška 1
![Page 14: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/14.jpg)
Úvod do programování Přednáška 1
Rozumět
![Page 15: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/15.jpg)
Úvod do programování Přednáška 1
![Page 16: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/16.jpg)
Úvod do programování Přednáška 1
Frustrace
![Page 17: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/17.jpg)
Úvod do programování Přednáška 1
Vztah ke stroji
![Page 18: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/18.jpg)
Úvod do programování Přednáška 1
![Page 19: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/19.jpg)
Úvod do programování Přednáška 1
![Page 20: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/20.jpg)
Úvod do programování Přednáška 1
Co je praktickým cílem našeho kursu?
![Page 21: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/21.jpg)
Úvod do programování Přednáška 1
Zabýváme se „počítači“
Jak počítače ovlivnují svět?
„Nová média“
Co se děje v „nitru stroje“?
Jak se mu „udílí příkazy“?
Kdo mu je udílí?
ˇ
![Page 22: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/22.jpg)
Úvod do programování Přednáška 1
![Page 23: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/23.jpg)
Úvod do programování
Kontext vs. konzistenceaneb „Jak uvažuje programátor?”4
![Page 24: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/24.jpg)
Úvod do programování Přednáška 1Ada Lovelace (1815—1852)
![Page 25: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/25.jpg)
Úvod do programování Přednáška 1
…the Engine might compose elaborate and scientific pieces of music of any degree of complexity or extent.— Ada Lovelace
![Page 26: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/26.jpg)
Úvod do programování Přednáška 1
Příslib techniky
![Page 27: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/27.jpg)
Úvod do programování Přednáška 1
„Programátoři počítačů píšou, testují a udržují v chodu detailní instrukce, nazývané počítačové programy, které počítače dodržují, aby vykonávaly své funkce. Programátoři také vymýšlejí, navrhují a testují logické struktury pro řešení problémů za pomoci počítače.“—Wikipedia.org
![Page 28: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/28.jpg)
Úvod do programování Přednáška 1
![Page 29: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/29.jpg)
Úvod do programování Přednáška 1
Použitelnost — ergonomie ovládáníUsability
![Page 30: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/30.jpg)
Úvod do programování Přednáška 1
Donald A. Norman, The Design of Everyday Things (1988)
Ovládací prvky elektrického vařičeKterá plotýnka se ovládá kterým knoflíkem?
![Page 31: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/31.jpg)
Úvod do programování Přednáška 1
![Page 32: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/32.jpg)
Úvod do programování Přednáška 1
HLEDISKO UŽIVATELE
Kontext×
KonzistenceHLEDISKO PROGRAMÁTORA
![Page 33: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/33.jpg)
Úvod do programování Přednáška 1
PŘÍKLAD
Storno objednávek v aplikaci
![Page 34: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/34.jpg)
Úvod do programování Přednáška 1
Programátoři obtížně řeší kontextově závislé úlohy.
Na rozdíl od počítačů.
![Page 35: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/35.jpg)
Úvod do programování
Algoritmus5
![Page 36: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/36.jpg)
Úvod do programování Přednáška 1
Algoritmus je základem každého programu
Algoritmus je sekvence příkazů
![Page 37: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/37.jpg)
Úvod do programování Přednáška 1
Algoritmus je konečný seznam uspokojivě definovaných instrukcí pro splnění určitého úkolu. Z počátečního stavu algoritmus skončí v definovaném konečném stavu.
— Wikipedia
![Page 38: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/38.jpg)
Úvod do programování Přednáška 1
1. Nalít olej do pánve2. Zapálit plyn3. Vzít vejce4. Rozklepnout vejce o okraj pánve
![Page 39: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/39.jpg)
Úvod do programování Přednáška 1
? Vzít pánev1. Nalít olej do pánve2. Zapálit plyn3. Vzít vejce4. Rozklepnout vejce o okraj pánve
![Page 40: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/40.jpg)
Úvod do programování Přednáška 1
? Najít pánev? Najít olej1. Nalít olej do pánve2. Zapálit plyn3. Vzít vejce4. Rozklepnout vejce o okraj pánve
![Page 41: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/41.jpg)
Úvod do programování Přednáška 1
? Najít pánev? Najít olej1. Nalít olej do pánve2. Zapálit plyn? Čím zapálit plyn3. Vzít vejce4. Rozklepnout vejce o okraj pánve
![Page 42: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/42.jpg)
Úvod do programování Přednáška 1
? Najít pánev? Najít olej1. Nalít olej do pánve2. Zapálit plyn? Čím zapálit plyn3. Vzít vejce4. Rozklepnout vejce o okraj pánve
![Page 43: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/43.jpg)
Úvod do programování Přednáška 1
? Najít pánev? Najít olej1. Nalít olej do pánve2. Zapálit plyn? Čím zapálit plyn3. Vzít vejce4. Rozklepnout vejce o okraj pánve
OK
Fatal Error
Do!ly vejce
Cancel
![Page 44: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/44.jpg)
Úvod do programování Přednáška 1
VLASTNOSTI ALGORITMU
1. Konečnost
2. Determinovanost
3. Vstup
4. Výstup
5. Efektivita
6. Obecnost
http://cs.wikipedia.org/wiki/Algoritmus
˚
![Page 45: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/45.jpg)
Úvod do programování Přednáška 1
JEDNODUCHÝ ALGORITMUS
Nalezení největšího čísla z neuspořádaného seznamu číselhttp://en.wikipedia.org/wiki/Algorithm#Example
![Page 46: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/46.jpg)
Úvod do programování Přednáška 1
POPIS
1. Předpokládejme, že první číslo v seznamu je největší.
2. Podívejme se na postupně na každé zbývající číslo v seznamu. Pokud je větší než dosud největší číslo, zapišme si je.
3. Jakmile jsme prošli všechna čísla, je poslední zapsané číslo největším číslem v seznamu.
![Page 47: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/47.jpg)
Úvod do programování Přednáška 1
FORMÁLNÍ ZÁPIS V ANGLIČTINĚ
Algorithm LargestNumberInput: A non-empty list of numbers LOutput: The largest number in the list L
largest ← L0for each item in the list L≥1, do if the item > largest, then largest ← the itemreturn largest
![Page 48: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/48.jpg)
Úvod do programování Přednáška 1
ZÁPIS V PROGRAMOVACÍM JAZYCE
1 input = [1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19]2 largest = input.first3 input.each do |i|4 largest = i if i > largest5 end6 print "Nejvyšší číslo je: #{largest}"
![Page 49: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/49.jpg)
Úvod do programování Přednáška 1
ZÁPIS V PROGRAMOVACÍM JAZYCE
1 input = [1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19]2 largest = input.first3 input.each do |i|4 largest = i if i > largest5 end6 print "Nejvyšší číslo je: #{largest}"
„tajemné umění programovat počítač“
![Page 50: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/50.jpg)
Úvod do programování Přednáška 1
ZÁPIS V PROGRAMOVACÍM JAZYCE
1 input = [1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19]2 largest = input.first3 input.each do |i|4 largest = i if i > largest5 end6 print "Nejvyšší číslo je: #{largest}"
„tajemné umění programovat počítač“
Syntax
![Page 51: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/51.jpg)
Úvod do programování
Programovací jazyk Ruby6
![Page 52: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/52.jpg)
Úvod do programování Přednáška 1
5.times { print "Hurá!" }
print ["banán", "citron", "ananas"].sort.last.capitalize
Syntax
![Page 53: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/53.jpg)
Úvod do programování Přednáška 1
class Pes def velikost return @velikost end def stekej print “Haf!” endend
Objektově orientovaný jazyk
OBJEKT Pes věc/podstatné jménoVLASTNOST malý vlastnost/přídavné jméno METODA stekej činnost/sloveso
![Page 54: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/54.jpg)
Úvod do programování Přednáška 1
Knihovny
…google-geo (2.0, 1.0) A simple, elegant library for getting geocoding information from Google Maps.…googlecalendar (0.0.5, 0.0.4, 0.0.3, 0.0.2) Google Calendar api for Ruby…iphoto2 (1.0.1, 1.0.0) iphoto contains methods to parse and access the contents of the iPhoto pictures.…net-sftp (1.1.0, 1.0.1, 1.0.0, 0.9.0, 0.5.0) Net::SFTP is a pure-Ruby implementation of the SFTP client protocol.…pdf-writer (1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.1, 1.0.0) A pure Ruby PDF document creation library.…yahoo-weather (1.0.0) A Ruby object-oriented interface to the Yahoo! Weather service.…youtube (0.8.6, 0.8.5, 0.8.0, 0.1.1, 0.1.0, 0.0.1) A Ruby object-oriented interface to the YouTube REST API.…
![Page 55: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/55.jpg)
Úvod do programování Přednáška 1
Zdroje (viz www.ruby-lang.org/en/documentation)
www.pine.fm/LearnToProgram (původní verze)
![Page 56: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/56.jpg)
Úvod do programování Přednáška 1
www.poignantguide.net/rubyNEJBLÁZNIVĚJŠÍ UČEBNICE PROGRAMOVÁNÍ NA SVĚTĚ
![Page 57: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/57.jpg)
Úvod do programování Přednáška 1
Ruby on Rails!
![Page 58: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/58.jpg)
Úvod do programování Přednáška 1
Ruby on Rails
![Page 59: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/59.jpg)
Úvod do programování Přednáška 1
Vyzkoušejte na http://tryruby.hobix.com
![Page 60: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/60.jpg)
Úvod do programování
Plán kursu7
![Page 61: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/61.jpg)
Úvod do programování Přednáška 1
PLÁN KURSU
→ Historie programovacích jazyků
→ Rozdělení programovacích jazyků
→ Základní elementy programovacího jazyka: řetězce (texty), čísla, pole, kolekce, podmínky, smyčky, proměnné, …
→ Objekty a objektově orientované programování (versus ostatní typy)
→ Grafické rozhraní (GUI). Web jako grafické rozhraní aplikací
→ Diagramy, wireframes, skici, pomůcky, nástroje
→ Testování software
→ Vedení softwarového projektu
ÚKOLYPráce s čísly a textem
LITERATURA
→ Chris Pine, Learn to Program (Amazon.com za $13.57 nebo www.pine.fm/LearnToProgram)
Možné pokračování v dalším semestru: Architektura webových aplikací a Ruby on Rails
![Page 62: Úvod do programování aneb Do nitra stroje](https://reader034.vdocuments.net/reader034/viewer/2022042623/55383d934a7959f66c8b46ca/html5/thumbnails/62.jpg)
Děkuji!