Obaveštenja

[13E113PIA] 23.02.2024.
Prve nedelje nastave će biti održani svi časovi po rasporedu.
Od studenata se očekuje da se pre početka nastave upoznaju sa gradivom HTML, CSS, JavaScript, za šta su im dostupni snimci vežbi iz školske 2020/2021. godine: lista snimaka.
Prezentacije i dodatni materijali se mogu naći u sekciji "Materijali sa vežbi".

[13S114PIA] 23.02.2024.
Poeni sa kolokvijuma za studente koji nemaju odbranjen projekat mogu se videti OVDE.

Informacije o predmetu



Predmet se u školskoj 2023/2024. godini drži kao obavezni predmet na Odseku za računarsku tehniku i informatiku, na trećoj godini osnovnih akademskih studija (VI semestar).
Ove školske godine nastava se održava uživo, u prostorijama Elektrotehničkog fakulteta. Predmetni nastavnici zadržavaju pravo da način održavanja nastave izmene u slučaju promene epidemiološke situacije ili saveta nadležnih institucija.


Sva obaveštenja, prijave i rezultati se prosleđuju na zvaničnu mejling listu predmeta 13e113pia@lists.etf.rs.
Nakon druge nedelje nastave, kada se završi procedura odabira predmeta za semestar, svi studenti koji su prijavili slušanje predmeta će biti dodati na listu sa zvaničnom studentskom e-mail adresom, o čemu će dobiti i obaveštenje.
Sva komunikacija sa predmetnim nastavnicima mora biti poslata isključivo sa zvanične studentske e-mail adrese.

Molimo studente da budu ažurni u proveri svoje elektronske pošte, naročito u danima pred najavljene aktivnosti na predmetu.

Predavanja:
ponedeljak, 10:15, sala 57 [P1]

Vežbe:
sreda, 14:15, sala 70 [V2] i petak, 10:15, sala 70 [V1]

Laboratorijske vežbe:
U toku semestra se održavaju tri laboratorijske vežbe. Pokaznog su karaktera i nije obavezno prisustvo. Pred svaku vežbu, studentima se šalje prijava za potvrdu prisustva. Nakon svih održanih grupa, tekst i rešenje laboratorisjke vežbe se mogu naći u odeljku laboratorijske vežbe.

Cilj kursa:
Upoznavanje sa osnovnim pojmovima razvoja višeslojnih Internet aplikacija baziranih na programskim jezicima TypeScript i Java. Biće pokazana primena najsavremenijih tehnologija za dizajn i implementaciju Internet aplikacija.
Studenti će biti osposobljeni da projektuju i razviju višeslojne Internet aplikacije potrebne složenosti koristeći moderne načine i savremene veb tehnologije. Nakon izrade projekta, studenti će biti spremni za razvoj (ne)komercijalnih Internet aplikacija.
Sadržaj kursa:
  • HTML, CSS
  • JavaScript
  • Angular
  • SpringBoot
  • Povezivanje Angular+SpringBoot aplikacije sa MySQL bazom podataka
  • Node + Express
  • Povezivanje Angular+Node aplikacije sa MongoDB i MySQL bazama podataka
  • Testiranje veb aplikacija
  • Višeslojne i mikroservisne veb arhitekture


