Available courses

---

Course categoryPripremna nastava za upis
Kreatori kursa: Milan Djuric

Pripremna nastava iz informatike

Course categoryPripremna nastava za upis

Pripremna nastava za polaganje prijemnog ispita iz informatike. Materijal obuhvata neograničen pristup online lekcijama, video materijalima, zadacima, rešenjima zadataka i testovima koji simuliraju prijemni ispit i pripremaju polaznika da ga uspešno položi. 

Administracija i održavanje sistema 1

Course categoryInformacione tehnologije

Prvi dio kursa o administraciji i održavanju GNU/Linux sistema u kom se bavimo osvnovnim elementima Linux distribucija i upotrebom komandi i alata u komandnoj liniji.

Kreatori kursa: Bogdan Mirković

Administracija i održavanje sistema 2

Course categoryInformacione tehnologije

Napredni deo Linux administracije. Opis, konfigurisanje i pregled najćešće korišćenih serverskih programa. Objašnjavanje najučestalijih pojmova iz mreža, servisa itd. Ključne reči: OSI model, TCP/IP, NAT, iproute2, DNS, HTTP/WWW, SMTP, SYSLOG, SSH, CIFS, BIND, Apache, Postfix, Rsyslog, OpenSSH, Samba.

Administracija i održavanje sistema 2

Course categoryInformacione tehnologije

Drugi deo kursa o administraciji i održavanju Linux sistema, ovaj put fokusiran na RPM-bazirane distribucije (Red Hat, Fedora, CentOS) i mrežne servise.

Kreatori kursa: Miodrag Kostadinovic

C# programiranje

Course categoryInformacione tehnologije

Kurs C# programiranje pokriva oblasti iz osnova programiranja u programskom jeziku C#. Zadatak ovog predmeta, pored upoznavanja polaznika sa osnovama programiranja je i upoznavanje sa Microsoft razvojnim okruženjem - Microsoft Visual Studio.

Ovi ciljevi se realizuju kroz sledeće module:

  • Kreiranje projekata u Visual Studio okruženju.
  • Korišcenje C# programskih elemenata za: deklarisanje varijabli,
  • korišcenje izraza i operatora,
  • kreiranje nizova,
  • kreiranje i korišcenje naredbi odlucivanja i petlji.
  • Kreiranje klasa. Kreiranje svojstava.
  • Dogadaji.
  • Deklarisanje i pozivanje metoda.
  • Nasledivanje i implementacija interfejsa.
  • Upravljanje izuzecima.
  • Upravljanje životnim ciklusom objekata i kontrola resursa.
  • Izgradnja i korišcenje kolekcija
  • Kreiranje modela mašinskog učenja pomoću ML.NET biblioteka

C# Programiranje

Course categoryInformacione tehnologije

Kurs C# programiranje pokriva oblasti iz osnova programiranja u programskom jeziku C#. Zadatak ovog kursa, pored upoznavanja polaznika sa osnovama programiranja je i upoznavanje sa Microsoft razvojnim okruženjem - MS Visual Studio.

Ovi ciljevi se realizuju kroz sledeće module:

  • Kreiranje projekata u Visual Studio okruženju.
  • Korišcenje C# programskih elemenata za: deklarisanje varijabli,
  • korišcenje izraza i operatora,
  • kreiranje nizova,
  • kreiranje i korišcenje naredbi odlucivanja i petlji.
  • Kreiranje klasa. Kreiranje svojstava.
  • Dogadaji.
  • Deklarisanje i pozivanje metoda.
  • Nasledivanje i implementacija interfejsa.
  • Upravljanje izuzecima.
  • Upravljanje životnim ciklusom objekata i kontrola resursa.
  • Izgradnja i korišcenje kolekcija

Dizajn i razvoj web strana

Course categoryInformacione tehnologije

Svrha kursa "Dizajn i razvoj web strana" je upoznavanje sa tehnikama planiranja, izrade i implementacije veb strana i ima za cilj da studenti steknu sposobnost samostalnog planiranja, razvoja, optimizacije i održavanja veb sajtova.

