Úvody do světa IT (A), Večerní škola programování (B)
Základy (A)A.1) první kapitola
- úvod
- bity, byty
- číselné soustavy (decimální, binární, hexadecimální, base64)
- znakové sady ASCII, ANSI, UTF
- vektory, rastry, rozlišení, RGB[A] a jeho zápis v hexu
- datové typy
- data jako řetěz 0 a 1 zapisovaný nejčastěji dvojmístným hexem, protože ten se rovná 8b, tedy 1B
- data na disku - soubory a jejich názvy
- koncept formátu souborů
- kategorizace formátů a detailnější představení těchto kategorií
- vývoj formátů, komprese
- výpočetní technika
- základní komponenty a dvojice komponentů se shodnou podstatou: RAM-HDD/SSD, GPU-CPU
- přechod od hardwaru k softwaru (BIOS > operační systém > jednotlivé programy)
- MS-DOS, příkazový řádek a soubory typu .bat (batch files), základní instrukce
- představení stroje typu "server" jakožto nám běžně známého počítače
- IT profese či ustáleně odlišené náplně práce
- Výběr slavných osobností útvářejících svět IT
- Internet a výběr témat s ním spjatých:
- ip a MAC adresa
- domény, hosting
- protokoly
- server-klient a request-response
- World Wide Web (www) - 3 pilíře: HTTP, HTML, URL
- frontend a backend, zařazení pojmů HTML, CSS, Javascript, PHP
- cookies, cookies a reklamy
Zip s příklady (Lekce A):
Soubory s příklady ke stažení
- BMP obrázek 4x4 pixelů k přednášce č. 2 (otevřít v hex editoru, viz níže, a porovnat s dokumentací formátu BMP)
- soubory TXT < CSV < XML < HTML < RTF < DOCX jako textové soubory od prostého plaintextu, přes plaintext strukturovaný (CSV, XML, HTML) po přechod k binárnímu souboru (RTF) až po lidsky nepochopitelný DOCX (přednáška č. 2)
- zatajené zipy: .docx, .kra a další (sazím na projekt photoshopu PSD třeba)
- obrázek vnitřností PC k přednášce č. 3 (personal computer, výpočetní stroj typu velká krabice; komponenty shodné víceméně všem výpočetním strojům)
Teoreticko-praktický úvod do programování (B)
[2019-11-24] Na obsahu se pracuje
B.1) první kapitola
- programování ve webovém prostředí
- Deklarativní a imperativní paradigma v programování
- známé programovací jazyky
- podstata imperativního programování
- jádrové a externí knihovny kódu
- Datové typy
- proměnné a reference
- logické hodnoty true/false a jejich operátory
- podmínka IF
- cykly (for, while, [foreach])
- Pojem dokumentace
- funkce, procedury, metody a jejich parametry a argumenty
- Princip definice kódu či hodnot na jednom místě
- algoritmizace
- pojmy objekt a třída
- deklarace tříd
- instanciace nového objektu třídy
- obsahy tříd (pole a metody)
- konstruktor
- klíčové slovo $this a jeho koncept
- dynamická kontrola objektu jakožto objektu určité třídy
- přístupové modifikátory (public/private)
- objekt jako hodnota
- rozhraní
Příklady z programování (Lekce B):
- ukázky všeho možného potřebného ohledně objektů: https://drive.google.com/open?id=1c49g_Ici6CVxapEI72YyIiSe3m-WxCW9
Programy, utilitky:
- libovolný editor bytů souborů - zde představený hex editor (editace bytů pomocí zapisování čísel v hexadecimálním formátu) HxD (https://mh-nexus.de/en/hxd/)
- libovolný editor plain textu: poznámkový blok ve Windows; Notepad++ (zná některé formáty jako například XML a podbarvuje části textu dle struktury, což napomáhá psaní a orientaci)
- Malování (mspaint.exe) ve Windows jakožto základní editor obrázků pomocí zabarvování pixelů; Krita (https://krita.org/en/) jako opensource, uživatelsky přátelská, alternativa Photoshopu či jiného propracovanějšího grafického editoru
- Audacity (https://www.audacityteam.org/): všestranný a lehko použitelný opensource zvukový editor
- Blender 3D (https://www.blender.org/): volný (nikoli opensource) program na 3D modelování a animaci (profesionální úroveň)
- Unity 3D (https://unity3d.com/): framework + IDE (volný, dokud nezačnete svým produktem vydělávat větší peníze) pro vytváření 3D, 2D, VR počítačových her
- Total Commander (https://www.ghisler.com/) aka "ten ošklivý průzkumník": všestranný nástroj pro operace se soubory (umožňuje například hromadná přejmenování souborů včetně určité logiky)
Odkazy:
- MIT Courseware (je to neuvěřitelné, ale chcete-li studovat na MIT a nepotřebujete z toho zrovna titul, moc tomu nebrání): a tady konkrétně úvod do programování [v Pythonu, ale o to tam nejde] Introduction to Computer Science and Programming in Python [není to nepochopitelné, ale spíše jen pro vážné zájemce]
- Webové stránky typu Stack Exchange, zejména Stack Overflow (poradna a skladiště vyřešených problémů a nejasností v souvislosti s programováním) a Super User (jako Stack Overflow, ale se zaměřením na pokročilé uživatele výpočetní techniky)
Nabídka témat (lekce B)
- zatím neutříděná, možná, temata:
- historické/základní a moderní běžně užívané programovací jazyky (názvy)
- pojmy deklarativní a imperativní programovací jazyky
- pojem turingovsky kompletního programovacího jazyka
- pojmy syntax a sémantika
- opensource a knihovny (koncept "na ramenech obrů" a nesmyslnost "from scratch")
- algoritmizace (dětské hry), schematické zápisy, pseudokód (často užívané syntakční prvky)
- princip definice funkce/hodnoty na jednom místě (také číselníky)
- OOP vs procedurální spaghetti kód, statické vs volné typování
- koncept zpětné kompatibility
- koncept komplexity, big O
- koncept hashe (model síta či filtru)
- šifrování, šifrovaná konverzace (model dvou roztoků), https, privátní a veřejný klíč, certifikáty, podepsané soubory
- synchronní a asynchronní funkce (AJAX)
- dokumentace - kódu (komentáře a skutečné docs) + uživ
- git, resp. version control system (vcs), diff (koncept; zachrána, verze, spolupráce)
- beta verze, testování, profilery, webové analytiky
SQL?
Creation: 2019-02-15 22:04:03 | Authors: Demo