35 poena (K1) + 35 poena (K2)
Kolokvijumi predstavljaju pismeni deo ispita. Oba kolokvijuma rade se na računaru, u računarskim laboratorijama.
Uslov za uspešno položen pismeni deo ispita je najmanje 10 poena na svakom od kolokvijuma i najmanje 35 poena u zbiru. Uslov je dat i u odeljku Polaganje ispita.
Poeni sa kolokvijuma važe najviše jednu školsku godinu.

  • Prvi kolokvijum (K1)
    Polaže se u vreme kolokvijumskih vikenda. Na kolokvijumu se može ostvariti najviše 35 poena. Za uspešno položen kolokvijum neophodno je osvojiti najmanje 10 poena.
    Kolokvijum se može nadoknaditi u junskom i julskom ispitnom roku. U ispitnim rokovima nakon julskog, prvi kolokvijum se može raditi samo u okviru integrlanog ispita. Izlaskom na nadoknadu kolokvijuma poništavaju se prethodno osvojeni poeni.
    Izrada kolokvijuma traje 120 minuta (2h).

  • Drugi kolokvijum (K2)
    Polaže se u ispitnim rokovima. Na kolokvijumu se može ostvariti najviše 35 poena. Za uspešno položen kolokvijum neophodno je osvojiti najmanje 10 poena.
    Kolokvijum se može nadoknaditi u svim ispitnim rokovima, kao i raditi u okviru integralnog ispita. Izlaskom na nadoknadu kolokvijuma poništavaju se prethodno osvojeni poeni.
    Izrada kolokvijuma traje 120 minuta (2h).

  • Integralno polaganje (K1+K2)
    U ispitnim rokovima student može polagati oba kolokvijuma u terminu održavanja ispita, pri čemu važe gore-navedena pravila u vezi sa poenima po kolokvijumu.
    Ukoliko se ispit polaže integralno, poništavaju se do tada osvojeni poeni sa kolokvijuma. Parcijalni poeni sa integralnog polaganja se ne računaju u narednim ispitnim rokovima. To znači da ukoliko student nije zadovoljan poenima sa integralnog polaganja i u nekom narednom roku želi da radi samo jedan kolokvijum, ne računaju mu se poeni ostvareni prilikom integralnog polaganja.
    Izrada oba dela ispita traje 180 minuta (3h).


Vredi 30 poena

Projekat se radi samostalno. Izradom projekta student treba da demonstrira stečeno znanje. Potrebno je realizovati Internet aplikaciju zadate specifikacije, koristeći tehnologije obrađene tokom kursa.

Tekst projekta se objavljuje pred junski, avgustovski i februarski ispitni rok (početkom maja, krajem jula i početkom decembra).

Projekat se može braniti u svakom ispitnom roku u kojem student ima uspešno položen pismeni deo ispita (barem 10 poena na svakom od kolokvijuma i barem 35 poena u zbiru) i ima evidentiranu prijavu preko e-Student. Student mora raditi aktuelni projekat za rok u kojem želi da pristupi odbrani. Odbrana se obično organizuje nekoliko dana nakon datuma ispita, ali se može organizovati i 2-3 dana nakon ispitnog roka, u zavisnosti od rasporeda i obaveza u ispitnom roku.
Obaveštenje o tačnom datumu odbrane i načinu predaje projekta prosleđuje se na mejling listu predmeta nakon datuma ispita u ispitnom roku.

Projekat se mora odbraniti na računaru u računarskoj laboratoriji. Od studenta se očekuje da na odbrani ume samostalno da podesi okruženje za odbranu, kao i da uspešno odgovori na pitanja u vezi sa izradom projekta i evenutalne dodatne zahteve.
Verzije okruženja i dostupnih tehnologija mogu se naći na predmetnom sajtu (odeljak "Literatura"). Savetuje se da student krene razvoj od datog početnog projekta koji se može naći u materijalima kursa.

Uz tekst projekta objavljuje se i spisak minimalnih (obaveznih) funkcionalnosti koje projekat mora da zadovolji. Student mora u potpunosti da uradi zadate minimalne funkcionalnosti kako bi uspešno odbranio projekat. Zadate funkcionalnosti se ne mogu zameniti drugim funkcionalnostima projekta.

Predmetni nastavnici zadržavaju pravo da izvrše proveru sličnosti predatih projekata. Ukoliko se utvrdi nedozvoljena saradnja, studenti mogu biti udaljeni sa ispita i prijavljeni Disciplinskoj komisiji.


U svakom roku u kojem student izlazi na bilo koji deo ispita, on mora imati prijavu ispita, nezavisno od toga koji deo ispita polaže u tom roku (samo pismeni deo, samo projekat ili oba).
Student se na početku ispita izjašnjava na koji način želi da polaže ispit.
U tabeli ispod je dat pregled koje delove pismenog dela ispita student može da polaže po rokovima.

Rok K1 K2 I (K1+K2)
jun
jul
avgust
septembar
februar

Da bi student položio ispit, mora osvojiti najmanje 35 od 70 poena na pismenom delu ispita, od čega najmanje 10 poena na K1 i najmanje 10 poena na K2, i mora osvojiti najmanje 15 od 30 poena na projektu.
Uspešna odbrana projektnog zadatka je poslednja aktivnost na ovom predmetu.


