praktický kurz
čo to je
Naraz (1991-1992) výber jazyka Si Ako hlavný programovací jazyk na hodinách matematiky sa autor potýkal s problémom nedostatku normálnych učebníc, ktoré by bolo možné odporučiť školákom. To ho prinútilo písať svoje poznámky z prednášok, ktoré by sa dali nazvať „Praktický kurz programovania v Si» — obsahovala informácie, ktoré autor skutočne potreboval v praxi. Dlhoročné pedagogické skúsenosti ukázali, že noty sú naozaj žiadané a sú hojne využívané školákmi aj absolventmi.
Vývojové prostredie je bezplatný, open source Dev-C++ shell, ktorý obsahuje kompilátor GCC.
Autor bude vďačný za spätnú väzbu a konštruktívnu kritiku týkajúcu sa obsahu a dizajnu týchto materiálov.
Ak si všimnete chybu alebo máte návrhy, pripomienky, sťažnosti, žiadosti alebo vyjadrenia, napíšte.
- Licenčná zmluva
- 1) zverejňovanie materiálov v akejkoľvek forme, vrátane zverejňovania materiálov na iných webových stránkach;
- 2) distribúcia nekompletných alebo pozmenených materiálov;
- 3) zahrnutie materiálov do zbierok na akomkoľvek médiu;
4) získavanie komerčných výhod z predaja alebo iného použitia materiálov.
Sťahovanie materiálov znamená, že súhlasíte s podmienkami tejto licenčnej zmluvy.
Stiahnuť Abstrakt je voľne distribuovaný vo formáte PDF
- . Na zobrazenie je potrebný bezplatný Acrobat Reader. Osnova kurzu je rozdelená do 4 častí: 29.03.2014
Úvod do programovania v C (860 Kb) - Štúdium základných jazykových konštruktov a techník písania programov. 21.11.2013
Ukladanie a spracovanie dát (792 KB) - Jazyk C: polia, matice, štruktúry, reťazce znakov, štruktúry, rekurzia. 01.03.2014
Vývoj programov v jazyku C (937 Kb) - Techniky návrhu programu, štruktúrované programovanie, celočíselné algoritmy, numerické metódy, modelovanie. 11.06.2009
Dynamické dátové štruktúry v jazyku C (666 KB)
Zoznamy, zásobníky, stromy, grafy.
Prezentácie
Učitelia a študenti môžu mať prospech z prezentácií založených na tomto zhrnutí. Môžete si ich stiahnuť na stránke Prezentácie.
Metodológia Si: cykly, podmienené príkazy, procedúry. Štúdium sekcií týkajúcich sa grafiky a animácie je veľmi úspešné.
8. trieda
Program obsahuje nasledujúce časti (časť súhrnu je uvedená v zátvorkách): Polia (II), Práca so súbormi (II), Reťazce znakov (II), Rotujúce objekty (III), Modelovanie (III). Osobitná pozornosť sa venuje štúdiu algoritmov pre prácu s poliami vrátane vyhľadávania, triedenia atď. Je uvedený pojem efektívnosti výpočtových metód.
9. ročníka
Hlavný dôraz je kladený na štúdium metódy vývoja softvéru v jazyku Si. Študenti absolvujú samostatnú úlohu, počas ktorej sa naučia zostavovať grafy na obrazovke, oboznamujú sa s transformáciami súradnicových systémov, študujú metódy riešenia rovníc, oboznamujú sa s numerickými metódami a naučia sa správne navrhovať programy (oddiely 1-2 časti III). Jedna z úloh je venovaná použitiu Metóda Monte Carlo na výpočet plochy komplexnej postavy. Z nových sekcií aj študujeme Matice (II), polia reťazcov znakov (II). Koncept je predstavený ukazovatele a študujú sa s nimi najjednoduchšie operácie.
10. ročník
Učenie sa jazykov Si dosiahne vážnejšiu úroveň. Hlavné témy - Správa pamäte (II), rekurzia (II), štruktúry (II). Plánuje sa štúdium Pascalu ako druhého programovacieho jazyka. Od tohto momentu sa algoritmy na teoretických hodinách píšu striedavo v dvoch jazykoch.
11. trieda
Nejde ani tak o vlastnosti jazykov, ktoré sa študujú, ako o algoritmy. Hlavné časti - Numerické metódy (III), Modelovanie (III), Dynamické dátové štruktúry (IV).
Pochopte, ako fungujú slučky. Slučky sú jedným z najdôležitejších aspektov programovania, pretože umožňujú opakované spúšťanie jednotlivých blokov kódu, kým nie je splnená určitá podmienka. To uľahčuje písanie opakujúcich sa akcií programovo a ušetrí vám to nutnosť písať nové podmienky zakaždým, keď chcete, aby program niečo urobil.
- Existujú tri hlavné typy slučiek: FOR, WHILE a DO...WHILE.
Použite slučku FOR. Toto je najobľúbenejší a najužitočnejší z cyklov. Pokračuje vo vykonávaní danej funkcie, kým nie sú splnené podmienky nastavené v FOR. Cykly FOR vyžadujú zadanie troch podmienok: premenná, ktorá sa má inicializovať, podmienka, ktorá sa má splniť, a spôsob aktualizácie hodnoty premennej. Ak nepotrebujete všetky tieto tri podmienky, musíte na ich mieste nechať medzeru s bodkočiarkou, v takom prípade bude slučka trvať navždy.
#include
- Vo vyššie uvedenom programe je počiatočná hodnota premennej y nula a cyklus pokračuje, kým hodnota premennej nezostane menšia ako 15. Zakaždým, keď sa zobrazí nová hodnota y, zvýši sa o jednotku a cyklus sa opakuje. Akonáhle sa premenná y rovná 15, cyklus sa skončí.
Použite slučku WHILE. WHILE slučkyľahšie ako slučky FOR. Nastavia len jednu podmienku a cyklus beží, pokiaľ je táto podmienka splnená. Tu nemusíte inicializovať ani aktualizovať premennú, ale to sa dá urobiť v hlavnej časti kódu samotnej slučky.
#include
- Príkaz y++ pridáva k hodnote premennej y jednotku vždy, keď sa cyklus vykoná. Akonáhle sa premenná y stane 16 (všimnite si, že cyklus musí byť vykonaný, kým sa premenná menšie alebo rovné 15), cyklus sa zastaví.
Aplikujte slučku D.O...KÝM. Táto slučka je veľmi užitočná v prípadoch, keď je potrebné vykonať operácie slučky aspoň raz. V cykloch FOR a WHILE sa podmienka kontroluje na úplnom začiatku, to znamená, že ak sa získa falošný výsledok, operácia špecifikovaná podmienkou sa preskočí a nevykoná sa. Cyklus DO...WHILE kontroluje podmienky na samom konci, čo umožňuje vykonať cyklus aspoň raz.
#include
- Táto slučka zobrazí zamýšľanú správu, aj keď test stavu zlyhá. Premenná y je nastavená na päť a cyklus sa musí opakovať vždy, keď sa premenná nerovná piatim, takže cyklus sa opustí. Správa sa na obrazovke zobrazí raz, pretože stav sa kontroluje až na samom konci.
- Klauzula WHILE v slučke DO...WHILE musí končiť bodkočiarkou. Toto je jediná slučka, ktorá vyžaduje bodkočiarku na konci.
C je pomerne „starobylý“ programovací jazyk, ktorý vznikol začiatkom 70. rokov. Napriek tomu je C živý jazyk v tom zmysle, že sa dnes aktívne používa. Bol vynájdený, používaný a používa sa na písanie významných častí programového kódu operačných systémov podobných Unixu. Používa sa tiež na písanie pomôcok, kompilátorov a menej často aplikačných programov. Preto sa C nazýva systémový programovací jazyk.
Jeho životnosť možno vysvetliť tým, že princípy fungovania operačných systémov sú relatívne univerzálne, nepodliehajú pokroku a rôznorodosti, ktorú možno pozorovať v prostredí desktopových a mobilných softvérov a webových aplikácií. C nie je jazyk na vysokej úrovni, má bližšie k počítačovej architektúre. Vďaka tomu sú programy v jazyku C kompaktné a rýchle.
C nepodporuje objektovo orientované programovanie. Podpora OOP je implementovaná v C++. Hoci ten druhý vzišiel z jazyka C, nie je jeho „pokračovaním“, ale je samostatným jazykom, ktorý sa dá naučiť bez znalosti jazyka C. Naučiť sa však C je užitočné skôr, ako spoznáte jeho „pokročilého brata“, pretože Syntax jazykov je podobná, C nepreťažuje mozog začínajúceho programátora superschopnosťami a učí ho pochopiť podstatu toho, čo sa deje.
Je C dobré na to, aby ste sa prvýkrát dostali do programovania? Ak neštuduješ na vysokej škole v odbore súvisiacom s IT, tak nie. C vyžaduje pochopenie organizácie a princípov fungovania hardvéru, najmä pamäte. Veľa z toho sa robí pomocou ukazovateľov, ktoré zohrávajú kľúčovú úlohu; táto téma je dosť náročná na pochopenie a v škole sa väčšinou neštuduje.
Samozrejme, môžete sa naučiť základy programovania v C bez toho, aby ste sa museli učiť ukazovatele. Avšak človek si bude myslieť, že pozná C bez toho, aby o ňom vedel veľa v podstate. Jazyk C bol vytvorený hardvérovo zdatnými profesionálnymi programátormi na napísanie operačného systému UNIX. Nebol určený ako jazyk na výučbu začiatočníkov.
Prostredia a kompilátory pre programovanie v C
Ak používate niektorú z distribúcií GNU/Linux, postačí akýkoľvek textový editor so zvýraznením syntaxe, budete potrebovať aj GCC a terminál.
Existujú editory pre programátorov, ktoré obsahujú rôzne doplnky, vrátane terminálu, prehliadania adresárov atď. Napríklad Geany alebo Atom.
C je kompilovaný programovací jazyk. V GNU/Linux sa na získanie spustiteľných súborov používa GCC - sada kompilátorov vrátane kompilátora pre C. Na získanie spustiteľného súboru zo zdrojového súboru (takéto súbory majú zvyčajne príponu *.c) je potrebné spustite príkaz v termináli, ktorý vyzerá takto:
gcc -o ahoj ahoj.c
Kde gcc je príkaz, ktorý spúšťa program, ktorý vykonáva kompiláciu a iné akcie; -o – prepínač označujúci, že manuálne zadávame názov spustiteľného súboru; ahoj – názov výsledného spustiteľného súboru; hello.c je názov súboru so zdrojovým kódom. Názov spustiteľného súboru možno vynechať:
gcc ahoj.c
V tomto prípade bude mať spustiteľný súbor predvolený názov a.out.
Windows má vlastnú sadu kompilátorov - MinGW. Dá sa používať samostatne, ale je súčasťou jednoduchého vývojového prostredia Dev-C++, ktoré môže byť dobrou voľbou pre učenie sa programovania v C a C++.
Pri ukladaní zvoľte typ súboru „C source files (*.c)“. Program sa skompiluje a spustí stlačením klávesu F9. Po vykonaní sa program okamžite zatvorí a výsledok nie je viditeľný. Aby ste tomu zabránili, napíšte dva ďalšie riadky: #include
"Hello World" v GNU/Linux:
#include
"Ahoj svet" v systéme Windows:
#include
getch();
)
Na druhej strane existuje veľké množstvo multiplatformových vývojových prostredí. Napríklad modul Eclipse + CDT, KDevelop, CLion. Ten je platený, vyrába ho JetBrains, líder vo vývoji IDE, ale má 30-dňovú skúšobnú dobu, čo môže stačiť na školenie. CLion je pohodlnejší ako iné IDE.
"Ahoj svet" v C
Na príklade jednoduchého programu si hneď všimneme niektoré vlastnosti programovacieho jazyka C.
V jazyku C preberá funkcia main() úlohu hlavnej vetvy programu. Táto funkcia musí byť vždy prítomná v kompletnom programe C a spúšťanie programu sa začína ňou. Premenné deklarované v ňom však nie sú globálne, ich rozsah sa vzťahuje len na main(). V programovacom jazyku C je však takmer celý programový kód obsiahnutý vo funkcii a funkcia main() je hlavnou a požadovanou funkciou.
V C nie sú I/O funkcie súčasťou jazyka. Napríklad v Pythone nepotrebujeme importovať žiadny modul, aby sme mohli používať funkcie print() a input(). V C nemôžeme jednoducho zavolať funkciu printf(), pretože Samotný C ho jednoducho nemá. Túto funkciu, ako aj množstvo ďalších, je možné aktivovať pomocou hlavičkového súboru stdio.h. To je presne dôvod, prečo je riadok napísaný na začiatku programu #include
Hlavičkové súbory (končia na *.h) zvyčajne obsahujú deklarácie určitých funkcií. Deklarácia je jednoducho popis funkcie: aké parametre berie a čo vracia. Samotný kód funkcie (definícia) sa nenachádza v hlavičkovom súbore, ale v knižniciach (iných súboroch), ktoré už môžu byť skompilované a umiestnené v systémových adresároch. Pred kompiláciou programu sa spustí preprocesor jazyka C Okrem iného obsahuje obsah hlavičkových súborov špecifikovaných v súbore programu na začiatku súboru programu.
Praktická práca
Zakomentujte prvý riadok kódu HelloWorld. Skúste skompilovať program. Podarilo sa vám získať spustiteľný súbor? Aké varovanie dal kompilátor?
1 // - jednoriadkový komentár v jazyku C; /* … */ - viacriadkový komentár v jazyku C.
Základy programovania
Základy programovania, základné pojmy a pojmy
Videokurz predstaví študentom základy programovania, základné pojmy a pojmy. Naučí vás vyvíjať algoritmy a poskytne vám skutočné skúsenosti s tvorbou webových produktov. Lekcie obsahujú prehľad aktuálnych programovacích jazykov a oblastí, pomáhajú študentom vybrať si tie, ktoré ich najviac zaujímajú, a poskytujú materiály a pokyny pre ďalší profesionálny rozvoj.
Lekcia 3. Prvý program
Výber programovacieho jazyka. Príprava prehliadača. Program "Ahoj, svet!"
Lekcia 4. Premenné
Inštalácia pohodlného editora kódu. Úvod do premenných. Jednoduchá kalkulačka.
Lekcia 5. Dátové typy
Typy údajov. Operácie s rôznymi typmi údajov. Konverzia typu údajov.
Lekcia 6. Algoritmy a vývojové diagramy
Algoritmické myslenie. Vizuálne vývojové diagramy.
Lekcia 7. Operátor pobočky ak
Výber možností v programe. Prevádzkovateľ pobočky ak. Hra hádaniek.
Lekcia 8. Logické operácie
Zložité podmienky výberu. Logické AND, ALEBO. Hra "Angry Birds".
Lekcia 9. Robte, while slučky
Slučky Do a while. Hranie ruskej rulety.
Lekcia 10. Pre slučku
Slučka for. Finančná kalkulačka.
Lekcia 11. Polia
Veľké súbory údajov a polia. Ruleta.
Lekcia 12. Funkcie
Funkcie. Príprava na písanie hry „Black Jack (21)“.
Lekcia 13. Hra "Black Jack". Časť 1
Písanie plnej hry. Základom je rozdávanie kariet a počítanie bodov.
Lekcia 14. Hra "Black Jack". Časť 2
Dokončenie písania hry. Určenie výsledkov a víťaza.
Lekcia 15. Programátorská kariéra
Prehľad hlavných smerov v programovaní. Ako si vybrať programovací jazyk? Čo ďalej študovať?
Úvod do Git
Základy Git
V priebehu 13 videí vás prevedieme základmi systému správy verzií Git. Poďme zistiť, prečo je to dôležité v modernom vývoji a kolaboratívnom programovaní. Poďme sa zoznámiť so základnými pojmami Git: repozitáre, commity, vetvy a značky. Naučme sa základné operácie: vytváranie a klonovanie úložiska, zlučovanie vetiev, vyžiadanie histórie zmien a mnoho ďalšieho. Pozrime sa, ako zadať domácu úlohu pomocou Git. Toto je základný kurz, po ktorom sa môžete začať učiť akýkoľvek programovací jazyk. Okrem toho budete pripravení na pohovor, kde sa zvyčajne niekoľko otázok zameriava na systém správy verzií.
Lekcia 1. Úvod do systémov správy verzií
Čo je to systém správy verzií?
Typy systémov na správu verzií
Git a jeho výhody
Dokumentácia
Lekcia 2. Práca s príkazovým riadkom
Čo je príkazový riadok?
Prečo je príkazový riadok dôležitý?
Ako otvoriť príkazový riadok?
Užitočné príkazy
Lekcia 3. Lokálna práca s úložiskom Git
Úvod do konzolového klienta
Nastavenie Git
Inicializácia úložiska
Klonovanie úložiska
Grafickí git klienti
Lekcia 4. Základné operácie
Indexovanie
Zmeny publikovania
Zaväzuje sa
Zrušiť indexovanie
Aktuálny stav
Lekcia 5. História projektu git
História zmien
Vrátenie podľa histórie projektu
Zmena kreditov: git vina
Ignorovanie súborov .gitignore
Webová stránka gitignore.io
Vedenie zložiek.keep
Lekcia 6. Pobočky
Vedenie pobočky
Vytváranie a odstraňovanie pobočiek
Prepínanie medzi vetvami
Konfliktné metódy a ich riešenie
git merge
Lekcia 7: Vytvorenie vzdialeného úložiska Git
Hosting Git (GitHub, GitLab, Bitbacket)
Vytvorenie vlastného úložiska bare-git
Zaregistrujte sa na GitHub
Publikovanie zmien do vzdialeného úložiska
Lekcia 8. Vymazané pobočky
Názvy úložísk
Viaceré úložiská v jednom projekte
.git/config
Správa pobočiek na vzdialenom úložisku
Lekcia 9. Verzia
Metódy verzovania
Značky a ich vzťah k záväzkom
Pridanie značky
Odstránenie značky
Správa značky na vzdialenom úložisku
Lekcia 10. Zlučovanie a prevody
Zlúčime zmeny. git merge
Posúvame konáre. git rebase
Pohybujúce sa záväzky. git cherry pick
Zlúčime záväzok do jedného. git squash
Háčiky
Prezývky
Lekcia 11. Gitflow
Ako sa používa a prečo?
Testovacie cykly
Prípadne modrá/zelená
Uvoľnite vetvy
Rýchle opravy
Lekcia 12. SSH
protokol SSH
Prečo sa používa?
Vytváranie kľúčov
Preposielanie
SSH agent
Kopírovanie súborov cez SSH
Windows: Git pre Windows
Používanie SSH s Git
Lekcia 13. Odovzdávanie domácich úloh cez Git
Základy databázy. 20 lekcií.
Návrh databázy a SQL dotazy
Databázy (DB) sú systémy na ukladanie a spracovanie údajov, ku ktorým sa pristupuje pomocou jazyka SQL (Structured Query Language). Každá moderná webová stránka, hra alebo desktopová aplikácia potrebuje úložisko dát. V súčasnosti existuje veľa rôznych systémov správy databáz (DBMS), z ktorých najpopulárnejší je MySQL. „Základy databázy“ je 20 intenzívnych video lekcií (každá 10 minút), kde prejdeme všetkými fázami návrhu databázy na príklade internetového obchodu s použitím dotazovacieho jazyka SQL. Po tomto kurze budete môcť používať rôzne databázy, ako napríklad MS SQL a Postgre Sql, pretože syntax SQL je pre ne prakticky rovnaká.
Lekcia 1: Relačné databázy
Aký je rozdiel medzi databázou a DBMS; aké databázy sa nazývajú relačné; prehľad moderných DBMS.
Lekcia 2. Inštalácia DBMS
Inštalácia MySql DBMS a grafickej aplikácie Mysql Workbench.
Lekcia 3. Návrh databázy, normálne formy
Návrh údajov v Exceli; normálne formy; primárny kľúč.
Lekcia 4. Príkaz SQL CREATE
Vytváranie tabuliek v GUI MySql Workbench; príkaz CREATE; dátové typy; pracovať v konzole.
Lekcia 5. Príkaz SQL INSERT
Vypĺňanie tabuliek údajmi pomocou grafického rozhrania; príkaz INSERT; AUTOMATICKÉ ZVÝŠENIE.
Lekcia 7. SQL príkazy DISTINCT, ORDER BY, LIMIT
Príjem a filtrovanie údajov pomocou príkazov SQL DISTINCT a LIMIT; triedenie pomocou príkazu ORDER BY.
Lekcia 9: Konzistencia údajov
Koncept konzistencie alebo konzistencie údajov.
Lekcia 10. Cudzí kľúč
Koncept cudzieho kľúča a obmedzenia hodnôt stĺpcov; ZAHRANIČNÉ KĽÚČOVÉ OBMEDZENIA.
Lekcia 11. Vytváranie tabuliek so vzťahom many-to-many
Pridanie košíka do databázy internetového obchodu.
Lekcia 12. Zložený primárny kľúč
Použitie zloženého primárneho kľúča pri navrhovaní tabuľky so vzťahom many-to-many.
Lekcia 13. Spájanie údajov z viacerých tabuliek
Získavanie údajov z niekoľkých vzájomne súvisiacich tabuliek; nekonzistentnosť prístupu pomocou viacerých SELECTov.
Lekcia 14. Operátor INNER JOIN
Spájanie údajov z viacerých tabuliek pomocou operátora INNER JOIN.
Lekcia 15. Operátori LEFT JOIN, RIGHT JOIN
Spájanie údajov z viacerých tabuliek pomocou operátorov LEFT JOIN a RIGHT JOIN.
Lekcia 16. Operátor UNION
Kombinovanie výsledkov viacerých SQL dotazov pomocou operátora UNION.
Lekcia 17. Agregačné funkcie
Agregačné funkcie COUNT, SUM, MIN, MAX.
Lekcia 18. GROUP BY operátor
Zoskupte vybranú množinu riadkov pomocou klauzuly GROUP BY.
Lekcia 19. Indexy
Filtrovanie v GROUP BY pomocou HAVING; zvýšenie rýchlosti vykonávania dotazov pomocou indexov.
Lekcia 20. Transakcie
Koncept transakcie; výpis TRANSAKCIE; ACID požiadavky na transakčný systém.
Linux. Pracovná stanica. 1 mesiac.
Precvičte si správu operačného systému Linux na počítači
GNU/Linux je populárny operačný systém, ktorý vedie na trhu serverového hardvéru a používa sa aj ako vstavaný operačný systém v priemyselných a spotrebiteľských zariadeniach a dokonca aj ako softvér pre stolné počítače. Komponenty GNU sa používajú aj v MAC OS X a GNU/Linux ovplyvňuje aj Windows. Znalosť Linuxu je nevyhnutná pre systémového administrátora, testera, webového programátora, špecialistu na informačnú bezpečnosť a každého vývojára s nárokom na stredný alebo vyšší status. Tento kurz pokrýva základy práce v Linuxe: základy práce v prostredí Linuxu, správu používateľov a oprávnení súborov, regulárne výrazy a písanie skriptov v bash, prácu s procesmi a správu zavádzania a služieb v Linuxe. Pochopenie základov programovania, číselných systémov (binárne, osmičkové, hexadecimálne) a booleovskej logiky
Lekcia 1. Úvod a inštalácia
Úvod do GNU/Linuxu. Čo je GNU, Linux a UNIX. Virtualizácia. Inštalácia Ubuntu do virtuálneho počítača. Základné funkcie Linuxu
Lekcia 2. Práca v grafickom a konzolovom režime
Konzola a grafický režim v Linuxe; príkazy konzoly; vytváranie a úprava súborov.
Lekcia 3. Súbory a povolenia v systéme Linux
Používatelia a práva v systéme Linux; práca so súbormi; vykonávanie operácií v mene superužívateľa.
Lekcia 4. Regulárne výrazy
Regulárne výrazy. Hľadať. sed.
Lekcia 5. Bash programovanie
Syntax. Tímy. Premenné. Riadiace štruktúry. Niektoré jednoduché skripty. Spúšťanie naplánovaných úloh pomocou cronu
Lekcia 6. Webové služby
Sieťové možnosti Linuxu. Webové služby. Nginx, Apache2. Poďme šifrovať. Sieťový filter netfilter a utility iptables.
Lekcia 7. Úvod do Gitu
Úvod do Git.
Lekcia 8. SOA a úvod do Dockera
Monolitická a SOA aplikačná architektúra. Úvod do Dockera
Lekcia 1. Úvod
Úvod do jazyka, stručná história. Prehľad softvéru. Základné pojmy jazyka. Premenné a dátové typy
Lekcia 2. Podmienky a slučky
Podmienky. Booleovská algebra a binárne výpočty. Cykly. Vyhlásenie o riadení slučky a prepínači
Lekcia 3. Funkcie, polia a ukazovatele
Funkcie. Ukazovatele. Polia. Viacrozmerné polia
Lekcia 4. Struny, štruktúry a práca s pamäťou
Čiary. Dátové štruktúry. Systém súborov. Dynamická alokácia pamäte
Kurz je určený ako pre začiatočníkov, tak aj pre tých, ktorí už ovládajú iné programovacie jazyky alebo jazyk C++, avšak na nedostatočnej úrovni, ako aj pre tých, ktorým chýba jasné pochopenie organizácie ukladania a spracovania dát v kompilovaných počítačových programoch. . C++ je univerzálny jazyk, ktorý kombinuje vlastnosti jazykov na vysokej a nízkej úrovni a umožňuje riešiť najrozsiahlejšie problémy vznikajúce pri programovaní. Kurz pomerne plne zoznamuje študenta so schopnosťami jazyka C++, ktoré sú mu vlastné na dosiahnutie týchto cieľov.
Lekcia 1. Kompilovaný jazyk. Etapy prekladu a montáže programov
- Prečo potrebujete C++?
- Vývojové nástroje v C++.
- Ako funguje kompilovaný jazyk.
- Etapy vysielania programu.
- Ako funguje zostavovací skript.
- Analýza domácich úloh.
Lekcia 2. Mená v programe. Dáta, typy, funkcie a premenné
- Názvy, typy a premenné.
- Premenná a číselná reprezentácia.
- Vypočítateľnosť.
- Funkcia. Pojem a význam.
- Funkcie a ich argumenty.
- Jednoduché polia.
- Analýza domácich úloh.
Lekcia 3. Zostrojenie algoritmu v C++
- Bloky. Koncept algoritmu Namespace.
- Podmienené operácie.
- Neustály viacnásobný výber.
- Cyklická podmienená prevádzka.
- Iteračný manažment (opakovateľnosť cyklu).
- Počítací cyklus.
- Výnimočné situácie.
- Analýza domácich úloh.
Lekcia 4. Procedurálne programovanie
- Zostavenie kostry projektu pre Qt Creator.
- Získame prístup k dátovému súboru.
- Format hack: dešifrovanie spôsobu ukladania údajov.
- Dekódovanie formátu PNM/PGM.
- Bočné transformácie údajov: čítanie rozmerov obrazu.
- Konštrukcia výstupného histogramu a dátového výstupu.
- Analýza návrhu programu napísaného procedurálnym štýlom.
Kurz pre začínajúcich vývojárov oboznámených so základmi jazyka C alebo C++. Pomôže vám pochopiť základné dátové štruktúry a základné algoritmy. Poskytuje všeobecné pochopenie procesov v rámci programu a základné zručnosti pri budovaní práce algoritmov. Kurz nie je viazaný na konkrétny programovací jazyk a napriek tomu, že je všetko vysvetlené na príklade C, poznatky možno aplikovať v akomkoľvek imperatívnom programovacom jazyku.
Lekcia 1. Úvod a zoznámenie
Lekcia 2. Zložitosť algoritmov a jednoduché algoritmy
Lekcia 4. Polia
Lekcia 5. Komplexné triedenie polí
Lekcia 6. Zásobníky, fronty a zoznamy
Lekcia 7. Dynamické dátové štruktúry
Lekcia 8. Stromy
Lekcia 9. Grafy
Lekcia 10. Hash tabuľky
Lekcia 11. Úvod do kryptografie
Objektovo orientované programovanie. 1 mesiac.
Ponorte sa do OOP
Kurz zoznamuje študentov s najlepšími programovacími technikami v C++. Preberú sa základné princípy efektívneho využitia objektovo orientovaného programovania na písanie programov, ako aj typické aspekty fungovania stream I/O knižnice. Počas školenia žiaci napíšu plnohodnotnú hru s využitím nadobudnutých vedomostí. Kurz je určený pre začínajúcich programátorov v C++, ktorí ukončili 1. úroveň – procedurálne programovanie.
Lekcia 1. Vymenované stavy
Exportovať názvy. Preťaženie názvu funkcie (globálne).
Ukladanie funkcií v stave. Stav dostupnosti menného priestoru. Kľúčové slová verejné a súkromné. Zavádzame pojem objekt. Zavádzame pojem trieda. Počiatočný uložený stav.
Lekcia 2. Dedičstvo
Riadenie prístupu k základnej triede. Konštruktéri a dedičnosť. Vytvorenie viacúrovňovej hierarchie tried. Ukazovatele na odvodené triedy. Jednoduché a viacnásobné dedičstvo.
Lekcia 3. Virtuálne funkcie a polymorfizmus
Základy virtuálnych funkcií. Čisté virtuálne funkcie a abstraktné triedy. Skorá a neskorá väzba. Preťažovanie funkcií a metód. Parametrický polymorfizmus
Lekcia 4. Vzťahy medzi objektmi v C++
Zloženie, agregácia, asociácia, závislosť. Kontajnerové triedy. Operátory konverzie typu. Príklady programov v C++
Lekcia 5: Funkcie a metódy zdieľania
Preťaženie operátora. Šablóny funkcií a tried. Explicitná a čiastočná špecializácia šablón. Príklady jednoduchých programov
Lekcia 6. I/O vlákna
Hierarchia tried prúdov. I/O operácie pre štandardné typy. Organizovanie I/O pre vlastné typy. Práca so súbormi a vyrovnávacími pamäťami v pamäti. Nástroje na formátovanie výstupov, manipulátory
Lekcia 7. Podpora modularity. Písanie hry Blackjack
Kompilačné jednotky. Rozdelenie na hlavičkové a implementačné súbory. Direktívy preprocesora, makrá a podmienená kompilácia. Písanie hry Blackjack
Lekcia 8. Mechanizmus výnimiek
Vzbudenie a spracovanie situácie. Skladanie stohu, prevedenie konštruktérov a deštruktorov. Podpora hierarchie tried.
Štandardné triedy výnimiek. Príklady programov využívajúcich výnimočné situácie
Kurz pre tých, ktorí sa pokračujú v programovaní v C++, je venovaný správe pamäte a práci s dátami na nízkej úrovni. Poskytuje predstavu o princípoch správy pamäte v programe C++, organizácii ukladania údajov a adresovaní funkcií. Samostatná časť kurzu hovorí o systéme typu C++ a transformáciách medzi reprezentáciami údajov. Okrem toho sú stručne znázornené možnosti predspracovania C++ s možnosťou generovania zdrojového textu počas prekladu.
Lekcia 1: Základy správy pamäte
Lekcia 2. Správa písania. Typový systém
Lekcia 3. Predspracovanie. Podmienená kompilácia
Vývoj programov s grafickým rozhraním v C++. 1 mesiac.
Qt Framework
Lekcia 1. Qt Creator: Základy
čo je Qt? Stručný prehľad funkcií (help, qtdemo, lingvist, uic atď.). Inštalácia knižnice QT a vývojového prostredia. Nastavenie Qt Creatora pre prácu (výber kompilátora, debuggeru, adresára atď.). Vytvorenie a spustenie prvej aplikácie (Ahoj svet!). Widgety. Rôzne typy textových výstupných polí. Tlačidlá a indikátory.
Spracovanie signálov z widgetov.
Lekcia 2. Modularita v Qt
Core Qt moduly. Hierarchia tried. Princíp modularity. Oddelenie motora a rozhrania. Pojem „model – reprezentácia“. Zoznam, strom, tabuľka a spôsoby ich zobrazenia. Chráňte výstupné polia. Dokumentácia o moduloch a triedach Qt. Systémy QMake a auto-build pre projekty. Systém na kompiláciu a pripojenie súboru modules.pro
Lekcia 3. Práca s údajmi v Qt.
Kontajnerové triedy. Iterátory. Sekvenčné kontajnery. Asociačné kontajnery. Práca so strunami. Čítanie, zobrazovanie a ukladanie obrázkov. Práca so súbormi a adresármi. I/O streamy. Základné metódy otvárania súboru QFile, QFileDialog. Programové prostriedky.
Lekcia 4. Interakcia objektov v Qt
Objektový model Qt. Správa pamäte. Hierarchia objektov. Signály a sloty. Spájanie a odpájanie predmetov. MOC je kompilátor meta-objektov. Princíp slučky udalostí. Spracovanie udalostí. Udalosti myši a klávesnice. Filtre udalostí. Podporuje rôzne jazyky. Lokalizácia programu. Dynamická zmena jazyka (QLinguist). Prístup k príkazovému riadku z programu
Lekcia 5. Vývoj GUI v Qt
Trieda QWidget. Typy widgetov. Hierarchia widgetov. Pripojenie OpenGl a iných výstupných knižníc tretích strán. Vývoj formulárov v Qt Designer. Používanie formulárov v projektoch. Rozloženie miniaplikácií. Zásady zmeny veľkosti. Pripojenie signálov k slotom. Zameranie vstupu. Štýlové listy. Paleta farieb. Vytvorte si vlastné widgety.
Lekcia 6. Vývoj rozhrania okna v Qt
Rozhranie s jedným a viacerými dokumentmi. Detské a rodičovské obrazovky. Podtriedy (QDialog atď.) Hlavné okno. Panely s nástrojmi. Stavový riadok. Vytváranie jedálneho lístka. Rozbaľovacia ponuka. Kontextové menu. Dialógové okná. Otváranie, ukladanie a tlač dokumentov.
Lekcia 7. Práca s grafikou a textom v Qt
Kontext kreslenia QPainter. Súradnicové systémy. Bod, čiara, obdĺžnik, mnohouholník. Perie, kefy. Farebné modely. Prechody. Graphics View Framework. Javisko a predstavenie. Text s prvkami formátovania. Písma. Práca s html značkami. Výstup a uloženie. WebEngine. Implementácia jednoduchého webového prehliadača.
Lekcia 8. Časovače, procesy a vlákna v Qt
Dátum a čas. Udalosti časovača. procesy. Štartovanie, beh a zastavenie. Prúdy. Multithreading. Výmena signálov a udalostí. Synchronizácia. Mutexy
Lekcia 9. Technológia Qt Quick
jazyk QML. Prvky používateľského rozhrania. Ovládanie umiestnenia prvkov. Grafické prvky. Práca s obrázkami a fontmi. Práca s myšou, klávesnicou a touchpadom. Implementácia animácie. Použitie QML v projekte
Lekcia 10. Ďalšie vývojové nástroje a nástroje na zostavovanie Qt
Testovanie programu. Typy chýb. QDebug. Krok za krokom ladenie. Kontrolné body. Variabilné okná a volacie reťazce. Jednotkové testovanie. GUI testovanie. Typy zostavení projektu (ladenie, výstup, profilovanie). Qt Creator a systémy na správu verzií. Git. Hľadanie súvisiacich knižníc. Ako poslať zákazníkovi aplikáciu (bez zdrojových kódov), aby mu určite bežala
Lekcia 11. Práca s databázami v Qt
Stručné informácie o SQLite DBMS. Základné operácie pri práci s databázou. Qt nástroje pre prácu s SQLite. Implementácia práce s databázou prostredníctvom konceptu „model – reprezentácia“. Budovanie a pripojenie ďalších databázových knižníc (Postgresql/mysql/ets)
Lekcia 12. Práca so sieťovaním v Qt
Sieťové protokoly vysokej a nízkej úrovne. Pripojenie cez zásuvky. Model klient-server. Kontrola prístupu k sieti. Pripojenie k databázam na serveri
Počas stáže si vyviniete OpenSource textový editor ako Emacs v C++ s pluginmi. Získate zručnosti tímovej práce, prácu s git a tasktracker a tiež sa zoznámite s agilnými metodikami vývoja, SCRUM, KANBAN.
Lekcia 2. Úvod do flexibilných metodík. Sledovače úloh
Metodológie Scrum a Kanban. Ako prevziať úlohy. Výhody iniciatívy a zodpovednosti. Sledovače úloh v štýle Kanban. Stanovenie SMART cieľov. Technické špecifikácie. Používateľské príbehy. Scenáre použitia.
Lekcia 3. Agilný rozvoj. Scrum a Kanban
Hodnoty agilnej metodológie. Scrum (podrobnosti). Kanban. Chyby pri implementácii. Kult nákladu. Mikromanažment. Prečo je potrebná transparentnosť a ako ju dosiahnuť. Scrum chat.
Lekcia 4. Riziká a termíny
Riziká plánovania a riadenia. Lehoty a ich hodnota. Time management.
Lekcia 5. Motivácia
Maslowova pyramída. Tri úrovne motivácie. Ako sa motivovať? Motivácia podľa Lebedeva. Podobenstvo o psovi. Disciplína.
Lekcia 6. Problémy a riešenia
Chyby v plánovaní a zhromažďovaní požiadaviek. Chyby manažmentu: mikromanažment, napodobňovanie. Dôsledky: fluktuácia, nadčasy, nočná práca. Pokusy o zavedenie nových požiadaviek a zmien. Chýbajúce termíny. Beznádejné projekty. Zodpovednosť. Záchrana projektu. Kedy by ste mali prestať? Pivot.
Lekcia 7. Mentoring
Vedenie tímu. Prečo je mentoring dôležitý. Ako často musí byť programátor mentorom? Vodcovské schopnosti. Delegovanie. SMART ciele. Schopnosť učiť sa.
Lekcia 8. Kvalita produktu
Surový produkt. Kvalitný výrobok. Rýchlo fungujúci prototyp. Vysoko kvalitný kód. Zostatok. Odmietnutie niektorých funkcií. Funkčné testovanie. Čierna a biela krabica. Jedzte jedlo svojho vlastného psa.
Lekcia 9. Písanie životopisu
Mäkké zručnosti. Ťažké zručnosti. Pracuje sa na životopise.
Lekcia 10. Príprava na pohovor
Rozhovor s HR manažérom a budúcim manažérom.
Lekcia 11. Kariéra v IT spoločnosti. Perspektívy
O ktoré spoločnosti sa oplatí uchádzať? Rozvoj špecialistu. Junior, Middle, Senior, Team Leader, CTO. Manažment.
Lekcia 12. Zhrnutie
Prehľad toho, čo sa dosiahlo. Slová na rozlúčku.
Ako sa stať programátorom. 13 lekcií.
Pokyny krok za krokom pri hľadaní práce
Kariéra v programovaní je vzrušujúcou cestou do sveta moderných technológií. Každý vývojár má svoj vlastný príbeh a skúsenosti. Existuje však základný algoritmus, ktorý vám pomôže urobiť prvé kroky správne a viesť k vášmu cieľu. Pripravili sme 13 video lekcií, v ktorých sme odpovedali na najpálčivejšie otázky o programátorskej kariére vo firmách a na freelance trhu. Často premýšľate o zamestnaní a máte pocit, že ste pripravení začať zarábať peniaze? Potom je tento video kurz práve pre vás.
Lekcia 1. Profesia “Programátor”
Vlastnosti profesie; často kladené otázky; dopyt na trhu práce.
Lekcia 2. Kariérové poradenstvo
Stane sa zo mňa úspešný programátor? Faktory úspechu.
Lekcia 3. Začnime písať životopis
Najdôležitejší je prvý dojem; ako nazvať pozíciu.
Lekcia 4. Výber programovacieho jazyka: vývoj webu
Prehľad jazykov pre vývoj webových stránok: HTML, CSS, JavaScript, PHP, Python, Ruby, C#, Java; správna voľba.
Lekcia 5. Vývoj mobilných zariadení. Univerzálne programovacie jazyky
Prehľad jazykov: Java, Objective-C, Swift; C#, C++, Python: správna voľba.
Lekcia 6. Pravidlá efektívneho životopisu
Zoznam technológií; portfólio; diplomy a osvedčenia; osobné vlastnosti. Pohľad technického špecialistu a HR.
Lekcia 7. Hľadanie práce: čo, kde, kedy
Práca snov, psychologické aspekty; technika požiadavky.
Lekcia 8. Pohovor a skúšobná doba
Rozhovory pre programátorov: ako sa správať, čo povedať, čo počúvať; skúšobná doba a pravidlá jej absolvovania.
Lekcia 9. Práca na voľnej nohe: prvé kroky
Prehľad platforiem na voľnej nohe; registračné funkcie; registrácia účtu; ako vyniknúť medzi väčšinou interpretov.
Lekcia 10. Práca na voľnej nohe: Začíname a hľadáme objednávky
Stratégia vyhľadávania objednávok; priorita objednávok: čo si vziať na seba; rokovania; úlohy a úskalia technických špecifikácií; spôsoby kontaktovania klienta; písanie odpovedí a upútanie pozornosti klientov; správne otázky.
Lekcia 11. Na voľnej nohe: plnenie objednávky a platba
Spôsoby platby: bankový prevod alebo hotovosť; platba vopred alebo dodatočná platba; prehľad situácií, v ktorých bude každá metóda fungovať lepšie; príprava na prácu a záväzné dohody s klientom; vlastnosti pracovného procesu; záverečné fázy spolupráce; zdieľanie spätnej väzby; "konzultačná" technika.
Lekcia 12. Špeciality v oblasti IT
Ako funguje vývoj vo veľkých firmách? Kto sú analytici, dizajnéri, testeri, architekti, projektoví manažéri, vedúci tímu atď.
Lekcia 13. Kariérny rebríček v IT
Ako vyzerá kariérny rebríček v IT? V ktorých špecialitách je ľahšie začať svoju cestu? Aké sú vyhliadky na rozvoj?
Kurz vyvinutý v spolupráci so školou EnglishDom vám pomôže zvládnuť kľúčové témy v anglickom jazyku, ktoré sú relevantné pre začínajúcich IT špecialistov. Maximálne precvičenie a zameranie sa na IT slovnú zásobu. 10 lekcií zahŕňa prípravu životopisov, technických špecifikácií a obchodných listov, pohovory a rokovania, medzinárodnú komunikáciu pri propagácii vášho projektu. V živých dialógoch v angličtine si študenti upevnia frázy, ktoré budú užitočné pri ich práci pre vývojárov a testerov, marketérov a dizajnérov.
Lekcia 10. Spustite
Porozprávame sa o našom projekte a predstavíme tím v angličtine.
Naučiť sa základy a zložitosti programovacieho jazyka C++. Učebnica s praktickými úlohami a testami. Chcete sa naučiť programovať? Potom ste na správnom mieste – tu je bezplatné školenie programovania. Či už máte skúsenosti alebo nie, tieto lekcie programovania vám pomôžu začať vytvárať, kompilovať a ladiť programy C++ v rôznych vývojových prostrediach: Visual Studio, Code::Blocks, Xcode alebo Eclipse.
Veľa príkladov a podrobných vysvetlení. Ideálne pre začiatočníkov (figuríny) aj pokročilejších. Všetko je vysvetlené od základov až po detaily. Tieto lekcie (200+) vám poskytnú dobrý základ/základy na pochopenie programovania nielen v C++, ale aj v iných programovacích jazykoch. A je to úplne zadarmo!
Zahrnuté je aj postupné vytváranie hry v C++, grafická knižnica SFML a viac ako 50 úloh na otestovanie vašich schopností a vedomostí v C++. Ďalším bonusom je.
Za opätovné odoslanie +20 ku karme a moju vďačnosť!