Kreatori kursa: Snezana Popovic

Elektronsko poslovanje

Course categoryInformacione tehnologije

Cilj predmeta je da se studenti upoznaju sa modelima, formama i infrastrukturom elektronskog poslovanja, kako bi se osposobili za projektovanje i implementaciju takvih sistema.

Implementiranje ISA servera

Course categoryInformacione tehnologije

Implementacija i administracija Internet Security and Acceleration servera, odnosno njegove poslednje verzije pod nazivom Threat Management Gateway.

Microsoft tehnologije za pristup podacima

Course categoryInformacione tehnologije

Predmet "Microsoft tehnologije za pristup podacima" integriše i nadograđuje stečena znanja iz programiranja u C# programskom jeziku i Microsoft SQL Serveru.


Potrebna predznanja su:

  • Generalno znanje iz programiranja
  • C# i Microsoft .NET framework
  • Generalno poznavanje relacionih baza podataka i njihovo modeliranje
  • Microsoft SQL Server programiranje – stored procedure, funkcije i ostali programski elementi

Plan rada:

  • Baza podataka – programski elementi
  • ADO.NET diskonektovani model i .NET klase
  • ADO.NET konektovani model i .NET klase
  • LINQ, LINQ to SQL
  • ADO.NET Entity Framework
  • Kreiranje funkcija u C# i njihovo korišćenje u SQL Serveru

Profesor: Marija Katic

Organizacija računara

Course categoryInformacione tehnologije

Zimski semestar 2019/2020

Osnovi programiranja

Course categoryInformacione tehnologije

Uvod u osnovne koncepte i logiku programiranja i programskih jezika, fokusirajući se na jezik C kao konkretan primjer. Obrađuju se teme koje su zajedničke za većinu programskih jezika, poput varijabli, kontrole toka, nizova i struktura, funkcija i rada sa fajlovima.

Poslovni softver

Course categoryInformacione tehnologije

Microsoft PowerPoint: Izrada nove prezentacije, umetanje i izmena tekstualnog sadržaja, tabele, grafikoni i dijagrami, umetanje slika, oblika i grafičkih objekata, formatiranje slajda. Animacione šeme.

Microsoft Word: Kreiranje stilova teksta, tabela i nabrajanja, numerisanje stranica, umetanje i promena objekata, kreiranje i menjanje dijagrama i grafikona, sortiranje podataka, korišćenje automatizovanih alata za navigaciju, cirkularna pisma, rad sa formama, izrada i izmena formata, pozadine dokumenta, indeksa i sadržaja.

Microsoft Excel: Korišćenje međuzbirova, definisanje i primenjivanje naprednih filtera, grupisanje podataka, izrada izveštaja, funkcije za pretraživanje, pronalaženje zavisnih ćelija u formulama i grešaka, pronalaženje pogrešnih podataka i formula, izvođenje formula, imenovani skupovi ćelija, izrada i izmena namenskih formata podataka, pravilna upotreba velikog broja formula.

Menadžer: Igor Mijatovic
Profesor: Igor Mijatovic

SQL programiranje

Course categoryInformacione tehnologije

Cilj predmeta je sticanje znanja i veština za projektovanje i implementiranje baza podataka korišćenjem Microsoft SQL Server platformske tehnologije i SQL jezika za pravljenje upita.

Kreatori kursa: Snezana Popovic

Upravljanje i održavanje Windows Server okruženja

Course categoryInformacione tehnologije

Administracija osnovnih mrežnih servisa na Windows serverima.

Интеракција човек-рачунар

Course categoryInformacione tehnologije

Циљ предмета је упознати студента са принципима инжењерског приступа развоју корисничког интерфејса, што подразумева познавање метода за мерење употребљивости и препорука насталих из добре праксе. Студент се спрема да анализира, квантитативно евалуира и критички оцењује кориснички интерфејс софтверских и хардверских решења. Студент развија вештине конципирања квалитетног новог решења интеракције човек-рачунар за произвољан задати оквир примене.

Profesor: Igor Mijatovic

Agilni razvoj softvera