Predmet se u školskoj 2023/2024. godini drži kao obavezni predmet na Odseku za softversko inženjerstvo, na četvrtoj godini osnovnih akademskih studija (VII semestar).
Ove školske godine nastava se održava uživo, u prostorijama Elektrotehničkog fakulteta. Predmetni nastavnici zadržavaju pravo da način održavanja nastave izmene u slučaju promene epidemiološke situacije ili saveta nadležnih institucija.


Sva obaveštenja, prijave i rezultati se prosleđuju na zvaničnu mejling listu predmeta si4pia@lists.etf.rs.
Nakon druge nedelje nastave, kada se završi procedura odabira predmeta za semestar, svi studenti koji su prijavili slušanje predmeta će biti dodati na listu sa zvaničnom studentskom e-mail adresom, o čemu će dobiti i obaveštenje.
Sva komunikacija sa predmetnim nastavnicima mora biti poslata isključivo sa zvanične studentske e-mail adrese.

Molimo studente da budu ažurni u proveri svoje elektronske pošte, naročito u danima pred najavljene aktivnosti na predmetu.

Predavanja:
ponedeljak, 16:15 - sala 308 [P1]
sreda, 14:15 - sala 314 [P2]

Vežbe:
sreda, 16:15 - sala 308 [V1]
sreda, 16:15 - sala 314 [V2]

Laboratorijske vežbe:
U toku semestra se održavaju dve laboratorijske vežbe. Pokaznog su karaktera i nije obavezno prisustvo. Pred svaku vežbu, studentima se šalje prijava za potvrdu prisustva. Nakon svih održanih grupa, tekst i rešenje laboratorisjke vežbe se mogu naći u odeljku laboratorijske vežbe.

Cilj kursa:
Upoznavanje sa osnovnim pojmovima razvoja višeslojnih Internet aplikacija baziranih na programskim jezicima TypeScript i Java. Biće pokazana primena najsavremenijih tehnologija za dizajn i implementaciju Internet aplikacija.
Studenti će biti osposobljeni da projektuju i razviju višeslojne Internet aplikacije potrebne složenosti koristeći moderne načine i savremene veb tehnologije. Nakon izrade projekta, studenti će biti spremni za razvoj (ne)komercijalnih Internet aplikacija.
Sadržaj kursa:
  • Angular
  • SpringBoot
  • Povezivanje Angular+SpringBoot aplikacije sa MySQL bazom podataka
  • Node + Express
  • Povezivanje Angular+Node aplikacije sa MongoDB i MySQL bazama podataka
  • Testiranje veb aplikacija
  • Višeslojne i mikroservisne veb arhitekture


35 poena (K1) + 35 poena (K2)
Kolokvijumi predstavljaju pismeni deo ispita. Oba kolokvijuma rade se na računaru, u računarskim laboratorijama.
Uslov za uspešno položen pismeni deo ispita je najmanje 10 poena na svakom od kolokvijuma i najmanje 35 poena u zbiru. Uslov je dat i u odeljku Polaganje ispita.
Poeni sa kolokvijuma važe do kraja tekuće školske godine.

  • Prvi kolokvijum (K1)
    Polaže se u prvoj kolokvijumskoj nedelji ili po dogovoru sa studentima. Na kolokvijumu se može ostvariti najviše 35 poena. Za uspešno položen kolokvijum neophodno je osvojiti najmanje 10 poena.
    Kolokvijum se može nadoknaditi u januarskom i februarskom ispitnom roku. U ispitnim rokovima nakon februarskog, prvi kolokvijum se može raditi samo u okviru integrlanog ispita. Izlaskom na nadoknadu kolokvijuma poništavaju se prethodno osvojeni poeni.
    Izrada kolokvijuma traje 120 minuta (2h).

  • Drugi kolokvijum (K2)
    Polaže se u drugoj kolokvijumskoj nedelji ili po dogovoru sa studentima. Na kolokvijumu se može ostvariti najviše 35 poena. Za uspešno položen kolokvijum neophodno je osvojiti najmanje 10 poena.
    Kolokvijum se može nadoknaditi u svim ispitnim rokovima, kao i raditi u okviru integralnog ispita. Izlaskom na nadoknadu kolokvijuma poništavaju se prethodno osvojeni poeni.
    Izrada kolokvijuma traje 120 minuta (2h).

  • Integralno polaganje (K1+K2)
    U ispitnim rokovima student može polagati oba kolokvijuma u terminu održavanja ispita, pri čemu važe gore-navedena pravila u vezi sa poenima po kolokvijumu.
    Ukoliko se ispit polaže integralno, poništavaju se do tada osvojeni poeni sa kolokvijuma. Parcijalni poeni sa integralnog polaganja se ne računaju u narednim ispitnim rokovima. To znači da ukoliko student nije zadovoljan poenima sa integralnog polaganja i u nekom narednom roku želi da radi samo jedan kolokvijum, ne računaju mu se poeni ostvareni prilikom integralnog polaganja.
    Izrada oba dela ispita traje 180 minuta (3h).


