Informacije o kursu

Nivo:

Osnovni-srednji

Početak:

13. septembar

Trajanje:

3 mjeseca

Broj polaznika:

15

Prijave do:

3. septembra

Predavač:

Stevan Čakić

Cijena:

Besplatno

Web programiranje (v5)

Preuzmitet plan i program kursa

Plan i program

Pročitati pojašnjenja i napomene na samom kraju teksa.

U okviru prvog dijela kursa polaznici će se upoznati sa pisanjem HTML koda, stilskim jezikom CSS kojim se definiše izgled HTML stranica, kao i programiranjem u JavaScript-u (od osnovnih do naprednih stvari).

Kandidati koji uspješno završe prvi dio kursa, biraće u kom smjeru će se dalje usavršivati:

  • Razvoj interfejsa web i mobilnih aplikacija (React i React Native)
  • Obrada podataka (Django i baze podataka)

Po završeku osnovnih i naprednijih obuka (krajem januara 2022. godine), kandidati će biti raspoređeni u više timova. Svaki tim će dobiti priliku da radi na realnom projektu i rok od mjesec dana da isti realizuje uz pomoć mentora. Po završetku obuke i rada na projektima, najbolji kandidati (bar dva) će ostvariti mogućnost da počnu da rade u jednoj od naših partnerkih kompanija (plaćeni probni rad najviše 3 mjeseca). Po završetku probnog rada, ukoliko se ukaže potreba partnerskih kompanija, kandidat zvanično postaje zaposleni kao dio tima.

Nastava će se organizovati na sledeći način:

  • Polaznici prate dva online snimljena predavanja tokom radne sedmice u trajanju do 120 minuta i to putem online platforme.
  • Polaznici u fiksnom terminu (vjerovatno subota u jutarnjim časovima) dolaze na obavezan čas vježbi kod predavača (Coinis kancelarije). Časovi vježbi su organizovani tako da polaznici sa predavačem rade na izradi konkretnih primjera.

A sada malo opšte priče o web-u.

World Wide Web, ili skraćeno Web, je danas jedan od najpopularnijih mehanizama za širenje informacija među ljudima. Pomoću web-a možemo prezentovati informacije koje se sastoje od riječi, slika, video i audio zapisa – i sve to bez dodatnog softvera koji korisnik mora da instalira na svom računaru – dovoljno je da ima bilo koji web pretraživač (Internet Explorer, Firefox, Chrome, Opera i sl.). Pored toga što putem Web-a korisnici mogu da primaju informacije, oni mogu i da kreiraju sopstvene web stranice i da na taj način oni postaju izvor informacija za druge.

 

 

HTML je takozvani jezik za označavanje hiper tekstova, tj. HTML (Hyper Text Markup Language) se na prvom mjestu koristi kada je potrebno kreirati određenu web stranicu uz primjenu različitih tekstualnih editora. Uobičajena definicija pojma HTML glasi: HTML je standardizovani opisni jezik, koji se primjenjuje za definisanje strukture tekstova, medija i ugrađenih objekata u okviru web stranica. Osnovnu primjenu ovaj jezik nalazi u situaciji kada je potrebno odvojiti konkretne elemente na jednoj stranici, tako da se uz primjenu HTML tagova može precizno definisati gdje treba da se nalazi naslov, na primjer, ali i svi ostali elementi koje sadrži ta stranica. A u okviru standarda koji pomenuti jezik koristi su već implementirani elementi čija je primarna svrha opisivanje karakteristika određene stranice, kao što su recimo ključne riječi ili opis sadržaja. Sve te informacije važe za takozvane meta podatke i svakako su vrlo precizno odvojeni od sadržine same stranice, tj. HTML dokumenta.

CSS je stilski jezik pomoću kojeg se definiše izgled elemenata web stranice. CSS (Cascading Style Sheets) omogućava dodavanje različitih stilova HTML elementima kao što su: veličina i vrsta slova, pozadinske boje, okviri, položaj elemenata, margine, itd…
U početku je na sebe ovu ulogu preuzimao sam HTML. Kako su vremenom sajtovi bili sve kompleksniji, kod je postao veoma nečitljiv i komplikovan za održavanje. Tada je postalo jasno da se mora uvesti neka nova metoda koja bi riješila ovaj problem. Rješenje je došlo sredinom 90-ih godina u vidu CSS-a, tada nazvanog CHSS.
Svrha CSS-a je zapravo odvajanje stila od samog sadržaja web stranice.

Javascipt je takozvani objektni skriptni jezik, čija je osnovna svrha korišćenja vezana za poboljšanje dinamike web stranica. Uz HTML i CSS, JavaScript je jedan od tri glavna temelja razvoja web stranica.  Kada posjetite web-lokaciju koja upotrebljava JavaScript jezik, vaš pretraživač prima puni JavaScript kod, i interpretira ga na licu mjesta pomoću JavaScript engina.

Program koji obrađuje i izvršava skripte zove se interpreter. Interpreter za JavaScript ugrađen je u većinu današnjih internet pretraživača. Interpreter čita kod i prevodi ga u mašinski jezik svakog puta kada se pokrene skripta. Svaki jezik koji se interpretira, tj. koji izvršava interpreter, naziva se skriptni jezik. On pomaže klijentskoj strani u interakciji sa web stranicama čije su funkcionalnosti prethodno definisane u Javascript jeziku.

