praktični tečaj
Što je?
Svojedobno (1991.-1992.) birajući jezik Si Kao glavni programski jezik za nastavu matematike, autor se suočio s problemom nedostatka normalnih udžbenika koji bi se mogli preporučiti školskoj djeci. To ga je prisililo da napiše svoje bilješke s predavanja, što bi se moglo nazvati "Praktični tečaj programiranja u Si» — sadržavao je podatke koji su autoru stvarno bili potrebni u praksi. Dugogodišnje iskustvo u nastavi pokazalo je da su bilješke zaista tražene i da ih naširoko koriste i školarci i maturanti.
Razvojno okruženje je besplatna ljuska otvorenog koda Dev-C++ koja uključuje GCC kompajler.
Autor će biti zahvalan na povratnim informacijama i konstruktivnim kritikama vezanim uz sadržaj i dizajn ovih materijala. Ukoliko primijetite grešku ili imate prijedloge, primjedbe, pritužbe, zahtjeve ili izjave, pišite.
Licencni ugovor
- 1) objavljivanje materijala u bilo kojem obliku, uključujući objavljivanje materijala na drugim web stranicama;
- 2) distribucija nepotpunih ili izmijenjenih materijala;
- 3) uključivanje građe u zbirke na bilo kojem mediju;
- 4) stjecanje komercijalne koristi od prodaje ili drugog korištenja materijala.
Preuzimanje materijala znači da prihvaćate uvjete ovog licencnog ugovora.
preuzimanje datoteka
Sažetak se slobodno distribuira u formatu PDF. Za pregled je potreban besplatni Acrobat Reader. Okvirni sadržaj tečaja podijeljen je u 4 dijela:
- Uvod u programiranje u C-u (860 Kb) 29.03.2014
Proučavanje osnovnih jezičnih konstrukcija i tehnika pisanja programa. - Pohrana i obrada podataka (792 KB) 21.11.2013
C jezik: nizovi, matrice, strukture, nizovi znakova, strukture, rekurzija. - Izrada programa u jeziku C (937 Kb) 01.03.2014
Tehnike projektiranja programa, strukturirano programiranje, cjelobrojni algoritmi, numeričke metode, modeliranje. - Dinamičke strukture podataka u jeziku C (666 KB) 11.06.2009
Liste, nizovi, stabla, grafikoni.
Prezentacije
Nastavnicima i učenicima mogu koristiti prezentacije temeljene na ovom sažetku. Mogu se preuzeti na stranici Prezentacije.
Metodologija
Glavni cilj je upoznati učenike s osnovnim strukturama jezika Si: petlje, uvjetne naredbe, procedure. Proučavanje dijelova vezanih uz grafiku i animaciju vrlo je uspješno.
8. razred
Program uključuje sljedeće dijelove (dio sažetka je naveden u zagradama): Nizovi (II), Rad s datotekama (II), Nizovi znakova (II), Rotirajući objekti (III), Modeliranje (III). Posebna pozornost posvećena je proučavanju algoritama za rad s nizovima, uključujući pretraživanje, sortiranje itd. Dan je koncept učinkovitosti računskih metoda.
9. razred
Glavni fokus je na studiranju metode razvoja softvera u jeziku Si. Studenti rješavaju individualni zadatak tijekom kojeg uče konstruirati grafove na ekranu, upoznaju se s transformacijama koordinatnih sustava, proučavaju metode rješavanja jednadžbi, upoznaju se s numeričkim metodama te uče pravilno projektirati programe (odjeljci 1-2 dijela III). Jedan od zadataka posvećen je korištenju Monte Carlo metoda izračunati površinu složene figure. Iz novih odjeljaka također učimo Matrice (II), nizovi nizova znakova (II). Koncept je predstavljen pokazivači te se proučavaju najjednostavnije operacije s njima.
10. razred
Učenje jezika Si dostiže ozbiljniju razinu. Glavne teme - Upravljanje memorijom (II), Rekurzija (II), Strukture (II). Planirano je proučavanje Pascala kao drugog programskog jezika. Od ovog trenutka algoritmi se u teorijskoj nastavi pišu naizmjenično na dva jezika.
11. razred
Ne proučavaju se toliko značajke jezika koliko algoritmi. Glavni odjeljci - Numeričke metode (III), Modeliranje (III), Dinamičke strukture podataka (IV).
C++ programski jezik
Zadnja izmjena: 28.08.2017
Programski jezik C++ je kompilirani programski jezik visoke razine Opća namjena statički tipiziran, što je pogodno za izradu širokog spektra aplikacija. Danas je C++ jedan od najpopularnijih i najraširenijih jezika.
Ima svoje korijene u jeziku C koji je 1969-1973 u Bell Labsu razvio programer Dennis Ritchie. Početkom 1980-ih, danski programer Bjarne Stroustrup, koji je tada radio u Bell Labsu, razvio je C++ kao proširenje jezika C. Zapravo, u početku je C++ jednostavno nadopunio jezik C s nekim mogućnostima objektno orijentiranog programiranja. I zato ga je sam Stroustrup u početku nazvao "C s klasama".
Naknadno novi jezik počeo stjecati popularnost. Dodane su mu nove značajke koje ga nisu učinile samo dodatkom C-u, već potpuno novim programskim jezikom. Kao rezultat toga, "C s klasama" je preimenovan u C++. I od tada su se oba jezika počela razvijati neovisno jedan o drugom.
C++ je moćan jezik koji nasljeđuje bogate memorijske mogućnosti od C-a. Stoga se C++ često koristi u sistemskom programiranju, posebno pri izradi operativnih sustava, upravljačkih programa, raznih uslužnih programa, antivirusa itd. Usput, OS Windows više dijelom napisan u C++. Ali samo aplikacija za programiranje sustava ovog jezika nije ograničeno. C++ se može koristiti u programima bilo koje razine gdje su brzina i performanse važni. Često se koristi za izradu grafičkih aplikacija i raznih aplikacijskih programa. Također se posebno često koristi za stvaranje igara s bogatom, bogatom vizualizacijom. Osim toga, u zadnje vrijeme sve više uzima maha mobilni smjer, gdje je svoju primjenu našao i C++. Čak i u web razvoju, možete također koristiti C++ za stvaranje web aplikacija ili nekih pratećih usluga koje služe web aplikacijama. Općenito, C++ je široko korišten jezik u kojem možete izraditi gotovo sve vrste programa.
C++ je prevedeni jezik, što znači da prevodilac prevodi izvor u C++ izvršna datoteka, koji sadrži skup strojnih uputa. Ali različite platforme imaju svoje karakteristike, tako da se kompilirani programi ne mogu jednostavno prenijeti s jedne platforme na drugu i tamo pokrenuti. Međutim, na razini izvornog koda, C++ programi su uglavnom prenosivi osim ako se ne koriste neke funkcije specifične za OS. A dostupnost kompilatora, biblioteka i razvojnih alata za gotovo sve uobičajene platforme omogućuje vam kompajliranje istog C++ izvornog koda u aplikacije za te platforme.
Za razliku od C-a, jezik C++ omogućuje pisanje aplikacija u objektno orijentiranom stilu, predstavljajući program kao skup klasa i objekata koji međusobno djeluju. Što pojednostavljuje izradu velikih aplikacija.
Glavne faze razvoja
Godine 1979.-80. Bjarne Stroustrup razvio je proširenje jezika C - "C s klasama". Godine 1983. jezik je preimenovan u C++.
Godine 1985. objavljena je prva komercijalna verzija jezika C++, kao i prvo izdanje knjige "The C++ Programming Language", koja je predstavljala prvi opis ovog jezika u nedostatku službenog standarda.
Objavljen je 1989 nova verzija C++ 2.0 jezik, koji uključuje niz novih značajki. Nakon toga, jezik se razvijao relativno sporo do 2011. Ali u isto vrijeme, 1998. godine, napravljen je prvi pokušaj standardizacije jezika od strane organizacije ISO (International Organisation for Standardization). Prvi standard zvao se ISO/IEC 14882:1998 ili skraćeno C++98. Nakon toga, 2003. godine, objavljena je nova verzija standarda C++03.
2011. objavljena je novi standard C++11, koji je sadržavao mnoge dodatke i obogatio jezik C++ velikim brojem novih funkcionalnosti. Nakon toga, mali dodatak standardu, također poznat kao C++14, objavljen je 2014. Još jedno ključno izdanje jezika zakazano je za 2017.
Kompajleri i razvojna okruženja
Za razvoj programa u C++-u potreban vam je kompajler - on prevodi izvorni kod u C++-u u izvršnu datoteku koju zatim možete pokrenuti. Ali u ovom trenutku postoji mnogo različitih prevoditelja. Mogu se razlikovati u različitim aspektima, posebice u provedbi standarda. Osnovni popis kompilatora za C++ može se pronaći na Wikipediji. Preporuča se za razvoj odabrati one prevoditelje koji razvijaju i implementiraju sve najnovije standarde. Stoga ćemo kroz ovaj vodič prvenstveno koristiti besplatno dostupni g++ prevodilac razvijen od strane GNU projekta.
Također možete koristiti IDE kao što su Visual Studio, Netbeans, Eclipse, Qt itd. za izradu programa.
Učenje osnova i zamršenosti programskog jezika C++. Udžbenik s praktičnim zadacima i testovima. Želite li naučiti programirati? Onda ste na pravom mjestu - ovdje je besplatna obuka programiranja. Bez obzira jeste li iskusni ili ne, ove lekcije programiranja pomoći će vam da počnete stvarati, kompilirati i otklanjati pogreške u C++ programima u raznim razvojnim okruženjima: Visual Studio, Code::Blocks, Xcode ili Eclipse.
Puno primjera i detaljnih objašnjenja. Savršeno za početnike (dummy) i one naprednije. Sve je objašnjeno od nule do detalja. Ove lekcije (200+) dat će vam dobru osnovu/temelj za razumijevanje programiranja ne samo u C++, već iu drugim programskim jezicima. I to potpuno besplatno!
Također u obzir korak po korak stvaranje igre u C++, SFML grafička biblioteka i više od 50 zadataka za testiranje vaših vještina i znanja u C++. Dodatni bonus je.
Za ponovno objavljivanje +20 na karmu i moju zahvalnost!
Poglavlje br. 0. Uvod. Početak rada
Poglavlje br. 1. Osnove C++
Poglavlje br. 2. Varijable i osnovni tipovi podataka u C++
Poglavlje br. 3. Operatori u C++
Poglavlje br. 4. Opseg i druge vrste varijabli u C++
Poglavlje br. 5. Redoslijed kojim se kôd izvršava u programu. Petlje i grananja u C++
Međuindustrijsko vijeće za normizaciju informacijske tehnologije Povjerenstvo RUIE na tehnički propis, normizacija i ocjenjivanje sukladnosti.
Prijavite se na staru web stranicu TK-MTK-22
Ispričavamo se na privremenim pogreškama. Portal je u razvoju pa su neke sekcije privremeno blokirane.
Centar kompetencija u području normizacije informacijskih tehnologija (CC SIT) nastao je u interesu razvoja sposobnosti Međusektorskog vijeća Odbora RSPP-a za tehničku regulativu, normizaciju i ocjenu sukladnosti (u daljnjem tekstu: Vijeće). Praksa je pokazala da funkcioniranje Vijeća samo kao savjetodavnog tijela više ne daje željeni učinak pred novim zadaćama.
Donošenjem i početkom provedbe Programa “ Digitalna ekonomija"U području informatičke standardizacije počeli su se javljati novi zadaci. Prije svega, pokazao se nedostatak informacija dostupnih stručnjacima u ovom području, mnoge odluke nisu dovoljno znanstveno obrazložene, zastarjele su ili nedostaju potrebni propisi i zakonskih akata, a očigledan je i nedostatak specijaliziranih kadrova. I što je najvažnije - pojavila se potreba za međuresornim ili međusektorskim rješenjima na području stvaranja jedinstvenog informacijskog prostora, koji bi trebao postati značajan čimbenik u prijelazu na novi tehnološki. struktura.
Status Vijeća kao javne organizacije prestao je zadovoljavati novonastale zadaće i pojavila se potreba za stvaranjem strukture sa statusom pravna osoba, kojima bi se mogli dodijeliti novi zadaci koji proizlaze iz područja IT standardizacije.
Pregled glavne djelatnosti Središnjeg odbora SIT-a
Standardizacija
Ono što je IT standard - treba postati IT standard - ne treba biti IT standard
Osnove programiranja
Osnove programiranja, osnovni pojmovi i pojmovi
Video tečaj će polaznike upoznati s osnovama programiranja, osnovnim terminima i pojmovima. Naučit će vas kako razvijati algoritme i dati vam stvarno iskustvo u stvaranju web proizvoda. Lekcije uključuju pregled aktualnih programskih jezika i područja, pomažu polaznicima u odabiru onih koji su im najzanimljiviji te pružaju materijale i upute za daljnji profesionalni razvoj.
Lekcija 3. Prvi program
Odabir programskog jezika. Priprema preglednika. Program "Zdravo, svijete!"
Lekcija 4. Varijable
Instaliranje prikladnog uređivača koda. Uvod u varijable. Jednostavan kalkulator.
Lekcija 5. Tipovi podataka
Vrste podataka. Operacije sa različiti tipovi podaci. Pretvorba tipa podataka.
Lekcija 6. Algoritmi i dijagrami toka
Algoritamsko razmišljanje. Vizualni dijagrami toka.
Lekcija 7. Operator grananja if
Odabir opcija u programu. Poslovnica ako. Igra zagonetki.
Lekcija 8. Logičke operacije
Složeni uvjeti selekcije. Logički I, ILI. Igra "Angry Birds".
Lekcija 9. Do, while petlje
Do i while petlje. Igranje ruskog ruleta.
Lekcija 10. For petlja
For petlja. Financijski kalkulator.
Lekcija 11. Nizovi
Veliki skupovi podataka i nizovi. Igra ruleta.
Lekcija 12. Funkcije
Funkcije. Priprema za pisanje igre “Black Jack (21)”.
Lekcija 13. Igra "Black Jack". 1. dio
Pisanje cijele igre. Osnova je dijeljenje karata i brojanje bodova.
Lekcija 14. Igra "Black Jack". 2. dio
Završetak pisanja igre. Utvrđivanje rezultata i pobjednika.
Lekcija 15. Programerska karijera
Pregled glavnih pravaca u programiranju. Kako odabrati programski jezik? Što dalje studirati?
Uvod u Git
Osnove Gita
Tijekom 13 videa, provest ćemo vas kroz osnove Git sustava kontrole verzija. Otkrijmo zašto je to važno u modernom razvoju i kolaborativnom programiranju. Upoznajmo se s osnovnim konceptima Gita: repozitoriji, komitovi, grane i oznake. Naučimo osnovne operacije: stvaranje i kloniranje repozitorija, spajanje grana, postavljanje upita povijesti promjena i još mnogo toga. Pogledajmo kako predati domaću zadaću koristeći Git. Ovo je osnovni tečaj nakon kojeg možete početi učiti bilo koji programski jezik. Osim toga, bit ćete pripremljeni za intervju, gdje se nekoliko pitanja obično fokusira na sustav kontrole verzija.
Lekcija 1. Uvod u sustave kontrole verzija
Što je sustav kontrole verzija?
Vrste sustava kontrole verzija
Git i njegove prednosti
Dokumentacija
Lekcija 2. Rad s naredbenim redkom
Što je naredbeni redak?
Zašto je naredbeni redak važan?
Kako otvoriti naredbeni redak?
Korisne naredbe
Lekcija 3. Lokalni rad s Git spremištem
Uvod u konzolni klijent
Git postava
Inicijalizacija repozitorija
Kloniranje spremišta
Grafički git klijenti
Lekcija 4. Osnovne operacije
Indeksiranje
Objavljivanje promjena
Obvezuje se
Otkaži indeksiranje
Trenutni status
Lekcija 5. Povijest git projekta
Povijest promjena
Vraćanje prema povijesti projekta
Promjena kredita: git blame
Ignoriranje .gitignore datoteka
Web stranica gitignore.io
Čuvanje mapa.čuvati
Lekcija 6. Grane
Upravljanje poslovnicom
Stvaranje i brisanje grana
Prebacivanje između grana
Metode sukoba i njihovo rješavanje
git spajanje
Lekcija 7: Stvaranje udaljenog Git repozitorija
Git hosting (GitHub, GitLab, Bitbacket)
Stvaranje vlastitog bare-git repozitorija
Registrirajte se na GitHubu
Objavljivanje promjena u udaljenom repozitoriju
Lekcija 8. Izbrisane grane
Imena spremišta
Više repozitorija u jednom projektu
.git/config
Upravljanje ograncima na udaljenom repozitoriju
Lekcija 9. Verzija
Metode verzioniranja
Oznake i njihov odnos s obvezama
Dodavanje oznake
Brisanje oznake
Upravljanje oznakom na udaljenom repozitoriju
Lekcija 10. Spajanje i prijenosi
Spajamo promjene. git spajanje
Mičemo grane. git rebase
Premještanje obveza. git trešnja odabrati
Spajamo commit u jedan. git squash
Kuke
Nadimci
Lekcija 11. Gitflow
Kako se koristi i zašto?
Ispitni ciklusi
Moguće plavo/zeleno
Otpustite grane
Hitni popravci
Lekcija 12. SSH
SSH protokol
Zašto se koristi?
Stvaranje ključeva
Prosljeđivanje
SSH agent
Kopiranje datoteka putem SSH
Windows: Git za Windows
Korištenje SSH-a s Gitom
Lekcija 13. Predaja domaće zadaće putem Gita
Osnove baze podataka. 20 lekcija.
Dizajn baze podataka i SQL upiti
Baze podataka (DB) su sustavi za pohranu i obradu podataka kojima se pristupa pomoću jezika SQL (Structured Query Language). Svaka moderna web stranica, igra ili desktop aplikacija treba pohranu podataka. Na ovaj trenutak ima ih mnogo raznih sustava sustav za upravljanje bazom podataka (DBMS), najpopularniji je MySQL. “Osnove baze podataka” je 20 intenzivnih video lekcija (svaka po 10 minuta), gdje ćemo proći kroz sve faze dizajna baze podataka na primjeru online trgovine koristeći jezik SQL upiti. Nakon ovog tečaja moći ćete koristiti različite baze podataka kao što su MS SQL i Postgre Sql kao sintaksu SQL jezik za njih se praktički ne razlikuje.
Lekcija 1: Relacijske baze podataka
Koja je razlika između baze podataka i DBMS-a; koje se baze podataka nazivaju relacijskim; pregled modernog DBMS-a.
Lekcija 2. Instaliranje DBMS-a
Instalacija MySql DBMS i grafički Mysql aplikacije Radni stol.
Lekcija 3. Dizajn baze podataka, normalni obrasci
Dizajn podataka u Excelu; normalni oblici; Osnovni ključ.
Lekcija 4. SQL CREATE naredba
Stvaranje tablica u MySql Workbench GUI; CREATE naredba; tipovi podataka; rad u konzoli.
Lekcija 5. SQL INSERT naredba
Popunjavanje tablica podacima pomoću grafičkog sučelja; INSERT naredba; AUTOMATSKO POVEĆANJE.
Lekcija 7. SQL naredbe DISTINCT, ORDER BY, LIMIT
Primanje i filtriranje podataka pomoću SQL naredbi DISTINCT i LIMIT; sortiranje pomoću naredbe ORDER BY.
Lekcija 9: Dosljednost podataka
Pojam dosljednosti ili dosljednosti podataka.
Lekcija 10. Strani ključ
Koncept stranog ključa i ograničenja vrijednosti stupaca; INOZEMNA KLJUČNA OGRANIČENJA.
Lekcija 11. Stvaranje tablica s odnosom više-prema-više
Dodavanje košarice u bazu podataka online trgovine.
Lekcija 12. Složeni primarni ključ
Korištenje složenog primarnog ključa pri dizajniranju tablice s odnosom više-prema-više.
Lekcija 13. Spajanje podataka iz više tablica
Dohvaćanje podataka iz nekoliko međusobno povezanih tablica; nedosljednost pristupa koji koristi nekoliko SELECT-ova.
Lekcija 14. Operator INNER JOIN
Spajanje podataka iz više tablica pomoću operatora INNER JOIN.
Lekcija 15. Operatori LIJEVI JOIN, DESNI JOIN
Spajanje podataka iz više tablica pomoću operatora LEFT JOIN i RIGHT JOIN.
Lekcija 16. Operator UNION
Kombiniranje rezultata višestrukih SQL upita korištenjem operatora UNION.
Lekcija 17. Funkcije agregacije
Funkcije agregiranja COUNT, SUM, MIN, MAX.
Lekcija 18. Operator GROUP BY
Grupirajte odabrani skup redaka pomoću klauzule GROUP BY.
Lekcija 19. Indeksi
Filtriranje u GROUP BY pomoću HAVING; povećanje brzine izvršavanja upita pomoću indeksa.
Lekcija 20. Transakcije
Koncept transakcije; izjava o TRANSAKCIJI; ACID zahtjevi za transakcijski sustav.
Linux. Radna stanica. 1 mjesec.
Vježbajte administriranje Linux OS-a na računalu
GNU/Linux - popularan operacijski sustav, vodeći na tržištu poslužiteljska oprema, također se koristi kao ugrađeni OS u industrijskoj i potrošačkoj opremi, pa čak i kao softver za stolna računala. GNU komponente također se koriste u MAC OS X, a GNU/Linux također utječe na Windows. Poznavanje Linuxa je neophodno Administrator sustava, tester, web programer, softverski stručnjak sigurnost informacija, svakom programeru koji ima srednji ili viši status. Ovaj tečaj pokriva osnove rada u Linuxu: osnove rada u Linux ljusci, upravljanje korisnicima i dozvolama za datoteke, regularne izraze i pisanje skripti u bashu, rad s procesima i upravljanje pokretanjem i uslugama u Linuxu. Razumijevanje osnova programiranja, brojevnih sustava (binarni, oktalni, heksadecimalni sustav broj) i Booleova logika
Lekcija 1. Uvod i instalacija
Uvod u GNU/Linux. Što je GNU, Linux i UNIX. Virtualizacija. Instalacija Ubuntua u virtualni stroj. Osnovne značajke Linuxa
Lekcija 2. Rad u grafičkom i konzolnom načinu rada
Konzola i grafički način rada u Linuxu; naredbe konzole; stvaranje i uređivanje datoteka.
Lekcija 3. Datoteke i dopuštenja u Linuxu
Korisnici i prava u Linuxu; rad s datotekama; obavljanje operacija u ime superkorisnika.
Lekcija 4. Regularni izrazi
Regularni izrazi. Traži. sed.
Lekcija 5. Bash programiranje
Sintaksa. Timovi. Varijable. Kontrolne strukture. Neke jednostavne skripte. Pokretanje planiranih zadataka pomoću cron-a
Lekcija 6. Web usluge
Linux mrežne mogućnosti. Web usluge. Nginx, Apache2. Idemo šifrirati. Mrežni filter netfilter i uslužni program iptables.
Lekcija 7. Uvod u Git
Uvod u Git.
Lekcija 8. SOA i uvod u Docker
Monolitna i SOA arhitektura aplikacija. Uvod u Docker
Lekcija 1. Uvod
Upoznavanje jezika Pripovijetka. Pregled softvera. Osnovni pojmovi o jeziku. Varijable i tipovi podataka
Lekcija 2. Uvjeti i petlje
Uvjeti. Booleova algebra i binarni izračuni. Ciklusi. Kontrola petlje i izjava o prekidaču
Lekcija 3. Funkcije, nizovi i pokazivači
Funkcije. Pokazivači. Nizovi. Višedimenzionalni nizovi
Lekcija 4. Nizovi, strukture i rad s memorijom
Linije. Strukture podataka. Sustav datoteka. Dinamička dodjela memorije
Tečaj je namijenjen kako početnicima, tako i onima koji već govore druge programske jezike ili jezik C++, ali na nedovoljnoj razini, kao i onima kojima nedostaje jasno razumijevanje organizacije pohrane i obrade podataka u kompiliranom računalni programi. C++ je jezik opće namjene i, kombinirajući svojstva jezika visoke i niske razine, omogućuje vam rješavanje najšireg raspona problema koji se javljaju u programiranju. Predmet prilično u potpunosti uvodi studenta u mogućnosti jezika C++ koji je njemu svojstven za postizanje ovih ciljeva.
Lekcija 1. Prevedeni jezik. Faze prevođenja i asemblera programa
- Zašto vam treba C++?
- Razvojni alati u C++.
- Kako funkcionira kompajlirani jezik.
- Faze emitiranja programa.
- Kako radi skripta za izgradnju.
- Analiza domaćih zadaća.
Lekcija 2. Imena u programu. Podaci, vrste, funkcije i varijable
- Imena, tipovi i varijable.
- Predstavljanje varijabli i brojeva.
- Izračunljivost.
- Funkcija. Pojam i značenje.
- Funkcije i njihovi argumenti.
- Jednostavni nizovi.
- Analiza domaćih zadaća.
Lekcija 3. Konstruiranje algoritma u C++
- Blokovi. Pojam prostora imena algoritma.
- Uvjetne operacije.
- Konstantan višestruki odabir.
- Ciklička uvjetna operacija dok.
- Upravljanje iteracijama (ponovljivost ciklusa).
- Ciklus brojanja.
- Iznimne situacije.
- Analiza domaćih zadaća.
Lekcija 4. Proceduralno programiranje
- Sastavljanje kostura projekta za Qt Creator.
- Dobivamo pristup datoteci s podacima.
- Format hack: dešifriranje metode pohrane podataka.
- Dekodiranje PNM/PGM formata.
- Transformacije bočnih podataka: očitavanje dimenzija slike.
- Konstrukcija izlaznog histograma i izlaz podataka.
- Analiza nacrta programa napisanog proceduralnim stilom.
Tečaj za programere početnike upoznate s osnovama jezika C ili C++. Pomaže vam razumjeti osnovne strukture podataka i osnovne algoritme. Daje opće razumijevanje procesa unutar programa i osnovne vještine u izgradnji rada algoritama. Tečaj nije vezan za određeni programski jezik i, unatoč tome što je sve objašnjeno na primjeru C-a, znanje se može primijeniti u bilo kojem imperativnom programskom jeziku.
Lekcija 1. Uvod i upoznavanje
Lekcija 2. Složenost algoritama i jednostavni algoritmi
Lekcija 4. Nizovi
Lekcija 5. Složeno sortiranje nizova
Lekcija 6. Stogovi, redovi i liste
Lekcija 7. Dinamičke strukture podataka
Lekcija 8. Drveće
Lekcija 9. Grafikoni
Lekcija 10. Hash tablice
Lekcija 11. Uvod u kriptografiju
Objektno orijentirano programiranje. 1 mjesec.
Zaronite u OOP
Tečaj upoznaje studente s najboljim tehnikama programiranja u C++. Obradit će se osnovni principi učinkovite uporabe objektno orijentiranog programiranja za pisanje programa, kao i tipični aspekti rada stream I/O biblioteke. Tijekom obuke studenti će napisati cjelovitu igricu koristeći stečeno znanje. Tečaj je namijenjen C++ programerima početnicima koji su završili razinu 1 - proceduralno programiranje.
Lekcija 1. Imenovana stanja
Izvoz imena. Preopterećenje naziva funkcije (globalno).
Pohranjivanje funkcija u stanje. Stanje dostupnosti imenskog prostora. Ključne riječi javno i privatno. Uvodimo pojam objekta. Uvodimo pojam klase. Početno pohranjeno stanje.
Lekcija 2. Nasljeđe
Kontrola pristupa osnovnoj klasi. Graditelji i nasljeđe. Stvaranje hijerarhije klasa na više razina. Pokazivači na izvedene klase. Jednostavno i višestruko nasljeđivanje.
Lekcija 3. Virtualne funkcije i polimorfizam
Osnove virtualnih funkcija. Čiste virtualne funkcije i apstraktne klase. Rani i kasni uvez. Preopterećenje funkcija i metoda. Parametarski polimorfizam
Lekcija 4. Odnosi između objekata u C++
Sastav, agregacija, asocijacija, ovisnost. Klase kontejnera. Operatori konverzije tipa. Primjeri programa u C++
Lekcija 5: Funkcije i metode dijeljenja
Preopterećenje operatera. Predlošci funkcija i klasa. Eksplicitna i djelomična specijalizacija predložaka. Primjeri jednostavnih programa
Lekcija 6. I/O niti
Hijerarhija klasa toka. I/O operacije za standardne tipove. Organiziranje I/O za prilagođene vrste. Rad s datotekama i međuspremnicima u memoriji. Alati za formatiranje izlaza, manipulatori
Lekcija 7. Podrška modularnosti. Pisanje igre Blackjack
Kompilacijske jedinice. Podjela na zaglavne i izvedbene datoteke. Direktive pretprocesora, makronaredbe i uvjetna kompilacija. Pisanje igre Blackjack
Lekcija 8. Mehanizam iznimke
Uzbuđenje i obrada situacije. Savijanje steka, izvođenje konstruktora i destruktora. Podrška za hijerarhiju klasa.
Standardne klase izuzetaka. Primjeri programa koji koriste iznimne situacije
Tečaj za one koji nastavljaju učiti programiranje u C++ posvećen je upravljanju memorijom i radu s podacima na niskoj razini. Daje ideju o načelima upravljanja memorijom u C++ programu, organiziranju pohrane podataka i funkcijama adresiranja. Poseban dio kolegija govori o sustavu tipa C++ i transformacijama između prikaza podataka. Osim toga, ukratko su prikazane mogućnosti C++ pretprocesiranja s mogućnošću generiranja izvornog teksta tijekom prijevoda.
Lekcija 1: Osnove upravljanja memorijom
Lekcija 2. Upravljanje tipkanjem. Vrsta sustava
Lekcija 3. Predobrada. Uvjetna kompilacija
Izrada programa s grafičkim sučeljem u C++. 1 mjesec.
Qt Framework
Lekcija 1. Qt Creator: Osnove
Što je Qt? Kratki osvrt mogućnosti (pomoć, qtdemo, lingvist, uic, itd.). Instalacija QT knjižnice i razvojnog okruženja. Postavljanje Qt Creatora za rad (odabir prevoditelja, programa za ispravljanje pogrešaka, direktorija itd.). Izrada i pokretanje prve aplikacije (Hello world!). Widgeti. Razne vrste polja za ispis teksta. Gumbi i indikatori.
Obrada signala iz widgeta.
Lekcija 2. Modularnost u Qt-u
Osnovni Qt moduli. Hijerarhija klasa. Načelo modularnosti. Odvajanje motora i sučelja. Pojam "model - prikaz". Popis, stablo, tablica i metode za njihov prikaz. Zaštitite izlazna polja. Dokumentacija o Qt modulima i klasama. QMake i auto-build sustavi za projekte. Sustav za sastavljanje i povezivanje modula.pro datoteke
Lekcija 3. Rad s podacima u Qt-u.
Klase kontejnera. Iteratori. Sekvencijalni spremnici. Asocijativni spremnici. Rad sa žicama. Čitanje, prikaz i spremanje slika. Rad s datotekama i imenicima. I/O tokovi. Osnovne metode otvaranja datoteke QFile, QFileDialog. Programski resursi.
Lekcija 4. Interakcija objekata u Qt-u
Qt objektni model. Upravljanje memorijom. Hijerarhija objekata. Signali i utori. Spajanje i rastavljanje objekata. MOC je prevoditelj meta-objekta. Princip petlje događaja. Obrada događaja. Događaji miša i tipkovnice. Filtri događaja. podrška različiti jezici. Lokalizacija programa. Dinamička promjena jezika (QLinguist). Žalba na naredbeni redak iz programa
Lekcija 5. Razvoj GUI-a u Qt-u
QWidget klasa. Vrste widgeta. Hijerarhija widgeta. Povezivanje OpenGl-a i drugih izlaznih biblioteka trećih strana. Izrada obrazaca u Qt Designeru. Korištenje obrazaca u projektima. Izgled widgeta. Politika promjene veličine. Povezivanje signala na utore. Fokus unosa. Stilski listovi. Paleta boja. Izradite vlastite widgete.
Lekcija 6. Razvijanje prozorskog sučelja u Qt-u
Sučelje s jednim i više dokumenata. Zasloni djeteta i roditelja. Podklase (QDialog itd.) Glavni prozor. Alatne trake. Statusna traka. Izrada jelovnika. Padajući izbornik. Kontekstni izbornik. Dijaloški okviri. Otvaranje, spremanje i ispis dokumenata.
Lekcija 7. Rad s grafikom i tekstom u Qt-u
QPainter kontekst crtanja. Koordinatni sustavi. Točka, linija, pravokutnik, poligon. Perje, četke. Modeli u boji. Gradijenti. Okvir za grafički prikaz. Scenska i izvedba. Tekst s elementima oblikovanja. Fontovi. Rad s html označavanjem. Izlaz i spremanje. WebEngine. Implementacija jednostavnog web preglednika.
Lekcija 8. Tajmeri, procesi i niti u Qt-u
Datum i vrijeme. Događaji mjerača vremena. Procesi. Pokretanje, trčanje i zaustavljanje. Potoci. Višenitnost. Razmjena signala i događaja. Sinkronizacija. Muteksi
Lekcija 9. Qt Quick tehnologija
QML jezik. Elementi korisničkog sučelja. Kontrola postavljanja elemenata. Grafički elementi. Rad sa slikama i fontovima. Rad s mišem, tipkovnicom i touchpadom. Implementacija animacije. Korištenje QML-a u projektu
Lekcija 10. Dodatni razvojni alati i Qt alati za izgradnju
Testiranje programa. Vrste grešaka. QDebug. Otklanjanje pogrešaka korak po korak. Kontrolne točke. Varijabilni prozori i lanci poziva. Jedinično testiranje. GUI testiranje. Vrste izgradnje projekta (ispravljanje pogrešaka, izlaz, profiliranje). Qt Creator i sustavi za kontrolu verzija. Git. Pronalaženje povezanih knjižnica. Kako kupcu poslati aplikaciju (bez izvornih kodova) da mu se sigurno pokrene
Lekcija 11. Rad s bazama podataka (DB) u Qt-u
Kratke informacije o SQLite DBMS. Osnovne operacije pri radu s bazom podataka. Qt alati za rad sa SQLiteom. Implementacija rada s bazom podataka kroz koncept “model-view”. Izgradnja i povezivanje drugih biblioteka baza podataka (Postgresql/mysql/ets)
Lekcija 12. Rad s umrežavanjem u Qt-u
Mrežni protokoli visoke i niske razine. Spajanje preko utičnica. Model klijent-poslužitelj. Kontrola pristupa mreži. Povezivanje s bazama podataka na poslužitelju
Tijekom prakse razvijat ćete OpenSource uređivač teksta poput Emacsa u C++ s dodacima. Steći ćete vještine timski rad, rad s git i tasktrackerom, a također se upoznajte s Agile razvojnim metodologijama, SCRUM, KANBAN.
Lekcija 2. Uvod u fleksibilne metodologije. Pratioci zadataka
Scrum i Kanban metodologije. Kako preuzeti zadatke. Prednosti inicijative i odgovornosti. Pratioci zadataka u Kanban stilu. Postavljanje SMART ciljeva. Tehničke specifikacije. Priče korisnika. Scenariji korištenja.
Lekcija 3. Agilni razvoj. Scrum i Kanban
Vrijednosti agilne metodologije. Scrum (detalji). Kanban. Greške u implementaciji. Cargo kult. Mikromenadžment. Zašto je potrebna transparentnost i kako je postići. Scrum chat.
Lekcija 4. Rizici i rokovi
Rizici planiranja i upravljanja. Rokovi i njihova vrijednost. Upravljanje vremenom.
Lekcija 5. Motivacija
Maslowljeva piramida. Tri razine motivacije. Kako se motivirati? Motivacija prema Lebedevu. Parabola o psu. Disciplina.
Lekcija 6. Problemi i rješenja
Pogreške u planiranju i prikupljanju potreba. Greške upravljanja: mikromenadžment, imitacija. Posljedice: fluktuacija, prekovremeni rad, noćni rad. Pokušaji uvođenja novih zahtjeva i promjena. Nedostaju rokovi. Beznadni projekti. Odgovornost. Spašavanje projekta. Kada biste trebali prestati? Stožer.
Lekcija 7. Mentorstvo
Upravljanje timom. Zašto je mentorstvo važno. Koliko često programer mora biti mentor? Vještina vođenja. Delegacija. PAMETNI ciljevi. Sposobnost učenja.
Lekcija 8. Kvaliteta proizvoda
Sirovi proizvod. Kvalitetan proizvod. Prototip koji radi brzo. Kod visoke kvalitete. Ravnoteža. Odbijanje nekih funkcija. Funkcionalno ispitivanje. Crno bijela kutija. Jedite hranu vlastitog psa.
Lekcija 9. Pisanje životopisa
Meke vještine. Teške vještine. Radim na svom životopisu.
Lekcija 10. Priprema za intervju
Razgovor s HR menadžerom i budućim menadžerom.
Lekcija 11. Karijera u IT tvrtki. Izgledi
Za koje se tvrtke isplati prijaviti? Razvoj stručnjaka. Junior, Middle, Senior, Team Lead, CTO. Upravljanje.
Lekcija 12. Sažimanje
Pregled postignutog. Oproštajne riječi.
Kako postati programer. 13 lekcija.
Korak po korak upute za traženje posla
Karijera u programiranju je uzbudljivo putovanje u svijet moderne tehnologije. Svaki programer ima svoju priču i iskustvo. Međutim, postoji osnovni algoritam koji će vam pomoći da napravite prve korake ispravno i dovedete do svog cilja. Pripremili smo 13 video lekcija u kojima smo najviše odgovorili trenutni problemi o karijeri programera u tvrtkama i na freelance tržištu. Često razmišljate o zapošljavanju i osjećate li da ste spremni početi zarađivati? Onda je ovaj video tečaj za vas.
Lekcija 1. Zanimanje "Programer"
Značajke profesije; PITANJA; potražnja na tržištu rada.
Lekcija 2. Profesionalno usmjeravanje
Hoću li postati uspješan programer? Čimbenici uspjeha.
Lekcija 3. Počnimo pisati životopis
Najvažniji je prvi dojam; kako nazvati poziciju.
Lekcija 4. Odabir programskog jezika: web development
Pregled jezika za razvoj web stranice: HTML, CSS, JavaScript, PHP, Python, Ruby, C#, Java; pravi izbor.
Lekcija 5. Mobilni razvoj. Univerzalni programski jezici
Pregled jezika: Java, Objective-C, Swift; C#, C++, Python: pravi izbor.
Lekcija 6. Pravila za učinkovit životopis
Popis tehnologija; portfelj; diplome i svjedodžbe; osobne kvalitete. Pogled tehničkog stručnjaka i HR-a.
Lekcija 7. Traženje posla: što, gdje, kada
Posao iz snova, psihološki aspekti; tehnika zahtjeva.
Lekcija 8. Intervju i probni rok
Intervjui za programere: kako se ponašati, što reći, što slušati; probni rad i pravila za njegovo polaganje.
Lekcija 9. Freelancing: prvi koraci
Pregled freelancing platformi; značajke registracije; registracija računa; kako se istaknuti među većinom izvođača.
Lekcija 10. Freelancing: početak i pronalaženje narudžbi
Strategija traženja naloga; prioritet naloga: što preuzeti; Pregovaranje; zadaci i zamke tehničkih specifikacija; metode kontaktiranja klijenta; pisanje odgovora i privlačenje pažnje klijenata; prava pitanja.
Lekcija 11. Freelancing: ispunjavanje narudžbi i plaćanje
Načini plaćanja: virmanom ili gotovinom; plaćanje unaprijed ili naknadno plaćanje; pregled situacija u kojima će svaka metoda bolje funkcionirati; priprema za rad i obvezujući ugovori s klijentom; značajke procesa rada; završne faze suradnje; dijeljenje povratnih informacija; tehnika "savjetovanja".
Lekcija 12. Specijaliteti u području IT-a
Kako ide razvoj velike tvrtke? Tko su analitičari, dizajneri, testeri, arhitekti, voditelji projekata, voditelji timova itd.
Lekcija 13. Ljestve karijere u IT-u
Kako izgleda ljestvica karijere u IT-u? U kojim je specijalnostima lakše započeti svoj put? Kakvi su izgledi za razvoj?
Tečaj, razvijen u suradnji sa školom EnglishDom, pomoći će vam da svladate ključne teme na engleskom jeziku koje su relevantne za početnike u IT stručnjacima. Maksimalna vježba i fokus na IT vokabular. 10 lekcija pokriva pisanje životopisa, tehničke zadatke i poslovna pisma, intervjui i pregovori, međunarodna komunikacija prilikom promoviranja vašeg projekta. U živim dijalozima na engleskom jeziku studenti će učvrstiti fraze koje će biti korisne u radu programerima i testerima, marketinškim stručnjacima i dizajnerima.
Lekcija 10. Pokretanje
Razgovaramo o našem projektu i predstavljamo tim na engleskom.