Vredi 30 poena

Projekat se radi samostalno. Izradom projekta student treba da demonstrira stečeno znanje. Potrebno je realizovati Internet aplikaciju zadate specifikacije, koristeći tehnologije obrađene tokom kursa.

Tekst projekta se objavljuje pred januarski, junski i avgustovski ispitni rok (početkom decembra, početkom maja i krajem jula).

Projekat se može braniti u svakom ispitnom roku u kojem student ima uspešno položen pismeni deo ispita (barem 10 poena na svakom od kolokvijuma i barem 35 poena u zbiru). Može se braniti u prvom roku u kojem se ostvari dovoljan broj poena na pismenom delu ispita, ili u bilo kom narednom ispitnom roku tekuće školske godine. Student mora raditi aktuelni projekat za rok u kojem želi da pristupi odbrani. Odbrana se organizuje nekoliko dana nakon datuma ispita, ali se može organizovati i 2-3 dana nakon ispitnog roka.
Obaveštenje o tačnom datumu odbrane i načinu predaje projekta prosleđuje se na mejling listu predmeta nakon datuma ispita u ispitnom roku.

Projekat se mora odbraniti na računaru u računarskoj laboratoriji. Od studenta se očekuje da na odbrani ume samostalno da podesi okruženje za odbranu, kao i da uspešno odgovori na pitanja u vezi sa izradom projekta i evenutalne dodatne zahteve.
Verzije okruženja i dostupnih tehnologija mogu se naći na predmetnom sajtu (odeljak "Literatura"). Savetuje se da student krene razvoj od datog početnog projekta koji se može naći u materijalima kursa.

Uz tekst projekta objavljuje se i spisak minimalnih (obaveznih) funkcionalnosti koje projekat mora da zadovolji. Student mora u potpunosti da uradi zadate minimalne funkcionalnosti kako bi uspešno odbranio projekat. Zadate funkcionalnosti se ne mogu zameniti drugim funkcionalnostima projekta.

Predmetni nastavnici zadržavaju pravo da izvrše proveru sličnosti predatih projekata. Ukoliko se utvrdi nedozvoljena saradnja, studenti mogu biti udaljeni sa ispita i prijavljeni Disciplinskoj komisiji.


U svakom roku u kojem student izlazi na bilo koji deo ispita, on mora imati prijavu ispita, nezavisno od toga koji deo ispita polaže u tom roku (samo pismeni deo, samo projekat ili oba).
Student se na početku ispita izjašnjava na koji način želi da polaže ispit.
U tabeli ispod je dat pregled koje delove pismenog dela ispita student može da polaže po rokovima.

Rok K1 K2 I (K1+K2)
januar
februar
jul
avgust
septembar

Da bi student položio ispit, mora osvojiti najmanje 35 od 70 poena na pismenom delu ispita, od čega najmanje 10 poena na K1 i najmanje 10 poena na K2, i mora osvojiti najmanje 15 od 30 poena na projektu.
Uspešna odbrana projektnog zadatka je poslednja aktivnost na ovom predmetu.

Nastavnici

Konsultacije odmah nakon časova ili ih zakazati putem e-pošte.

Materijali za pripremu ispita


Prezentacije sa predavanja
Uvod u veb sisteme i tehnologije [ PDF]
Programski jezik TypeScript i Angular tehnologija (verz. 03/2024) [ PDF]
Spring Boot [ PDF]