Course categoryRačunarske nauke

Na ovoj stranici studenti predmeta ce naci sve relevantne materijale.

Kreatori kursa: Marko Mladenovic

Duboko učenje

Course categoryRačunarske nauke
Kreatori kursa: Nemanja Ilic

Engleski 1

Course categoryRačunarske nauke
Kreatori kursa: Bojana Cuk
Profesor: Sinisa Karalic

Engleski 2

Course categoryRačunarske nauke
Kreatori kursa: Bojana Cuk
Profesor: Sinisa Karalic

Funkcionalno programiranje

Course categoryRačunarske nauke
Циљ и исход предмета

Упознавање са математичким основама функционалног програмирања и парадигмом функционалног програмирања. Стицање вештина за напредно коришћење једног чисто функционалног програмског језика. По завршетку курса студент познаје математичку основу функционалног програмирања, разуме разлику између императивног и функционалног програмирања и уме да препозна проблеме који се решавају функционалним програмирањем. Студент је упознат са једним чисто функционалним програмским језиком, уме да га користи у решавању сложених задатака и изради практичног софтверског пројекта.

Теоријска настава

Функционални програмски језици. Разлика између функционалног и императивног програмирања. Основе ламбда рачуна: апстракција, ламбда функција, ламбда апликација, слободне и везане променљиве. Редукције у ламбда рачуну. Нормална форма. Израчунавање вредности ламбда израза и валидни ламбда изрази. аритметика целих бројева, логички и условни изрази у ламбда рачуну. Рекурзија у ламбда рачуну и ипсилон комбинатор. Апликативни и нормални поредак израчунавања ламбда израза. Лења евалуација. Бесконачне структуре. Ламбда изрази у програмским језицима. Решавање проблема на "функционалан" начин. Функтори, апликативни функтори и моноиди. Монаде. Парсер комбинатори.

Практична настава

Структуре података и синтакса изабраног функционалног програмског језика. Функције вишег реда и каријеве функције. Решавање задатака у изабраном функционалном програмском језику. Преглед уграђених функција и оператора у изабраном функционалном програмском језику. Задаци са функторима, апликативним функторима, моноидима и монадама. Коришћење библиотеке парсер комбинатора на илустративним примерима парсирања текста.

Inteligentni sistemi

Course categoryRačunarske nauke
Циљ и исход предмета

Упознавање са идејама које су се појавиле током истраживања и развоја у вештачкој интелигенцији у току њеног педесетогодишњег развоја, а кроз уједињавајућу идеју интелигентног агента. Разумевање начина изградње вештачкоинтелигентних ентитета. По завршетку курса, студент има основна знања о вештачко-интелигентним системима (VI). У стању је да одреди шта се може урадити VI приступом. У стању је да одреди проблеме за чије решавање се примењују VI приступи. Зна карактеристике разматраних VI метода. Може да предложи начин решавања проблема, а за неке проблеме и да изабере и реализује одговарајући VI метод. Припремљен је за уже-стручне предмете из области вештачке интелигенције и рачунарске интелигенције.

Теоријска настава

Појам вештачке интелигенције. Преглед области и технологија вештачке интелигенције. Реални домети вештачке интелигенције. Теоријске основе вештачке интелигенције. Когнитивна психологија и неуро- науке. Представљање знања. Интелигентно претраживање. Математичке, рачунарске и статистичке методе у вештачкој интелигенцији. Интелигентно расуђивање. Soft computing. Машинско учење. Примена вештачке интелигенције. Интелигентна анализа података. Интелигентни агенти. Мултиагентски системи. Рефлексни агенти. Агенти са циљевима. Екстракција информација и проналажење информација. Екстракција информација у оквиру обраде природног језика. Прецизност и одзив. Препознавање именованих ентитета. Приступ заснован на правилима. Приступ заснован на машинском учењу. Метода скривених Марковљевих модела. Метода максималне ентропије. Екстракција информација без надзирања. Коначни трансдуктори и њихове примене у препознавању именованих ентитета и релација међу њима. Системи засновани на правилима. Семантички веб. Интелигентни едукативни системи. Технологије вештачке интелигенције. Препознавање и обрада говора. Обрада природног језика. Роботика. Обрада слике. Неуронске мреже.