Ako pogledamo najpopularniju platformu za programere GitHub, možemo vidjeti da su Java i JavaScript dva najpopularnija programska jezika na svijetu, a slijede ih Python, PHP i Ruby. Ipak, uprkos sličnim imenima, Java i JavaScript nisu povezani. Iako je njegov nastanak prvenstveno vezan za programski jezik Java koji je objektno-orijentisan, on nema skoro nikakve veze sa objektno-orijentisanim jezicima. Jedina stvar koju ima zajedničku sa Java programskim jezikom jeste sintaksa koja je nalik programskom jeziku C, odakle su je i naslijedili.

 

 

Kako se JavaScript koristi u stvarnom svijetu?

  • Web-aplikacije – Kao što smo već spomenuli JavaScript se može upotrebljavati za razvoj web stranica front-end i back-end. Front-end uključuje manipulisanje DOM-om web stranica (na primjer: animacije, umetanja podataka, asinhrona ažuriranja), a za back-end uključuje logiku poslužitelja (npr. usmjeravanje, rukovanje podacima, interakcije s bazama podataka). Neki JavaScript framework-ovi rade oboje, što se zove “full-stack” ili cjelokupni razvoj weba. Nakon završetka početnog dijela kursa kandidati će moći da se odluče da li će da nastave da uče front-end (React i React Native) gdje će se dublje baviti upravljanjem interfejsa aplikacije ili će ipak da se bave obradom i bazama podataka (NodeJS i MongoDB). Naći ćete PayPal u svakoj listi aplikacija izgrađenih preko Node.js-a (višeplatformsko JavaScript radno okruženje otvorenog koda  za izvršavanje JavaScript-a na serverskoj strani). Za ogroman saobraćaj Ebay je morao da ide sa dokazanom tehnologijom. Node.js kao dio tehnološkog stacka JavaScript-a je dobro odgovarao ovom e-commerce gigantu. “Node.js pomaže NASA-i da sačuva astronaute”. Potpuno neočekivana izjava i instanca na listi primjera aplikacija Node.js, zar ne? Iako nije baš aplikacija, ovaj Node.js projekat za svemirsku agenciju prikazuje snagu JS tehnologije. Posle jednog opasnog incidenta u svemiru, NASA je saznala da će podaci biti rasuti na mnogim lokacijama. Odlučili su da izgrade sopstveni end-to-end sistem podataka i za to odabrali Node.js. NASA je premjestila sve u cloud i konstruisala Node.js arhitekturu. Oni su koristili veb API za povezivanje dva okruženja. Kao rezultat: jedna baza podataka za sve kao i  smanjenje vremena pristupa za 300%. U stvarnom životu, ove brojke znače sigurnije uslove za astronaute da žive i rade u svemiru. Još neka od svjetski poznatih brendova koji koriste popularni JS za izgradnju svojih platformi su i Netflix, Uber, LinkedIn…
  • Desktop aplikacije – JavaScript se može skinuti s interneta i upakovati u samostalni desktop softver pomoću framework-ova poput Electron i NW.js (nekada Node-Webkit). To se obavlja grupisanjem JavaScript engine-a unutar izvršne datoteke, koja izvršava HTML/CSS/JS naredbe unutar samostalnog prozora na radnoj površini. Na tržištu postoji mnogo popularnih desktop aplikacija koje su napravljene na ovaj način, neke od njih su: VS Code, Atom, Slack, Skype itd.
  • Mobilne aplikacije – Framework poput React native ili  PhoneGap omogućavaju izradu mobilnih aplikacija pomoću JavaScripta. Ovi framework-ovi imaju tendenciju da se mogu svrstati u dvije vrste: one koje prevode JavaScript u izvorni kod i one koji upotrebljavaju JavaScript engine za prikazivanje kao samostalna aplikacija. Najpopularnije mobilne aplikacije napravljene preko JavaScript framework-a su : Facebook, Instagram, Skype, Walmart, SoundCloud, Tesla, Wix, adidas GLITCH, Pinterest…

Pojašnjenje i napomene: Po završetku prve/osnovne obuke, kandidat se opredjeljuje za jedan od dva pravca razvoja. Ukoliko nakon prvog dijela obuke kandidat želi dublje da se bavi razvojem interfejsa, preporuka je da izabere React i React Native (frontend) kurs, a ako se kandidat više zainteresuje za rad sa bazama podatka, obradu podataka, API kreiranje, i slično, preporuka je da odabere drugi pravac, tj. Django (backend).

Po završetku obuke, kreće se u realizaciju finalnog projekta. Plan je da se radi u grupama, a kombinovaće se frontend i backend programeri. Radiće se na realnim projektima. Kao uspomenu, od polaznika koji uspješno završe obuku očekujemo da nam ostave knjigu po njihovom izboru (ne mora biti stručna literatura).

Po završetku prijava, obaviće se selekcija kandidata. Instrukcije o minimalnim uslovima da uđete u uži izbor kandidata za naše obuke dobićete po završetku prijava. Prijemni test će se sastojati od teorijskog i praktičnog dijela. Za prijemni test potrebno je poznavanje algoritama i bar jednog programskog jezika (praktični dio testa radite u programskom jeziku po izboru).

Pogledajte naš intro video na linku. Za sva dodatna pitanja šaljite nam mail na [email protected]

Primjere zadataka za praktični test možete pogledati ovdje (mogu doći i neki teži zadaci, zavisno od broja prijava): Zadaci za vjezbanje

Za teorijski test očekujte opšta pitanja iz informatike, kao što je npr. šta je razlika između viših i nižih programskih jezika, zašto su korisne funkcije u programiranju, zbog čega se koriste različiti tipovi podataka u programskim jezicima, i slično.

Srećno svima 🙂

Ostali kursevi