AKADEMIJA ZA PROGRAMIRANJE
Akademija za programiranje je osmišljena kao jednogodišnja, intenzivna i interaktivna obuka. Održava se ONLINE / UŽIVO na Teams platformi. Nastava je dva puta nedeljno, po četiri časa (utorak i četvrtak od 17:30 do 20:45), i svake druge subote (od 9:00 do 12:15). Program obuhvata sve neophodne module za uspešan početak rada softverskog inženjera (kombinacije frontenda i backenda). Predavači su iskusni i aktivni Senior inženjeri.
Programiranje je, u osnovi, proces pisanja uputstava koja računari mogu razumeti i izvršavati. Rezultat kojem težimo može da bude različit, kao i put do rezultata. Akademija za programiranje fokusira se na takozvane web aplikacije, koje je za izvršavanje i korištenje uglavnom zahtevaju kombinaciju servera (udaljenog računara) i web browsera (Veb-pregledača).
Studiranjem na našoj akademiji, uz pomoć najiskusnijih profesionalaca, savladaćete sledeće oblasti:
Prilikom samostalnog rada, a pogotovo rada u timu, potrebno je pratiti promene koje nastaju na kodu. Alati za tu namenu imaju mnogo funkcionalnosti, a mogu da se iskoriste za vraćanje na neku od prethodnih verzija koda, pregled izmena nastalih pre određenog vremena, spajanje verzija koda od strane više programera, itd. Najkorišćeniji alat tog tipa je git, a platforma GitHub. Na našoj akademiji ćete imati prilike da se upoznate sa oboje.
HTML je jezik za definisanja strukture web stranice. Koristi se za opisivanje sadržaja i pratećih elemenata. Sa druge strane je CSS koji se koristi za definisanje izgleda web stranice, odnosno izgleda HTML elemenata na stranici. Kombinacija HTML-a i CSS-a omogućava web browserima da prikažu web stranice. Na našoj akademiji ćete učiti najnovije verzije HTML-a i CSS-a, kao i njihovu primenu u modernim web aplikacijama.
Dok nam HTML i CSS koriste za definisanje strukture i izgleda web stranica, JavaScript je tu da omogući interaktivnost, te da naše stranice pretvori u punokrvne aplikacije. Sa JavaScriptom, naša web aplikacija može da reaguje na korisničke akcije, poput pritiskanja linkova i dugmića te popunjavanja polja, ali i na događaje koji se izazvani bez akcija korisnika, kao što su inicijalno učitavanje stranice, periodično izvršavanje, i sl. Na akademiji ćete svoje prve korake u programiranju napraviti upravo kroz JavaScript programski jezik.
Objektno orijentisano programiranje
Jedan od načina definisanja poslovnog problema prilikom programiranja je objektno-orijentisano programiranje (OOP). OOP je vrlo popularan način programiranja jer omogućava relativno jednostavno predstavljanje objekata iz stvarnog sveta, i njihovih relacija, unutar aplikacije. Na akademiji ćete imati priliku da naučite kako da modelujete vaše aplikacije korišćenjem OOP koncepata.
Funkcionalno programiranje
Pored objektno-orijentisanog programiranja, još jedan poznati vid programiranja je funkcionalno programiranje. Za razliku od OOP, kod kojeg više razmišljamo u obliku objekata i njihovih relacija, pri funkcionalnom programiranju naše razmišljanje ide više u smeru funkcija, te njihovih ulaznih i izlaznih vrednosti. Tokom akademije, imaćete prilike da se upoznate sa funkcionalnim programiranjem kroz JavaScript i C# jezike.
Asinhrono programiranje
Prilikom izvršavanja aplikacija, često treba da čekamo na eksterne događaje, poput učitavanja podataka sa nekog udaljenog računara, ili iz baze podataka. Da bismo aplikaciji, a i samom računaru, omogućili da maksimalno iskoristi dostupno vreme, uveden je koncept asinhronog programiranja. Asinhrono programiranje izbegava zaključavanje resursa dok se radi čekanje na neki eksterni događaj, omogućujući našoj aplikaciji da bude responzivnija.
.NET je napredna multi-funkcionalna platforma za razvoj različitih tipova aplikacija. Zahvaljujući drastičnim izmenama od pre nekoliko godina, .NET sada može da se izvršava na svim popularnim operativnim sistemima (ranije je bio vezan za Windows), i ima mnogo bolje performanse od svog prethodnika (.NET Framework). Mada podržava više programskih jezika, najpopularniji je C#, kojeg ćemo da učimo tokom trajanja akademije.
Osnove relacionih baza podataka
Većina aplikacija koje razvijamo na jedan ili drugi način upravlja sa podacima. Postoji mnogo načina za definisanje podataka i mnogo različitih tipova baza podataka, ali najpoznatije su relacione baze podataka. Na akademiji ćete učiti o osnovnim konceptima relacionih baza, poput tabela, relacija, primarnih i stranih ključeva, indeksa, i upita.
SQL programski jezik za manipulaciju podacima
Jednom kada imamo podatke sa kojim treba da radimo, dolazimo do potrebe da manipulišemo sa njima, npr. da odaberemo određeni podskup podataka po nekom kriterijumu, nađemo ekstremnu vrednost, transformišemo podatke u neki drugi oblik, i slično. Najjednostavniji način da to postignemo je korišćenjem programskog jezika SQL, koji je standard za relacione baze podataka.
Microsoft SQL Server
Microsoft SQL Server je primer relacione baze podataka, i to jedne od najkorišćenijih. Omogućava sigurno smeštanje podataka, i manipulaciju sa njima. Implementira i svoju verziju SQL jezika, pod imenom Transact SQL (T-SQL). Tokom akademije, koncepte relacionih baza podataka, kao i SQL jezik ćete imati prilike učiti kroz Microsoft SQL Server.
ASP.NET Core MVC
ASP.NET Core je dio .NET platforme i predstavlja web framework za razvoj naprednih web aplikacija. Sastoji se od nekoliko različitih delova, od kojih je jedan MVC (Model-View-Controller). Koristi poseban jezik za definisanje strukture stranica – Razor – koji se prevodi u HTML. Pored Razora, CSS je neophodan sastojak, a često je potrebno da koristimo i JavaScript, za interaktivnost stranica.
ASP.NET Core Web API
Za razliku od ASP.NET Core MVC, ASP.NET Core Web API je čisto backend rešenje za REST API (jednostavni HTTP pozivi). Uz Web API je često potrebno koristiti neki od JavaScript web frameworka poput Angular, React, Vue, ili Blazor. Na akademiji ćete naučiti kako ASP.NET Core funkcioniše, i koje su prednosti i mane MVC i Web API dijelova.
Projekat
Takođe, imaćete priliku da zajedno sa ostalim kolegama radite na projektu razvoja aplikacije kroz koji ćete moći iskoristiti i utvrditi stečeno znanje. Završni rad će se sastojati od dodavanja nove funkcionalnosti postojećem projektu, ili kreiranja novog projekta koji će pokriti većinu naučenog.
Sertifikati
- Definisanje problema
- Rešavanje problema
- Relacioni operatori
- Grananje
- Petlje
- Kolekcije
- Uvod u programske jezike
- Osnovni koncepti
- Uvod u HTML
- Linkove
- Slike
- Tabele
- Forme
- Raspored elemenata
- Video, audio, frejmovi, i meta-tagovi
- Uvod u CSS
- Boje
- Stilizovanje teksta i linkova
- Box model
- Pozicioniranje
- Responzivni web
- Tranzicije, transformacije i animacije
- CSS pseudo-elementi
- Flexbox
- Uvod i pisanje programa
- Varijable
- Tipovi podataka
- Operatori
- Funkcije
- Nizovi
- Petlje
- DOM
- Events (događaji)
- OOP
- Eksterne biblioteke
- AJAX i JSON
- Tipovi funkcija
- Scope (opseg)
- Rekurzija
- Izrada aplikacija sa JS
- Napredni funkcionalni koncepti
- Funkcionalno programiranje
- Izvršavanje
- Rad sa browserima
- Asinhrono programiranje
- Fetch API
- Async/await
- Napredni OOP koncepti
- Klase
- npm
- Node.JS
- Uvod u C#
- Uvod u Visual Studio
- Konzolne aplikacije
- Tipovi podataka
- Varijable
- Petlje i uslovi
- Nizovi
- Metode
- OOP – klase, konstruktori, modifikatori pristupa, nasleđivanje
- Enumeracije
- Izrada C# biblioteka i aplikacija
- Kolekcije
- LINQ
- Upravljanje greškama
- Apstraktne klase i interfejsi
- Statičke klase i članovi
- Parcijalni klase
- Properties (osobine klasa)
- Strukture
- Polimorfizam
- Generički tipovi
- Extension metodi (proširenja)
- Anonimni metodi
- Napredni LINQ
- Delegati i događaji
- Fajl sistem i tokovi podataka (streams)
- Disposing (uništavanje) objekata
- Nulabilni tipovi
- Serijalizacija
- Asynchronous programming and threads (asinhroni i višenitni rad)
- Konvencije i najbolje prakse
- Uvod u baze podataka i SQL
- Upiti
- Filtriranje i sortiranje
- Ograničenja u tabelama i ključevima
- Join (spajanje) tabela
- Agregatne funkcije i grupisanje
- Views
- Ugrađene i korisničke funkcije
- Skladištene procedure
- Upravljanje grešakama
- Uvod u ASP.NET MVC
- MVC šablon
- Kontroleri i akcije
- Rutiranje
- Modeli i view modeli
- Prikaz podataka u browseru
- Razor jezik
- Rad sa formama
- Softverska arhitektura – n-tier, onion architecture
- Design patterns (gotova rešenja)
- Spajanje baze podataka
- ORM i Entity Framework
- Izrada demo projekta
- Uvod u API i WebAPI
- Kontroleri i akcije
- Rutiranje
- HTTP pozivi
- Rad sa podacima i konverzija podataka
- Alati za rad sa API-jima – Postman, Swagger
- Rad sa bazama podataka – ORM, ADO.NET, Dapper
- Izrada arhitekture
- Autentikacija i autorizacija
- Ručni i automatski testovi
- Logovanje
- Spajanje drugih servisa
- Analiza i definisanje aplikacija
- Zajednička izrada projekta
Kurs 1: Uvod u programiranje
Kurs 2: Osnove web aplikacija (HTML i CSS)
Kurs 3: Osnove JavaScript jezika
Kurs 4: Napredni JavaScript
Kurs 5: Osnove C#-a
Kurs 6: Napredni C#
Kurs 7: Baze podataka i SQL
Kurs 8: ASP.NET MVC
Kurs 9: ASP.NET Web API
Miroslav Popović
Software Engineering Manager, Qinshift
Boris Đukić
Projektant informacionih Sistema
Jelena Miodragović
M.Eng(IT) and Software Engineer @ Diplomat TechAnanas
Almir Vuk
Senior Software Engineer u AgentLocator Inc.
Zoran Malinović
Acting Head of Growth u kompaniji Ananas
Aida Pirušić
Senior Frontend Developer u kompaniji NSoft
Kome je namenjena ova akademija?
Akademija za programiranje je namenjena svakom studentu koji želi da kombinuje nove veb tehnologije sa tradicionalnim konceptima računarskih nauka.
Da li je potrebno predznanje?
Ova akademija ne zahteva prethodno znanje iz programiranja.
Biti veb programer znači ne samo da vladate najnovijim programskim jezicima, već i da imate razvijenu intuiciju za pisanje koda koji je efikasan, siguran i održiv. Metodologija studije ima idealnu ravnotežu između ovih ključnih komponenti. Svako predznanje studenta je njegova lična prednost, ali nije neophodno.
Kako je organizovana nastava?
Nastava je organizovana uživo, preko Teems platforme. Svi predavači i polaznici su aktivno uključeni u nastavni proces, jer je program organizovan kao interaktivan i proaktivan zajednički rad. Predavaja se baziraju na praktičnom radu i realnim primerima i projektima. Osim na predavanjima, komunikacija sa mentorima i kolegama, za konsultacije, je moguća i u grupi na nekoj od aplikacija.
Načini plačanja?
Postoje 2 načina plaćanja. U celosti i na rate, koje se sinhronizuju prema aktivnim popustima u trenutku prijave.
Ukoliko se odlučite za plaćanje na rate, plaćanje počinje od momenta prijave i završava se mesec dana pre završetka akademije, a broj rata zavisi od datuma upisa.
Imate još pitanja?
Programiranje
1.975 €
- 2.550 € Redovna cena
- 2.075 € - Cena na rate
- 4.1 € - cena po času
- novembar 2024
- 480 časova
- 12 meseci
- online/uživo
- 2 / 3 puta nedeljno
- 17:30 - 20:45
Trenutna cena
2.550 €
1.975 €
Cena na rate
2.075 €
2.075 €
Početak: Novembar 2024
Akademija za programiranje je osmišljena kao jednogodišnja, intenzivna i interaktivna obuka. Održava se ONLINE / UŽIVO na Teams platformi. Nastava je dva puta nedeljno, po četiri časa (utorak i četvrtak od 17:30 do 20:45), i svake druge subote (od 9:00 do 12:15). Program obuhvata sve neophodne module za uspešan početak rada softverskog inženjera (kombinacije frontenda i backenda). Predavači su iskusni i aktivni Senior inženjeri.
Programiranje je, u osnovi, proces pisanja uputstava koja računari mogu razumeti i izvršavati. Rezultat kojem težimo može da bude različit, kao i put do rezultata. Akademija za programiranje fokusira se na takozvane web aplikacije, koje je za izvršavanje i korištenje uglavnom zahtevaju kombinaciju servera (udaljenog računara) i web browsera (Veb-pregledača).
Studiranjem na našoj akademiji, uz pomoć najiskusnijih profesionalaca iz ove oblasti, savladaćete sledeće:
Upoznaćete se sa osnovnim konceptima programiranja, poput načina definisanja problema, razlaganja problema, i njihovog rešavanja. Takođe, proći ćete kroz metodologiju programiranja, definisanja odluka, korišćenja matematičkih i logičkih operatora, predstavljanje podataka…
Prilikom samostalnog rada, a pogotovo rada u timu, potrebno je pratiti promene koje nastaju na kodu. Alati za tu namenu imaju mnogo funkcionalnosti, a mogu da se iskoriste za vraćanje na neku od prethodnih verzija koda, pregled izmena nastalih pre određenog vremena, spajanje verzija koda od strane više programera, itd. Najkorišćeniji alat tog tipa je git, a platforma GitHub. Na našoj akademiji ćete imati prilike da se upoznate sa oboje.
HTML je jezik za definisanja strukture web stranice. Koristi se za opisivanje sadržaja i pratećih elemenata. Sa druge strane je CSS koji se koristi za definisanje izgleda web stranice, odnosno izgleda HTML elemenata na stranici. Kombinacija HTML-a i CSS-a omogućava web browserima da prikažu web stranice. Na našoj akademiji ćete učiti najnovije verzije HTML-a i CSS-a, kao i njihovu primenu u modernim web aplikacijama..
Dok nam HTML i CSS koriste za definisanje strukture i izgleda web stranica, JavaScript je tu da omogući interaktivnost, te da naše stranice pretvori u punokrvne aplikacije. Sa JavaScriptom, naša web aplikacija može da reaguje na korisničke akcije, poput pritiskanja linkova i dugmića te popunjavanja polja, ali i na događaje koji se izazvani bez akcija korisnika, kao što su inicijalno učitavanje stranice, periodično izvršavanje, i sl. Na akademiji ćete svoje prve korake u programiranju napraviti upravo kroz JavaScript programski jezik.
Objektno orijentisano programiranje
Jedan od načina definisanja poslovnog problema prilikom programiranja je objektno-orijentisano programiranje (OOP). OOP je vrlo popularan način programiranja jer omogućava relativno jednostavno predstavljanje objekata iz stvarnog sveta, i njihovih relacija, unutar aplikacije. Na akademiji ćete imati priliku da naučite kako da modelujete vaše aplikacije korišćenjem OOP koncepata.
Funkcionalno programiranje
Pored objektno-orijentisanog programiranja, još jedan poznati vid programiranja je funkcionalno programiranje. Za razliku od OOP, kod kojeg više razmišljamo u obliku objekata i njihovih relacija, pri funkcionalnom programiranju naše razmišljanje ide više u smeru funkcija, te njihovih ulaznih i izlaznih vrednosti. Tokom akademije, imaćete prilike da se upoznate sa funkcionalnim programiranjem kroz JavaScript i C# jezike.
Asinhrono programiranje
Prilikom izvršavanja aplikacija, često treba da čekamo na eksterne događaje, poput učitavanja podataka sa nekog udaljenog računara, ili iz baze podataka. Da bismo aplikaciji, a i samom računaru, omogućili da maksimalno iskoristi dostupno vreme, uveden je koncept asinhronog programiranja. Asinhrono programiranje izbegava zaključavanje resursa dok se radi čekanje na neki eksterni događaj, omogućujući našoj aplikaciji da bude responzivnija.
Osnove relacionih baza podataka
Većina aplikacija koje razvijamo na jedan ili drugi način upravlja sa podacima. Postoji mnogo načina za definisanje podataka i mnogo različitih tipova baza podataka, ali najpoznatije su relacione baze podataka. Na akademiji ćete učiti o osnovnim konceptima relacionih baza, poput tabela, relacija, primarnih i stranih ključeva, indeksa, i upita.
SQL programski jezik za manipulaciju podacima
Jednom kada imamo podatke sa kojim treba da radimo, dolazimo do potrebe da manipulišemo sa njima, npr. da odaberemo određeni podskup podataka po nekom kriterijumu, nađemo ekstremnu vrednost, transformišemo podatke u neki drugi oblik, i slično. Najjednostavniji način da to postignemo je korišćenjem programskog jezika SQL, koji je standard za relacione baze podataka.
Microsoft SQL Server
Microsoft SQL Server je primer relacione baze podataka, i to jedne od najkorišćenijih. Omogućava sigurno smeštanje podataka, i manipulaciju sa njima. Implementira i svoju verziju SQL jezika, pod imenom Transact SQL (T-SQL). Tokom akademije, koncepte relacionih baza podataka, kao i SQL jezik ćete imati prilike učiti kroz Microsoft SQL Server.
ASP.NET Core MVC
ASP.NET Core je dio .NET platforme i predstavlja web framework za razvoj naprednih web aplikacija. Sastoji se od nekoliko različitih delova, od kojih je jedan MVC (Model-View-Controller). Koristi poseban jezik za definisanje strukture stranica – Razor – koji se prevodi u HTML. Pored Razora, CSS je neophodan sastojak, a često je potrebno da koristimo i JavaScript, za interaktivnost stranica.
ASP.NET Core Web API
Za razliku od ASP.NET Core MVC, ASP.NET Core Web API je čisto backend rešenje za REST API (jednostavni HTTP pozivi). Uz Web API je često potrebno koristiti neki od JavaScript web frameworka poput Angular, React, Vue, ili Blazor. Na akademiji ćete naučiti kako ASP.NET Core funkcioniše, i koje su prednosti i mane MVC i Web API dijelova.
Projekat
Takođe, imaćete priliku da zajedno sa ostalim kolegama radite na projektu razvoja aplikacije kroz koji ćete moći iskoristiti i utvrditi stečeno znanje. Završni rad će se sastojati od dodavanja nove funkcionalnosti postojećem projektu, ili kreiranja novog projekta koji će pokriti većinu naučenog.
Sertifikati
- Definisanje problema
- Rešavanje problema
- Relacioni operatori
- Grananje
- Petlje
- Kolekcije
- Uvod u programske jezike
- Osnovni koncepti
- Uvod u HTML
- Linkove
- Slike
- Tabele
- Forme
- Raspored elemenata
- Video, audio, frejmovi, i meta-tagovi
- Uvod u CSS
- Boje
- Stilizovanje teksta i linkova
- Box model
- Pozicioniranje
- Responzivni web
- Tranzicije, transformacije i animacije
- CSS pseudo-elementi
- Flexbox
- Uvod i pisanje programa
- Varijable
- Tipovi podataka
- Operatori
- Funkcije
- Nizovi
- Petlje
- DOM
- Events (događaji)
- OOP
- Eksterne biblioteke
- AJAX i JSON
- Tipovi funkcija
- Scope (opseg)
- Rekurzija
- Izrada aplikacija sa JS
- Napredni funkcionalni koncepti
- Funkcionalno programiranje
- Izvršavanje
- Rad sa browserima
- Asinhrono programiranje
- Fetch API
- Async/await
- Napredni OOP koncepti
- Klase
- npm
- Node.JS
- Uvod u C#
- Uvod u Visual Studio
- Konzolne aplikacije
- Tipovi podataka
- Varijable
- Petlje i uslovi
- Nizovi
- Metode
- OOP – klase, konstruktori, modifikatori pristupa, nasleđivanje
- Enumeracije
- Izrada C# biblioteka i aplikacija
- Kolekcije
- LINQ
- Upravljanje greškama
- Apstraktne klase i interfejsi
- Statičke klase i članovi
- Parcijalni klase
- Properties (osobine klasa)
- Strukture
- Polimorfizam
- Generički tipovi
- Extension metodi (proširenja)
- Anonimni metodi
- Napredni LINQ
- Delegati i događaji
- Fajl sistem i tokovi podataka (streams)
- Disposing (uništavanje) objekata
- Nulabilni tipovi
- Serijalizacija
- Asynchronous programming and threads (asinhroni i višenitni rad)
- Konvencije i najbolje prakse
- Uvod u baze podataka i SQL
- Upiti
- Filtriranje i sortiranje
- Ograničenja u tabelama i ključevima
- Join (spajanje) tabela
- Agregatne funkcije i grupisanje
- Views
- Ugrađene i korisničke funkcije
- Skladištene procedure
- Upravljanje grešakama
- Uvod u ASP.NET MVC
- MVC šablon
- Kontroleri i akcije
- Rutiranje
- Modeli i view modeli
- Prikaz podataka u browseru
- Razor jezik
- Rad sa formama
- Softverska arhitektura – n-tier, onion architecture
- Design patterns (gotova rešenja)
- Spajanje baze podataka
- ORM i Entity Framework
- Izrada demo projekta
- Uvod u API i WebAPI
- Kontroleri i akcije
- Rutiranje
- HTTP pozivi
- Rad sa podacima i konverzija podataka
- Alati za rad sa API-jima – Postman, Swagger
- Rad sa bazama podataka – ORM, ADO.NET, Dapper
- Izrada arhitekture
- Autentikacija i autorizacija
- Ručni i automatski testovi
- Logovanje
- Spajanje drugih servisa
- Analiza i definisanje aplikacija
- Zajednička izrada projekta
Kurs 1: Uvod u programiranje
Kurs 2: Osnove web aplikacija (HTML i CSS)
Kurs 3: Osnove JavaScript jezika
Kurs 4: Napredni JavaScript
Kurs 5: Osnove C#-a
Kurs 6: Napredni C#
Kurs 7: Baze podataka i SQL
Kurs 8: ASP.NET MVC
Kurs 9: ASP.NET Web API
Miroslav Popović
Software Engineering Manager, Qinshift
Boris Đukić
Projektant informacionih Sistema
Jelena Miodragović
M.Eng(IT) and Software Engineer @ Diplomat TechAnanas
Almir Vuk
Senior Software Engineer u AgentLocator Inc.
Zoran Malinović
Acting Head of Growth u kompaniji Ananas
Aida Pirušić
Senior Frontend Developer u kompaniji NSoft
Kome je namenjena ova akademija?
Akademija za programiranje je namenjena svakom studentu koji želi da kombinuje nove veb tehnologije sa tradicionalnim konceptima računarskih nauka.
Da li je potrebno prethodno znanje?
Ova akademija ne zahteva prethodno znanje iz programiranja.
Biti veb programer znači ne samo da vladate najnovijim programskim jezicima, već i da imate razvijenu intuiciju za pisanje koda koji je efikasan, siguran i održiv. Metodologija studije ima idealnu ravnotežu između ovih ključnih komponenti. Svako predznanje studenta je njegova lična prednost, ali nije neophodno.
Kako je organizovana Online nastava?
Nastava je organizovana uživo, preko Teems platforme. Svi predavači i polaznici su aktivno uključeni u nastavni proces, jer je program organizovan kao interaktivan i proaktivan zajednički rad. Predavaja se baziraju na praktičnom radu i realnim primerima i projektima. Osim na predavanjima, komunikacija sa mentorima i kolegama, za konsultacije, je moguća i u grupi na nekoj od aplikacija.
Načini plačanja?
Postoje 2 načina plaćanja. U gotovini i na rate koje se sinhronizuju prema aktivnim popustima u trenutku prijave.
Ukoliko se odlučite za plaćanje na rate, plaćanje počinje od momenta prijave i završava se mesec dana pre završetka akademije, a broj rata zavisi od datuma upisa.