Materijal za auditorne vežbe
HTML (HyperText Markup Language) Uvod u HTML [ PDF]
Liste, linkovi i tabele [ PDF]
Forme, frejmovi i layout [ PDF]
HTML primeri - izvorni kod [ZIP]
CSS (Cascading Style Sheets) CSS [ PDF]
CSS primeri - izvorni kod [ ZIP]
HTML + CSS vežbe 2020 - izvorni kod [ZIP]
JavaScript JavaScript - vežbe [ PDF]
JavaScript - zbirka zadataka [ PDF]
JavaScript primeri - izvorni kod [ ZIP]
Angular Angular [ PDF]
Angular - početni projekat [ 7z]
Angular vezbe_1 2023/2024 [app]
Angular vezbe_2 2023/2024 [app]
Spring Boot Spring Boot [ PDF]
SpringBoot - početni projekat [7z]
Spring Boot vezbe_1 2023/2024 [app]
Spring Boot vezbe_2 2023/2024 [app]
Spring Boot vezbe_3 2023/2024 [app]
Spring Boot vezbe_4 2023/2024 [app]
MEAN stack Node [ PDF]
Mongo [ PDF]
Node - početni projekat [7z]
Mean vezbe_1 2023/2024 [app]
Mean vezbe_2 2023/2024 [app]
Mean vezbe_3 2023/2024 [app]
Mean vezbe_4 2023/2024 [app]

Laboratorijske vežbe
Računarska tehnika i informatika Softversko inženjerstvo
Prva laboratorijska vežba HTML + CSS + JS + Bootstrap Angular + Spring Boot
Druga laboratorijska vežba Angular + Spring Boot Angular + Node
Treća laboratorijska vežba Angular + Node

Tekst i izvorni kod biće objavljeni ovde nakon laboratorijske vežbe.

/

Literatura
Zvanična literatura predmeta:
Programiranje internet aplikacija - udžbenik sa zbirkom zadataka, B.Nikolić, D.Drašković (maj 2017.)
Preporučena dodatna literatura i korisni linkovi:

Projekat


  • IR3PIA: Projektni zadatak za junsko-julski ispitni rok 2023/2024. godine objavljen je OVDE [minimalni zahtevi].
  • SI4PIA: Projektni zadatak za julski ispitni rok 2023/2024. godine objavljen je OVDE [minimalni zahtevi].

Prethodni rokovi


Kolokvijum 1 [SI] - novembar 2023. Tekst ispita
Baza podataka uz zadatak [SQL]: prijave2023
Kolokvijum 2 [SI] - januar 2024. Tekst ispita
Baza podataka uz zadatak [Mongo]: proslave2024
Januarski rok 2024. Tekst ispita
Baza podataka uz zadatak (aukcije2024) - [SQL] | [Mongo]
Kolokvijum [IR] - maj 2024. Tekst kolokvijuma
Baza podataka uz zadatak [SQL]: picerija2024
Kolokvijum 2 [SI] - januar 2023. Tekst ispita
Baza podataka uz zadatak [Mongo]: darivanja
Januarski rok 2023. Tekst ispita: K1 | K2
Baza podataka uz zadatak (turizam23): K1 [SQL] | K2 [Mongo]
Februarski rok 2023. Tekst ispita
Baza podataka uz zadatak (pijaca2023) - [SQL] | [Mongo]
Kolokvijum [IR] - april 2023. Tekst kolokvijuma
Baza podataka uz zadatak (dekor2023)
Junski rok 2023. Tekst ispita
Baza podataka uz zadatak (zadaci2023) - [SQL] | [Mongo]
Julski rok 2023. Tekst ispita
Baza podataka uz zadatak (konferencije2023) - [SQL] | [Mongo]
Kolokvijum 1 [SI] - novembar 2021. Tekst ispita: prva grupa | druga grupa
Baza podataka uz zadatak: petshop2021
Januarski rok 2022. Tekst ispita
Baza podataka uz zadatak (picerija2022): [SQL] | [Mongo]
Februarski rok 2022. Tekst ispita
Baza podataka uz zadatak (biblioteka2021) - [SQL] | [Mongo]
Kolokvijum [IR] - april 2022. Tekst kolokvijuma
Baza podataka uz zadatak (fica2022)
Junski rok 2022. Tekst ispita
Baza podataka uz zadatak (azil2022) - [SQL] | [Mongo]
Julski rok 2022. Tekst ispita
Baza podataka uz zadatak (kasica2022) - [SQL] | [Mongo]
Avgustovski rok 2022. Tekst ispita
Baza podataka uz zadatak (munich2022) - [SQL] | [Mongo]
Kolokvijum 1 [SI] - novembar 2020. Tekst ispita: prva grupa | druga grupa
Baza podataka uz zadatak: prva grupa (radnja2020) | druga grupa (zoo2020)
Januarski rok 2021. Tekst ispita: prva grupa | druga grupa
Baza podataka uz zadatak:
  - prva grupa (palacinkarnica2021) [SQL] | [Mongo]
  - druga grupa (menjacnica2021) [SQL] | [Mongo]