Практична настава

Имплементација алгоритама претраживања обрађених на предавањима. Имплементација правила расуђивања уланчавање унапред и уланчавање у назад. Софтверска окружења за развој интелигентних система. Алати за сегментацију текста и токенизацију. Рад са софтвером отвореног кода spaCy. Примери експертских система заснованих на правилима у различитим доменима. Примери проблема који се решавају помоћу неуронских мрежа: класификација, кластеризација, предвиђање, препознавање, апроксимација и моделирање система. Употреба алата отвореног кода за дубоко учење TensorFlow, Torch, Keras, Caffe. Области примене неуронских мрежа: медицина, финансије, производња, одбрана, друштвене науке.

Kreatori kursa: Milan Tomić

Interfejs mozak-računar

Course categoryRačunarske nauke

Na ovom predmetu se uči o kompleksnom sistemu u realnom vremenu kao vrstu Interakcije čovek-mašina, gde korisnik može uticati na kompjuter samo korišćenjem svojih misli (a i mašina utiče i na korisnika). Dakle to je jedan zatvoreni krug, jedna dinamička interakcija. Primena ovakvog sistema je višestruka: u medicini, u umetnosti, gejmingu, transportu itd.

Kreatori kursa: Jelena Mladenovic

Kombinatorika i teorija grafova (mladenovic)

Course categoryRačunarske nauke

КОМБИНАТОРИКА И ТЕОРИЈА ГРАФОВА


Општи преглег предмета
Већина инжењерских проблема се може дефинисати над дискретним просторима. Дисциплина која испитује и нуди детаљне оговоре
на питања распореда и свакаквог пребројаванја елемената над дискретним скуповима јесте комбинаторика.
Са друге стране, основу за моделирање ових проблема можемо потражити у теорији графова. Оног тренутка када је модел коретно
постављен можемо уз постојеће алате (алгоритме) решити врло комплексне задатке. Утврдити којој категорији разматрани проблем
припада представља део вештине за који овај курс нуди основу уз неке напредније примере.
Пошто у пракси често постављамо за циљ да минимизујемо (максимизујемо) издатке (добит) над разматраним проблемом, природна
екстензија домена комбинаторике и теорије графова јесте комбинаторна оптимизација.


Теоретска настава
На часовима предавања након што уведемо основне појмове и извести неколико последица истих, раматраћемо
конкретне проблеме које ћемо моделирати помоћу графова, остатак курса ће бити посвећен алгоритмима над претходно
уведеним објектима.
Неки од проблема које ћемо заматрати су: минимално разапињујуће стабло, проблеми пута над графом, проблеми протока, итд.
Неке од метода решавања: математичко програмирање, методе отсецања, хеуристике, итд.

Практична настава
На часовима вежби фокус ће бити на присутности графова у свакодневном животу (практични проблеми) и како их можемо
моделирати и решити. Теоретски оквири ће бити дискутовани на предавањима.

Пожељна предзнања
Овај курс садржи појмове и методе које са којима су студенти требали да се упознају у ранијим курсевима: алгоритми и структуре
података и математичка анализа. Поред ових предмета корисно би било да су пратили курсеве генетски алгоритми и машинско
учење.

Kreatori kursa: Marko Mladenovic

Konkurentni i distribuirani sistemi

Course categoryRačunarske nauke

