Informacije o kursu
Nivo:
Početni
Početak:
15. April 2019
Trajanje:
3 mjeseca
Broj polaznika:
10
Prijave do:
9. April 2019.
Predavač:
Stevan Čakić
Cijena:
Završen
Uvod u programiranje
Preuzmite plan kursa
Šta je programiranje i razvoj programa (software)
Sigurno ste se nekad zapitali dok čekate red u marketu ili banci šta zaposleni unose tom prilikom. Ko im je omogućio to i šta predstavljaju ti unosi? Možda ste nekad trgovali nešto putem interneta i pitali ste kako samo kroz tri klika i unošenjem informacija o kreditnoj kartici uspijete da kupite nešto što se nalazi nekoliko hiljada kilometara od vas? Vrlo je vjerovatno da ste bar nekad poslali poruku preko Viber-a, Facabook-a, postavili neki komantar na nekoj društvenoj mreži, nekome poslali zahtjev za prijateljstvo, lajkovali nečiju sliku, i slično. Igrali ste neku igru na telefonu, računaru, konzoli, ali sigurno ste razmisljali, kako je ovo neko napravio, kako igra zna da kada kliknete strelicu gore na tastaturi, auto kreće naprijed. Danas je dio svakodnevice gotovo svake osobe digitalni svijet bez obzira na vaš stav o svemu tome. Sve ove stvari koje sam gore naveo kao dio vašeg razmišljanja i možda trenutno misterije za vas pokušaćemo da razbijemo i premostimo kroz ovaj kurs. Pretpostavljam da vam je do sada jasno čim se bavi programer. Osobe koje se bave razvojom software, u nastavku ću ih zvati informatičari, će se najviše uvrijediti tvrdnjom da se bave reinstalacijom računara i pisanjem prezentacija i dokumenata kroz Office programe. Informatičar se bavi izradom arhitekture i razvojem programa, a ne korišćenjem postojećih programa za pisanje teksta 🙂
Šta je algoritam
A kako se struktuira neki program? Pretpostavljam da je velika većina čitalaca čula bar jednom u životu pojam algoritam. Znate li šta je to? Vi sami ste svakodnevno dio nekog algoritma, jutarnju rutinu možete da posmatrate kao algoritam. Probudite se u tačno određeno vrijeme, pripremite se za posao/fakultet, prevezete se do vašeg posla/škole, i tamo obavljate neku aktivnost. Sve ove korakte obavljate u nekom redosledu (sekvencijalnom) radi ostvarivanja nekog cilja (kraj dijela ili cijelog algoritma), a pri tome donosite i neke odluke kao npr. ako je napolju kiša odabraćete da uzmete kišobran, ako je sunčan dan nećete uzeti kišobran. Čest primjer algoritma je i pravljenje jela na osnovu nekog recepta. Taj recept je dio algoritma pri spremanju nekog jela, ali je i priprema posuđa, podešavanje šporeta, itd. takođe dio algoritma Spremam jelo. U programiranje sve funkcioniše pomoću algoritama i oni su krucialni dio svakog programa. Sav kod se zasniva na nekom složenom ili manje složenom algoritmu. Za složenije programe gotovo se uvijek pravi algoritamska šema koja se najčešće iscrta na papiru, a tek nakon toga se krene sa pisanjem programa u nekom programskom jeziku. Na samom početku kursa, prva stvar koju će polaznici savladati je kreiranje algoritama. Kroz cijeli kurs pravićemo razne algoritme ali ćemo se u početku samo kratko osvrnuti na njihovu strukturu. Međutim, algoritam sam za sebe na papiru nije dovoljan i računar nije sposoban da pročita algoritam sa papira i odradi operacije koje su definisanje kroz njega. Zbog toga je potretno napisati kod koji računar razimije, a koji u stvari predstavlja prevođenje iz algoritma u nešto što može da razumije računar.
Šta je programski jezik
Ljudi međusobno kominiciraju na nekom jeziku ali kako da čovjek uspješno komunicira sa računarom? Računar ne razumije jezik ljudi i zbog toga se uvelo nešto što se zove programski jezik. Na samom početku razvoja računara postojali su vrlo kompleksni jezici koje je samo određena grupa ljudi razumjela uz mnogo muke, često će te za njih čuti danas da su to low level programski jezici, asemly jezici i slično. Što je programski jezik više low level razumljiviji je za računar, a samim tim potreno je i manje koraka da bude preved u binarni kod, pa su ti programi i brži (jedini jezik koji računar razumije, a sastoji se samo od dva karaktera 0 i 1, 0 – ugašeno, 1 – upaljeno) ali je čovjeku manje razumljiv, pa se zato krenulo u razvoj prvih high level jezika (Cobol i Fortran) . Programiranje konačno postaje prihvatljivije i primamljivije ljudima jer konačno rade kroz jezik koji ima približnu logiku kao i čovjekov um. U tom periodu (1960-) kreće bum u razvoju programa, sve veći broj ljudi počinje da uči o tome, banka uvode programe u svoje sisteme. Mukotrpni unosi na papir, veliki broj unosa, evidencija, statistika, sve polako kreće da se prenosi u digitalnu formu.
Vjerovatno većini čitalaca više odgovara video nego tekst format, pa zbog toga u nastavku možete pogledati zanimljiv video snimak o nastanku programskih jezika.
Uvod u Python
Svaki program koji koristite je napisan u nekom programskom jeziku, a sastoji se od niza instrukcija (koda) koje čine program. Mi ćemo kroz ovaj kurs raditi Python programski jezik koji je danas vrlo popularan i veoma intuitivan za pisanje. Kroz Python možete pisati kod koji može da obavlja vrlo jednostavne operacije kao što je sabiranje dva broja do vrlo kompleksnih operacija kao što je primjer prikazan na sledećoj slici.
Danas, Python je najbrže rastući programski jezik po popularnosti, pa je i po velikom broju istraživanja već pretekao sve programske jezike. Pa gdje sve se onda koristi?
- Koristi se za pravljenje opštih aplikacija na koje ćemo se fokurisati na samom početku kursa
- Koristi se za pravljenja APIa (više o tome u Flask modulu)
- Koristi se za mašinsko učenje i rad sa većom količinom podataka
- itd.
Baze podataka
A gdje se čuvaju podaci koje korisnik dobija i vidi i kako korisnik uspije da sačuva podatke, a onda kasnije da vidi ono što je dodao? Za to se koriste baze podataka. Baze podataka se jedan on najbitnijih segmenata aplikacije. Veća aplikacija gotovo da ne može dobro da funkcioniše bez dobro dizajniranje baze. Kako se one dizajniraju, šta je SQL (jezik za kreiranje baze podataka) i ostalo vidjećemo i tokom kursa.
API i Flask
A šta je API? Pogledajte praktičan primjer koji će vam dati generalnu sliku šta je to API
Kroz kurs mi ćemo praviti API za komunikacijom sa bazom podataka koju ćemo kreirati u SQLu. Šta je onda Flask? On predstavlja dodatak za Python koji omogućava kreiranje APIa kroz Python.
Šta još interesantno možete da radite kroz Python
Na samom kursu vidjećete kako funkcioniše prepoznavanje lica, teksta, slike, itd. putem kamere, a same funkcionalnosti ćemo pisati kroz Python.
Pa da li ste vi za ovaj kurs
Svako ko je zaljubljenik u programiranje ili želi da to bude sigurno je idealan kandidat za ovaj kurs. Moram da naglasim da će ovaj kurs biti što više praktično orijentisan sa pratećim domaćim zadacima i projektom koji će vam pomoći da utvrdite stečeno i stekenemo novo znanje u ovoj oblasti, a za koje sam siguran da ćete iskoristiti, i to u velikoj mjeri, i u praksi.