Februarski rok 2021. [IR] Tekst ispita: JSF | integralno
Baza podataka uz zadatak (racuni2021) - [SQL] | [Angular]
Februarski rok 2021. [SI] Tekst ispita: Angular | JSF | integralno
Baza podataka uz zadatak:
  - Angular (mica2021) [Mongo]
  - JSF i integralno (racuni2021) [SQL] | [Mongo]
Kolokvijum [IR] - maj 2021. Tekst ispita: prva grupa | druga grupa
Baza podataka uz zadatak: prva grupa (promocije2021) | druga grupa (prodavnica2021)
Junski rok 2021. Tekst ispita
Baza podataka uz zadatak (dezurstva2021) - [SQL] | [Mongo]
Julski rok 2021. Tekst ispita
Baza podataka uz zadatak (autoskola2021) - [SQL] | [Mongo]
Kolokvijum 1 [SI] - novembar 2019. Tekst ispita
Baza podataka uz zadatak (tajanstveni2019)
Kolokvijum 2 [SI] - januar 2020. Tekst ispita
Baza podataka uz zadatak (kafeterija2020) - [SQL] | [Mongo]
Slike uz zadatak
Januarski rok 2020. Tekst ispita
Baza podataka uz zadatak (knjizaraperce)
Slike uz zadatak
Februarski rok 2020. Tekst ispita IR | SI
Baza podataka uz zadatak (lunches2020) - [SQL] | [Mongo]
[IR] Treća laboratorijska vežba - maj 2020. Tekst ispita: prva grupa | druga grupa | treća grupa
Julski rok 2020. - Angular [K1N RTI, K2N SI] Tekst ispita - IR | SI
Baza podataka uz zadatak (kruskica2020) - [mongo]
Julski rok 2020. - JSF [K2N IR] Tekst ispita
Baza podataka uz zadatak (pekaraklas) - [SQL]
Julski rok 2020. - integralni ispit [IR, SI] Tekst ispita - IR | SI
Baza podataka uz zadatak (kruskica) - [SQL] | [Mongo]
Avgustovski rok 2020. Tekst ispita - IR | SI
Baza podataka uz zadatak (covid19pia) - [SQL] | [Mongo]
Kolokvijum 1 [SI] - novembar 2018. Tekst ispita
Baza podataka uz zadatak (koncerti)
Kolokvijum 2 [SI] - januar 2019. Tekst ispita
Baza podataka uz zadatak (workers) - [SQL] | [Mongo]
Januarski rok 2019. - K1N Tekst ispita
Baza podataka uz zadatak (triatlon)
Januarski rok 2019. - K2N Tekst ispita
Baza podataka uz zadatak (rasadnik) - [SQL] | [Mongo]
Kolokvijum - April 2019. Tekst ispita - A grupa | Resenje
Tekst ispita - B grupa | Resenje
Junski rok [RTI] 2019. Tekst ispita | Resenje
Baza podataka uz zadatak (bioskop) - [SQL] | [Mongo]
Julski rok 2019. - Angular [K1N RTI, K2N SI] Tekst ispita
Baza podataka uz zadatak (zubar) - [Mongo]
Julski rok 2019. - JSF [K2N IR] Tekst ispita
Baza podataka uz zadatak (zubar) - [SQL]
Julski rok 2019. - integralni ispit [IR, SI] Tekst ispita
Baza podataka uz zadatak (zubar) - [SQL] | [Mongo]
Avgustovski rok 2019. Tekst ispita [IR]   Tekst ispita [SI]
Baza podataka uz zadatak (autoprodaja) - [SQL] | [Mongo]