Терминологија и класификација. Узајамно искључивање. Конкурентни објекти. Конкурентност и коректност. Модели конзистентности. Услови за прогрес. Spin-Lock. Test-and-Set (TAS). TTAS. Експоненцијални Backoff. CLH и MSC Queue Lock. Композитни кључ. Кластери и хијерархијски кључеви. Монитори. Семафори. Баријере. Баријере са променом парности. Баријере са комбинационим и статичким стаблом. Баријере са детекцијом завршетка. Трансакциона меморија. Трансакције и атомичност. Софтверска и хардверска трансакциона меморија. Мултипроцесорско распоређивање. Расподела оптерећења. Модел дистрибуираног извршавања. Модели комуникационих мрежа. Глобално стање дистрибуираног система. Пресеци код дистрибуираног израчунавања. Логичко време. Систем логичких часовника. Скаларно време. Векторско време. Матрично време. Синхронизација физичких часовника. Глобално стање и алгоритми за његово снимање. Алгоритми за FIFO и не-FIFO канале. Снимање стања у системима са каузалном испоруком. Налажење конзистентних глобалних снимака. Основни дистрибуирани алгоритми. Синхронизатори. Избор лидера. Редослед порука и групна комуникација. Дистрибуирано узајамно искључивање. Дистрибуирана дељена меморија. Договор и консензус. Детекција отказа.

Kreatori kursa: Mladen Stanojevic

Kriptografija

Course categoryRačunarske nauke
Kreatori kursa: Dragan Urosevic

Mašinsko učenje

Course categoryRačunarske nauke
Kreatori kursa: Nemanja Ilic

Objektno-orijentisano programiranje

Course categoryRačunarske nauke
Циљ и исход предмета

Усвајање теоретског знања и практичних вештина за разумевање и коришћење објектно-оријентисане парадигме програмирања. Студент разуме све кључне концепте објектно-оријентисаног програмирања и уме да их примени, способан је да осмисли и имплементира објектно-оријентисани модел података и да имплементира мању апликацију са графичким корисничким интерфејсом уз коришћење фајлова за читање и упис података.

Теоријска настава

Процедурално наспрам објектно-оријентисаног програмирања. Појам класе и објекта, атрибута и операција. Уграђене класе у програмском језику Java. Основни елементи UML дијаграма класа - класе и везе асоцијације. Појам конструктора. Пакети. Видљивост атрибута, операција и класа. Јавабин и енкапсулација. Статик елементи. Листе и низови у Javi. Везе између класа. Синглтон дизајн патерн. Наслеђивање класа и полиморфизам. Надјачавање метода и класа Object. Кључна реч финал. Апстрактне класе и интерфејси. Апстрактне класе и интерфејси на UML дијаграму класа. Представљање везе наслеђивања и имплементације интерфејса на дијаграму класа. Преглед познатих дизајн патерна који користе апстракцију и наслеђивање. Приказ једноставнијих дизајн патерна на UML дијаграму класа. Сложеније колекције објеката. Угњеждене класе. Изузеци - хватање, обрада и испаљивање изузетка. Преглед библиотеке за развој графичког корисничког интерфејса коришћењем принципа објектно-оријентисаног програмирања - преглед компоненти, везивање модела података за компоненту, обрада догађаја, дизајн патерни за апликације са графичким корисничким интерфејсом.

Практична настава

Коришћење основних програмских конструкција у програмском језику Java на практичним примерима - гранање, петље, основни и сложени типови података. Рад са стринговима. Илустративни примери и задаци за илустрацију свих основних концепата објектно-оријентисаног програмирања-класе, објекти, атрибути и операције, конструктори, видљивост, статик елементи. Илустративни примери за приказ апстракције, писање апстрактних класа и интерфејса и њихово наслеђивање односно имплементација. Имплементација модела датог UML дијаграмом класа, укључујући имплементацију класа, интерфејса, веза између класа. Пакет за рад са колекцијама, сортирање колекција. Рад са изузецима. Имплементација компоненти графичког корисничког интерфејса. Имплементација обраде догађаја на корисничком интерфејсу. Рад са фајловима - читање и упис у фајл. Имплементација комплетне апликације са графичким корисничким интерфејсом коришћењем MVC (Model View Controller) дизајн патерна.

Kreatori kursa: Dalibor Ristic, Milan Tomić
Profesor: Marija Katic

Osnovi nauke o podacima

Course categoryRačunarske nauke

Predmet: Osnovi nauke o podacima

Šifra predmeta: 20.3009

Program: Računarske nauke

Šk.god,: 2024-25

Asistent: Ana Vukicevic