Available courses

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.

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

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.

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.

Profesor: 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

Kreatori kursa: Miloš Milosavljević

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.

Profesor: 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

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

Kreatori kursa: Tatjana Sibalija
Asistent: Ana Vukicevic

Uvod u Pronalaženje Informacija

Course categoryRačunarske nauke
  • Буловски модел претраживања информација.
  • Основне структуре података и алгоритми за индексирање информација.
  • Метрике сличности текста и докумената и претраживање информација
  • Технике за компресију индекса.
  • Векторски модел претраживања информација.
  • Рангирање резултата претраге.
  • Евалуација система за претраживање.
  • Релевантност резултата претраге, експанзија упита и интеракција са корисником.
  • Пробабилистички модели проналажења информација.
  • Језички модели за проналажење информација (LLM).
  • Интелигентне технике за рангирање, класификацију, категоризацију и филтрирање резултата претраге.
  • Архитектура система за претраживање веба и проналажење информација на вебу. 
Kreatori kursa: Jelena 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

Agilni razvoj softvera

Course categoryRačunarske nauke

Na ovoj stranici studenti predmeta ce naci sve relevantne materijale.

Kreatori kursa: Marko Mladenovic

Kombinatorika i teorija grafova (mladenovic)

Course categoryRačunarske nauke

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


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


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

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

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

Kreatori kursa: Marko Mladenovic

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

Kriptografija

Course categoryRačunarske nauke
Kreatori kursa: Dragan Urosevic

Funkcionalno programiranje

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

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

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

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

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

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

Objektno-orijentisano programiranje

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

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

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

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

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

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

Kreatori kursa: Milan Tomić

Дискретне структуре

Course categoryRačunarske nauke

Циљ предмета:

Стицање основних знања из дискретне математике.

Исход предмета:

Студент је оспособљен да у даљем образовању решава проблеме базиране на стеченом знању из дискретне математике.

Садржај предмета:

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

Исказни рачун – (прост и сложен) исказ, истинитосна вредност, логички везници и њихов приоритет, таблице истинитости, логички еквивалентни искази. Аргументи и докази – ваљан аргумент, испитивање ваљаности аргумента уз помоћ таблица истинитости, доказ ваљаности аргумента свођењем на контрадикцију, доказивање ваљаности аргумента употребом правила извођења. Примери доказа. Комплетност у исказној логици и Карноове мапе. Скупови – скуповне операције, партитивни скуп, Декартов производ скупова, Венови дијаграми. Релације – домен и опсег релације, инверзна релација, композиција релација, особине релације на скупу, репрезентација релације, релација поретка и релација еквиваленције. Функције – инјективна, сурјективна и бијективна функција, композиција функција. Математичка индукција. Дељивост – најмањи заједнички садржалац и највећи заједнички делилац. Еуклидов алгоритам. Диофантске једначине са две непознате. Прости бројеви – теорема о јединствености факторизације на просте бројеве. Релација конгруенције. Конгруенцијске једначине. Системи конгруенцијских једначина и Кинеска теорема о остацима. Рекурзија – рекурзивне функције и хомогене и нехомогене линеарне рекурентне релације (једначине). Комбинаторика – основни принципи пребројавања (правило збира и правило производа), принцип укључења – искључења, принцип голубарника, пермутације, комбинације, уопштене пермутације и комбинације, пермутације и комбинације са понављањем

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

Решавање репрезентативних задатака на табли, из области са којима су студенти упознати на теоријској настави.

Литература:

Андерсон Џ. А., Дискретна математика са комбинаториком, Рачунарски факултет и ЦЕТ, Београд, 2005.

Profesor: Mladen Zekić

Комбинаторика и теорија графова

Course categoryRačunarske nauke

Циљ предмета:

Упознавање студената са теоријским и практичним аспектима комбинаторне теорије графова.

Исход предмета:

По завршетку курса студент поседује знања из комбинаторне теорије графова и упознат је са неким њеним применама.

Садржај предмета:

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

Графови и подграфови. Матрице инциденције и матрице суседства. Графовске инваријанте. Путеви и циклуси – детаљнији приступ. Цикломатички број графа. Чворна и гранска повезаност графа. Стабла и њихове примене. Хамилтонови и Ојлерови циклуси и њихове примене. Бојење графова – детаљнији приступ. Планарни графови и графови полиедара. Теорема Куратовски-Понтрјагина. Бојење планарних графова. Спаривања у графовима и примене. Независни скупови, покривачи и клике графа. Унутрашња и спољашња стабилност графа. Примена у линеарној алгебри. Степени квадратних матрица и Марковљеви ланци. Графови протока сигнала.

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

Решавање репрезентативних задатака на табли, из области са којима су студенти упознати на теоријској настави.

Литература

  1. Цветковић Д., Теорија графова и њене примене, Научна књига, Београд, 1986.
  2. Цветковић Д., Комбинаторика – класична и модерна, Научна књига, Београд, 1990.
  3. Вељан Д., Комбинаторика с теоријом графова, Школска књига Загреб, 1989.
  4. Петровић В., Теорија графова, Универзитет у Новом Саду, Природно-математички факултет, Нови Сад, 1998.

Kreatori kursa: Irena Jovanović

Računarska grafika

Course categoryRačunarske nauke
Kurs je namenjen studentima III godine Računarskog fakulteta u Beogradu.
Na kraju kursa svaki student će razumeti:
  • Osnovnu strukturu grafičkog sistema
  • 2D grafika: algoritmi za renderovanje i klipovanje osnovnih grafičkih primitiva (duž, krug, poligon)
  • 3D grafika: Modelovanje i renderovanje prostornih situacija (polygonal mesh, CSG, ray casting, ray tracing)

Kreatori kursa: Dragan Mašulović

Engleski 1

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

Duboko učenje

Course categoryRačunarske nauke
Kreatori kursa: Nemanja Ilic

Softverske komponente

Course categoryRačunarske nauke
Теоријска настава

Циљеви и предности развоја софтвера заснованог на компонентама. Појам софтверске компоненте. Основне карактеристике софтверске компоненте. Појам физичке и логичке модуларности. Пракса одвајања спецификације од имплементације софтверске компоненте. Поштовање SOLID принципа и примена дизајн патерна у развоју заснованом на компонентама. Документовање софтверске компоненте. Појам билд алата и управљање повезаним компонентама. Преглед савремених билд алата за програмске језике Јава и Пајтон. Стандарди за развој модуларних система за Јава платформу - OSGi i Jigsaw. Софтверске лиценце и верзије. Сервисно оријентисана софтверска архитектура и веб сервиси. Технологије и стандарди за имплементацију веб сервиса - SOAP i REST. Појам микросервиса и поређење са другим архитектурама. Интеграција микросервиса и коминикација између микросервиса. Микросервиси и кориснички интерфејс, микросервиси и базе података. Кораци у провођењу монолитне у микросервисну архитектуру.

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

Приказ илустративног примера софтверске компоненте која користи друге компоненте и њено проширење додатним функционалностима. Илустрација особине рејузабилности компоненте. Рад са системима за управљање верзијама. Коришћење билд алата за Јаву - Apache Ant, Apache Maven и Gradle. Креативна вежба креирања компоненте са одвојеном спецификацијом. HTTP протокол и REST архитектура. Имплементација микросервисне апликације коришћењем Spring Boot технологије. Рад са базама података у микросервисној архитектури укључујући релацине и нерелационе базе. Коришћење Hiberante ORM алата за перзистенцију података у релациону базу. Комуникација између микросервиса и коришћење система за размену порука.

Prepoznavanje govora

Course categoryRačunarske nauke

Teorijska nastava

Modelovanje govora. Obrada akustičkog signala. Odabiranje, A/D konverzija i uokviravanje. Filtriranje i upotreba prozorske funkcije. Furijeova transformacija i spektar snage ulaznog signala. Promena frekventne ose i filtriranje po mel skali. Prelaz u logaritamski domen. Inverzna kosinusna transformacija, kepstralni koeficijenti i njihovi vremenski parametri. Vektori svojstava akustičkog signala. Markovljevi modeli. Skriveni Markovljevi modeli (HMM). Mešavine Gausovih raspodela. Akustički modeli. Fonetsko modelovanje. Robusnost u odnosu na okolinu (buka, šum, eho). Polukontinualni HMM, vezivanje stanja i klasterovanje. Treniranje HMM-a. Baum-Welch i Forward-Backward algoritmi. Normalizacija govora. Jezički modeli. N-gram usrednjavanje. Osnovna pretraživanja. Vremenski sinhrono Viterbi Beam pretraživanje. Stack i A* pretraživanje. Rad sa velikim rečnikom. Pretraživanje po stablu sa jezičkim modelima. Pretraživanje na osnovu gramatike. N-multipass pretraživačke strategije. Upotreba neuralnih mreža i dubokih neuralnih mreža. Hibridni sistemi dubokih neuralnih mreža i HMM.

Praktična nastava

Analiza spektrograma pomoću softvera za rad sa zvučnim signalom. Implemetacija softvera koji može da snima govor. Algoritmi kompresije zvučnog signala. Obrada dobijenog signala, odsecanje, filtriranje i sl. Implementacija i primena (brze) Furijeove transformacije. Implementacija sistema za prepoznavanje govora koji jeste / nije vezan za govornika i formiranje testova za pokazivanje korektnosti rada sistema. Implementacija i testiranje HMM sistema, kao i pretraživačkih algoritama. Rad sa dubokim neuralnim mrežama i njihovo kombinovanje sa klasičnim sistemima za prepoznavanje govora.

Kreatori kursa: Stevan Milinković

Sistemi u realnom vremenu (Računarske nauke)

Course categoryRačunarske nauke

Teorijska nastava

Koncept vremena. Postizanje predvidivosti. Vremenska ograničenja. Ograničenje prethođenja. Ograničenja resursa. Problem raspoređivanja. Raspoređivanje aperiodičnih taskova. Džeksonov algoritam. Hornov algoritam. Raspoređivanje bez istiskivanja. Bratlijev algoritam. Spring algoritam. Raspoređivanje sa ograničenjem prethođenja. Raspoređivanje periodičnih taskova. Ciklično raspoređivanje. Raspoređivanje monotonim tempom (RM). Earliest Deadline First (EDF). Deadline Monotonic. EDF sa ograničenim rokovima. Serveri sa fiksnim prioritetom. Pozadinsko raspoređivanje. Server sa propitivanjem. Server sa odlaganjem. Razmena prioriteta. Sporadični server. Slack Stealing. Serveri sa dinamičkim prioritetom. Server sa razmenom dinamičkih prioriteta. Dinamički sporadični server. Server sa totalnim opsegom. Earliest Deadline Late server. Poboljšani server sa razmenom prioriteta. Server sa konstantnim opsegom. Protokoli za pristup resursima. Inverzija prioriteta. Protokol bez istiskivanja. Highest Locker Priority protokol. Protokol sa nasleđivanjem prioriteta. Protokol sa gornjom granicom prioriteta. Politika stek resursa. Raspoređivanje sa ograničenim istiskivanjem. Prag istiskivanja. Odloženo istiskivanje. Rastavljanje taskova. Izbor tačaka istiskivanja. Upravljanje preopterećenjem. Rukovanje aperiodičnim preopterećenjem. Prekoračenja. Permanentna preopterećenja.

 

Praktična nastava

Rad sa FreeRTOS operativnim sistemom u simuliranom okruženju i na mikrokontroleru. Poznavanje elemenata FreeRTOS operativnog sistema kao što su poslovi, redovi, brave, semafori i sl. Tipični problemi konkurentnosti kod sistema u realnom vremenu. Primena i modifikacija FreeRTOS raspoređivača. Implementacija podrške za aperiodične i periodične poslove. Implementacija podrške za ograničenja prethođenja. Zapis i analiza dobijenog rasporeda sistemskog raspoređivača u simuliranom i stvarnom okruženju. Implementacija poslova sa ograničenim resursima i njihovo raspoređivanje.

Kreatori kursa: Stevan Milinković

Upravljanje Informacijama 2024/25

Course categoryRačunarske nauke

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

Основни концепти науке о подацима, Data Science. Историјски преглед развоја метода за складиштење, управљање подацима и извештавање. Моделирање података, њихове семантике, знања и информација: скуп, бинарна релација (key-value, хешинг и индекс), н-арна релација (табела), стабло (XML) и граф. Апстракције и свођење н-арне релације на бинарну, сортирање бинарне релације, индекси, пролази кроз стабло и претраживање графова. Codd-ов релациoни модел. Релациона алгебра као апарат за генерисање извештаја, SQL. Пројектoвање информационог система. Анализа захтева. Логичко пројектовање структуре  и  динамике информационог система, SSA.  Објектно-оријентисани  приступ моделовању информационих система - UML. Aнализа  захтева у објектном приступу. Случајеви  коришћења.  Опис динамике информационог система. Дијаграми  секвенци. Концептуални модел система. Патерне у моделовању ИС. Имплементација у реалном окружењу. Пројектовање релационе базе података на основу објектног UML модела. Објектно релациони брокери, Hibernate. Системи за управљање базама података, Oracle, MSSQL, PostgreSQL. Пресликавање података објектног модела у key-value базе података, Redis. Објектне базе података, MongoDB.

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

Анализа  система  и  захтева  корисника на конкретном примеру. Пример пројектовања база података: Нормализација релација. Анализа и пројектовање ИС. Функционална декомпозиција, SSA. Речник  података.  PMOV.  IDEF1X,  IE. Примери пројектовања  објектим приступом коришћењем UML нотације.  Случајеви  коришћења.  Узори  у  фази  анализе система. Вишеслојна архитектура  апликација.  Дијаграми  секвенци. Примери трансформација  концептуалних  модела у реално имплементационо окружење. Коришћење key-value Redis базе података за кеширање података. Примена Hibernate брокера.  Израда комплексног пројекта слоја података за информациони систем.

Kreatori kursa: Miloš Radenković

Veliki Podaci 2024/25

Course categoryRačunarske nauke

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

На предавањима се предочава разноврсност могућих очекивања од великих података и приказује се шта је то што омогућава брз одговор на та очекивања. Студенти се упућују у основе инфраструктуре која се користи у раду са великим подацима. Приказује се покрет NoSQL, те основни концепти, технике и обрасци потребни за дистрибуирани рад база података. Кроз анализу решења попут Amazon Dynamo уводи се концепт база података кључ-вредност. Представљају се документ-оријентисане базе података, са фокусом на MongoDB. Кроз осврт на имплементацију Google BigTable и кратак преглед технологије GFS/HDFS објашњава се функсионисање колонских база података.

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

На вежбама се доминантно користе технологије Dell EMC. Одговара се на питање када у обради великих података користити релационе, а када нерелационе базе података. Дефинише се шта подразумева решење на платформи Hadoop и разрађује се архитектура HDFS. Пореде се софтверски базирана решења и наменска решења. Студенти на примерима у брижљиво осмишљеној лабораторијској вежби уче како да концепт архитектуре Dell EMC Isilon OneFS искористе за обраду великих података. При томе се упућују како да поставе и скалирају решење, како да управљају сториџима, те како да обезбеде поузданост. На још једној лабораторијској вежби студенти уче како да изврше интеграцију Hadoop и решења у претходно уведеној архитектури, при чему се, поред осталог, ради конфигурисање решења за HDFS, припрема се сервер Ambari и примењује се платформа Hortonworks Data. 

Kreatori kursa: Miloš Radenković

Skript Jezici 2024/25

Course categoryRačunarske nauke

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

Основе веб програмирања. Проблеми и задаци презентационог, апликационог и слоја сесије референтог OSI и TCP/IP модела.  Основе развоја клијентске стране веб апликација. Улога клијентских технологија у савременим архитектурама веб система. Размена података са различитим слојевима веб апликације. XML технологије за меморисање, обраду и визуелизацију података презентационог слоја. JSON. JSON API. RESTful архитектуре. Oснове JavaScript-a. ES6. DOM. JS библиотеке. AJAX. Развојни оквири. MVC. VueJS. Примена развојних оквира у развоју апликација. Two-way data binding, управљање догађајима, рендеровање података, компоненте, диркетиве, рад са елементима DOM, Dependency Injection.  Основе развоја серверске стране веб апликација. Улога серверских технологија у савременим архитектурама веб система. Размена података са различитим слојевима веб апликације. RESTful архитектуре. Веб сервиси. Конектори  и адаптери. Развој API-ја. Платформе за управљање API-јем. Упоредни преглед технологија серверске стране. Ruby on rails. Python. Развојни оквири. Примена развојних оквира у развоју апликација. Управљање рутирањем, ОRМ. NodeJS. Управљање сесијом и кеширањем. Оптимизација серверске стране веб апликација.

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

HTML5, CSS3, CSS препроцесори. XML технологије, DOM и манипулација над XML документима. JSON формат за серијализацију података. Манипулација JSON документима. Фронтенд оквири и библиотеке Bootstrap. Foundation. Semantic. Увод у скриптне језике. DOM. Основе JavaScript програмског језика. Граматика и типови. Контрола тока. Петље и итерације. Функције, изрази и оператори. Текстуално форматирање. Регуларни изрази. IIFE и анонимне функције. Структуре. Колекције. Објекти. Прототипно наслеђивање. Модуларни патерн. JSON. JSON API. Визуелизација. ChartJS. DataTables. XML. JavaScript библиотеке. JQuery. JavaScript оквири. JavaScript компајлери и управљање пакетима. Фронт-енд оквир – VueJS. Верзионисање кода. Git. Увод у серверске веб технологије и скриптне језике. Python. Основна синтакса, променљиве, оператори, контрола тока и итерације, функције и уграђене функције. Nапредне функције за руковање колачићима (cookies), напредне функције за управљање сесијама. Коришћење сесија на примеру форме и веб продавнице. Објектно оријентисано програмирање у Python-u. Имплементација слоја података. Python  и рад са базама података. MySQL и CRUD операције у Python-у. Складиштење и пренос података у веб окружењу. Складиштење динамичких података. Асинхрони позиви ка серверу и ажурирање података у реалном времену. Python, AJAX и MySQL. Сигурност и безбедност у Python апликацијама. Сервисно оријентисана архитектура. SOAP. REST. Веб сервиси. Развој и документација сопственог REST сервиса. Јавни веб сервиси. Имплементација пословне логике. Развој веб апликација. Pазвој апликација са MVC архитектуром. Оквири за развој веб апликација Django/NodeJS.

Kreatori kursa: Miloš Radenković

Poslovne aplikacije

Course categoryRačunarske nauke

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

Мултимедијални информациони системи

Course categoryRačunarske nauke

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

Uvod u programiranje

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

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

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

Основни појмови програмирања: прогармски језик, алгоритам, команда, изворни код, компајлирање, окружење за извршавање програма. Представљање података у рачунару, бројевни системи, представљање карактера (ASCII табела) и реалних бројева. Читање са системског улаза и испис на системски излаз. Прости типови података и променљиве. Операције над подацима - аритметичке, битовне, релационе, логичке. Контрола тока програма - гранања и петље. Функције и опсег видљивости променљивих. Рекурзија и њена примена у задацима. Сложенији типови података - низови, стрингови и структуре. Показивачи и управљање меморијом. Динамичке структуре података - листе и бинарна стабла. Рад са фајловима.

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

Упазнавање са окружењем за имплементацију програма. Имплементација програма са секвенцијалним извршавањем команди уз читање података са системског улаза и испис на системски излаз. Илустрација коришћења различитих типова података и операција над њима. Коришћење разних уграђених функција, писање нових функција. Имплементација програма са различитим варијантама гранања - if, switch, тернарни условни оператор. Програми који користе петље. Илустрација различитих врста петљи (фор, wхиле, до-wхиле) на примерима задатака. Угњеждене петље. Примери програма који користе рекурзију. Програми са низовима. Рад са стринговима као низовима и коришћење уграђених функција над стринговима. Илустрација примера са показивачима. Рад са низовима и стринговима преко показивача. Задаци са једноструко повезаном листом, имплементација операција над листом на два начина - итеративно и рекурзивно. Задаци који користе уређено бинарно стабло. Имплементација операција над уређеним бинарним стаблом на рекурзиван и итеративан начин. Читање из фајла и упис у фајл. Учитавање података из фајла у динамичку структуру података и обрада тих података преко операција над структуром.

Kreatori kursa: Milan Tomić

Програмски преводиоци

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ć

Teorija algoritama, automata i jezika

Course categoryRačunarske nauke

Alfabet, reč i jezik nad alfabetom. Formalne gramatike. Jezik definisan gramatikom. Hijerarhija formalnih gramatika prema Čomskom.

Regularni jezici. Deterministički konačni automati. Nedeterministički konačni automati. NKA sa spontanim prelazima. Regularni izrazi. Ekvivalentnost DKA, NKA i regularnih izraza. Minimizacija DKA. Pumping lema za regularne jezike.

Kontekstno-slobodni jezici. Potisni automati. Deterministički potisni automati. Ekvivalentnost potisnih automata i kontekstno-slobodnih jezika. Osobine kontekstno-slobodnih jezika. Normalna forma Čomskog za kontekstno-slobodne gramatike. Pumping lema za kontekstno-slobodne jezike.

Tjuringova mašina. Tjuringova mašina sa više traka. Nedeterministička Tjuringova mašina. Neodlučivost. Rekurzivno nabrojivi i rekurzivni jezici.

Klase problema P i NP, NP-kompletni problemi. Doka NP-kompletnosti problema CSAT i 3SAT.

Интегрисани информациони системи

Course categoryRačunarske nauke

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

Računarske mreže - RN

Course categoryRačunarske nauke

Računarske mreže za računarske nauke grupe 201, 202, 203

Kreatori kursa: Djordje Babic, Đorđe Babić

Engleski 2

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

Mašinsko učenje

Course categoryRačunarske nauke
Kreatori kursa: Nemanja Ilic

Prepoznavanje govora

Course categoryRačunarske nauke

Teorijska nastava

Modelovanje govora. Obrada akustičkog signala. Odabiranje, A/D konverzija i uokviravanje. Filtriranje i upotreba prozorske funkcije. Furijeova transformacija i spektar snage ulaznog signala. Promena frekventne ose i filtriranje po mel skali. Prelaz u logaritamski domen. Inverzna kosinusna transformacija, kepstralni koeficijenti i njihovi vremenski parametri. Vektori svojstava akustičkog signala. Markovljevi modeli. Skriveni Markovljevi modeli (HMM). Mešavine Gausovih raspodela. Akustički modeli. Fonetsko modelovanje. Robusnost u odnosu na okolinu (buka, šum, eho). Polukontinualni HMM, vezivanje stanja i klasterovanje. Treniranje HMM-a. Baum-Welch i Forward-Backward algoritmi. Normalizacija govora. Jezički modeli. N-gram usrednjavanje. Osnovna pretraživanja. Vremenski sinhrono Viterbi Beam pretraživanje. Stack i A* pretraživanje. Rad sa velikim rečnikom. Pretraživanje po stablu sa jezičkim modelima. Pretraživanje na osnovu gramatike. N-multipass pretraživačke strategije. Upotreba neuralnih mreža i dubokih neuralnih mreža. Hibridni sistemi dubokih neuralnih mreža i HMM.

Praktična nastava

Analiza spektrograma pomoću softvera za rad sa zvučnim signalom. Implemetacija softvera koji može da snima govor. Algoritmi kompresije zvučnog signala. Obrada dobijenog signala, odsecanje, filtriranje i sl. Implementacija i primena (brze) Furijeove transformacije. Implementacija sistema za prepoznavanje govora koji jeste / nije vezan za govornika i formiranje testova za pokazivanje korektnosti rada sistema. Implementacija i testiranje HMM sistema, kao i pretraživačkih algoritama. Rad sa dubokim neuralnim mrežama i njihovo kombinovanje sa klasičnim sistemima za prepoznavanje govora.

Kreatori kursa: Mladen Stanojevic

Kompjuterski vid

Course categoryRačunarsko inženjerstvo

Senzori i aktuatori

Course categoryRačunarsko inženjerstvo

Izborni predmet - Racunarsko inzenjerstvo

Kreatori kursa: Djordje Babic

Uvod u programiranje -- testovi

Course categoryRačunarsko inženjerstvo

Na ovoj stranici ce biti postavljani testovi iz UUP-a.

Projektovanje namenskih sistema

Course categoryRačunarsko inženjerstvo

Projektovanje namenskih sistema - Master studije

Kreatori kursa: Lazar Karbunar

Fiziološko Računarstvo

Course categoryRačunarsko inženjerstvo

Na ovom predmetu se uči o različitim fiziološkim procesima čoveka, kako ih zabeležiti i kako ih predstaviti kroz zvuk, sliku, vibracije, temperaturu, miris itd. Učimo o elektronici, senzorima, Arduino, Raspberry Pi, lemimo itd. Radimo na dizajnu zvuka, koristimo 3D printer i razne alate kako bismo napravili proizvod (prototip) od početka do kraja tipa fiziološkog računarstva.

Kreatori kursa: Jelena Mladenovic

Sistemko programiranje

Course categoryRačunarsko inženjerstvo
Циљ и исход предмета

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

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

Упознавање са функцијама и начином конструкције различитих системских алата, као што су макро процесори, асемблери, емулатори, повезивачи и пуниоци. Основе асемблера за различите процесорске архитектуре. Функције асемблера као алата. Конструкција асемблера и макропроцесора. Претпроцесор за језик C. Пројектовање високо оптимизујућих компајлера. Пројектовање интерпретативних и JIT емулатора. Формати објектних програма. Основне функције пуниоца. Конструкција пуниоца и повезивача. Динамичко повезивање и пуњење. Пуњење са прекривањем. Функције кернела оперативног система и њихова употреба. Упознавање са функционисањем системских библиотека и кернел API-ја различитих оперативних система Кернел АПИ и системски позиви. Програмирање улаза и излаза. Прављење управљачких програма. Дебаговање у кернелу. Имплементација кернел модула. Интерпроцесна и међурачунарска комуникација.

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

Пројектовање компактора машинског кода. Пројектовање симулатора одредишног система. Пројектовање компоненти за дебаговање и контролисано извршење програма. Интегрисано развојно окружење. Процеси, њихова међусобна комуникација и употреба команди за праћење. Имплементација најважнијих Unix системских команди. Писање нових команди. Употреба POSIX API и сигнала. Развој управљачких програма (драјвера) за Униx и Wиндоwс. Системско програмирање употребом скрипт језика.

Kreatori kursa: Milos Jovanovic

Neuronske mreže

Course categoryRačunarsko inženjerstvo
Kreatori kursa: Milan Tomić

Računarske mreže

Course categoryRačunarsko inženjerstvo
Kreatori kursa: Mladen Stanojevic
Asistent: Veljko Pernar

Signali i sistemi

Course categoryRačunarsko inženjerstvo

Signali i sistemi

Ovladavanje matametičkim aparatom za modeliranje signala i sistema u vremenskom, frekvencijskom i kompleksnom domenu
Poznavanje standardnih tipova signala i mogućnosti njihove obrade
Poznavanje osnovnih karakteristika sistema i elemenata analize sistema
Razumevanje odnosa frekvencijskih i vremenskih karakteristika signala i problema filtracije signala
Razumevanje poroblema diskretizacije signala
Vladanje softverskim alatom za analizu signala i sistema

Sistemi u realnom vremenu (Računarsko inženjerstvo)

Course categoryRačunarsko inženjerstvo

Teorijska nastava

Koncept vremena. Postizanje predvidivosti. Vremenska ograničenja. Ograničenje prethođenja. Ograničenja resursa. Problem raspoređivanja. Raspoređivanje aperiodičnih taskova. Džeksonov algoritam. Hornov algoritam. Raspoređivanje bez istiskivanja. Bratlijev algoritam. Spring algoritam. Raspoređivanje sa ograničenjem prethođenja. Raspoređivanje periodičnih taskova. Ciklično raspoređivanje. Raspoređivanje monotonim tempom (RM). Earliest Deadline First (EDF). Deadline Monotonic. EDF sa ograničenim rokovima. Serveri sa fiksnim prioritetom. Pozadinsko raspoređivanje. Server sa propitivanjem. Server sa odlaganjem. Razmena prioriteta. Sporadični server. Slack Stealing. Serveri sa dinamičkim prioritetom. Server sa razmenom dinamičkih prioriteta. Dinamički sporadični server. Server sa totalnim opsegom. Earliest Deadline Late server. Poboljšani server sa razmenom prioriteta. Server sa konstantnim opsegom. Protokoli za pristup resursima. Inverzija prioriteta. Protokol bez istiskivanja. Highest Locker Priority protokol. Protokol sa nasleđivanjem prioriteta. Protokol sa gornjom granicom prioriteta. Politika stek resursa. Raspoređivanje sa ograničenim istiskivanjem. Prag istiskivanja. Odloženo istiskivanje. Rastavljanje taskova. Izbor tačaka istiskivanja. Upravljanje preopterećenjem. Rukovanje aperiodičnim preopterećenjem. Prekoračenja. Permanentna preopterećenja.

 

Praktična nastava

Rad sa FreeRTOS operativnim sistemom u simuliranom okruženju i na mikrokontroleru. Poznavanje elemenata FreeRTOS operativnog sistema kao što su poslovi, redovi, brave, semafori i sl. Tipični problemi konkurentnosti kod sistema u realnom vremenu. Primena i modifikacija FreeRTOS raspoređivača. Implementacija podrške za aperiodične i periodične poslove. Implementacija podrške za ograničenja prethođenja. Zapis i analiza dobijenog rasporeda sistemskog raspoređivača u simuliranom i stvarnom okruženju. Implementacija poslova sa ograničenim resursima i njihovo raspoređivanje.

Kreatori kursa: Stevan Milinković

Osnovi elektronike

Course categoryRačunarsko inženjerstvo
Kreatori kursa: Lazar Karbunar
Asistent: Petar Marković

Управљање пројектима

Course categoryRačunarsko inženjerstvo

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

Primenjena veštačka inteligencija

Course categoryRačunarsko inženjerstvo
Циљ и исход предмета

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

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

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

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

Имплементација алгоритама обрађених на предавањима. Имплементација минимакс алгоритма на примеру игре са два играча. Имплементација правила расуђивања уланчавање унапред и уланчавање у назад. Имплементација експертских система.

Kreatori kursa: Milan Tomić

Uvod u robotiku

Course categoryRačunarsko inženjerstvo
•Uvod u robotiku
•Struktura robota
•Pogonski sistemi
•Završni uređaji
•Senzori u robotici
•Vizuelni sistemi
•Neuralne mreže
•Upravljanje robotom
•Primena u industriji
•Fleksibilni proizvodni sistemi

Mobilni sistemi

Course categoryRačunarsko inženjerstvo
Kreatori kursa: Selena Vukotić

Kompresija podataka

Course categoryRačunarsko inženjerstvo
Kreatori kursa: Selena Vukotić
Asistent: Djordje Lukic

Digitalne komunikacije

Course categoryRačunarsko inženjerstvo
Kreatori kursa: Selena Vukotić
Asistent: Djordje Lukic

Operativni sistemi

Course categoryRačunarsko inženjerstvo
Kreatori kursa: Mladen Stanojevic

Bezbednost mreža

Course categoryRačunarsko inženjerstvo
Kreatori kursa: Petar Bojović
Profesor: Petar Bojovic

RI Računarske mreže

Course categoryRačunarsko inženjerstvo

Cilj kursa je da se:

• Studentima detalno objasne priroda računarskih komunikacija, postojeći referentni modeli i prednosti rada u mreži

• Prikažu postojeći tipovi računarskih mreža i njihove topologije

• Objasne pojmovi fizičke i logičke topologije mreže

• Detaljno opišu i objasne ključni koncepti mrežne arhitekture, postojeće IP tehnologije i protokoli na L2, L3, L4, L5, L6 i L7 sloju IP mreže

• Studentima detaljno objasni kako se mogu realizovati različiti mrežni servisi

• Nauče studenti kako da izaberu i koriste različite metode i alate za monitoring mreže

• Studentima objasni kako da lociraju problem u mreži i da isti reše koristeći neku od IP tehnologija .

Uvod u softversko inženjerstvo

Course categorySoftversko inženjerstvo

Predmet: Uvod u softversko inženjerstvo

Šifra predmeta: 20.2700

Program: Softversko inženjerstvo

Šk.god,: 2024-25

Kreatori kursa: Tatjana Sibalija
Asistent: Sanja Jovanovic

Uvod u 3D animaciju 2024/25

Course categoryRačunarski dizajn

Cilj:
Oprema studenata osnovnim veštinama u karakter animaciji, fokusirajući se na kretanje, glumu  i tehničku pismenost.

Struktura kursa:

  1. Osnovi animacije:

    • Principi animacije (squash i stretch, tempo, ubrzavanje)
    • Razumevanje ključnih kadrova i međukadrova
  2. Kretanje karaktera:

    • Osnovi lokomocije (hodanje, trčanje)
    • Mehanika tela i raspodela težine, uticaj gravitacione sile
  3. Gluma i izražavanje:

    • Emocionalni raspon i motivacija karaktera
    • Vežbe posmatranja: proučavanje pokreta iz stvarnog života
  4. Tehničke veštine:

    • Uvod u softver za animaciju ( Maya,)
    • Upoznavanje sa alatima, editorma i komandama koje koristimo za animiranje kao i njihova primena u različitim pristupima animaciji.
    • Razumevanje osnova karakternih rigova i manipulacija njima
    • Kratki projekti animacije za primenu naučenih veština
    • Kritike i povratne informacije od strane vršnjaka

Ishodi učenja:

  • Razviti snažno razumevanje principa kretanja i glume.
  • Steći praktično iskustvo u softveru za animaciju.
  • Kreirati originalne animirane sekvence koje prikazuju performansu karaktera.

Procena:

  • Procene zasnovane na projektima
  • Učešće u diskusijama i kritikama u razredu
Kreatori kursa: Goran Rubil

3D animacija

Course categoryRačunarski dizajn
Kreatori kursa: Goran Rubil

Dizajn i informacione tehnologije 2

Course categoryRačunarski dizajn

Cilj i ishod predmeta

Cilj predmeta je da studenti ovladaju naprednim teorijskim i praktičnim znanjima iz oblasti veb dizajna
i generativnog dizajna.
Studenti poimaju interaktivnu, promenjivu i globalnu prirodu veba. Poznaju tehničke standarde veba i
softvere relevantne za veb dizajn i generativni dizajn (uče istoriju veb dizajna, te analiziraju i porede
odabrane savremene tendencije). Studenti uviđaju vrednost multidisciplinarnog i timskog rada za brojne
aspekte savremenih dizajnerskih rešenja.

Teorijska nastava

Veb kao fenomen i platforma; Istorija veb dizajna; Razlike između veba i tradicionalnih medija
fiksnih dimenzija; Sajt kao apstraktni virtuelni prostor; Savremene tendencije u dizajnu na vebu;
Definisanje obima posla programera i dizajnera, priroda njihove saradnje; Kako prevesti univerzalne
termine umetnosti (forma, prostor, kontrast, dinamika i slično) u kontekst veba; Veb standardi;
Planiranje sajta, analiza zahteva klijenata; Anatomija veb stranice, mapa sajta; Vizuelni koncept sajta
(mockup); Ključni termini (hosting, domen, link, layout, grid, frontend, backend, SEO, FTP); HTML i CSS,
osnove JavaScript-a; Izrada sajta u Notepad-u; Merne jedinice na vebu, relativnost veličine piksela;
Dizajniranje sajta u Adobe Photoshop-u, Adobe Illustrator-u i Adobe XD-u; Statički i dinamički sajtovi,
osnove PHP-a; CMS platforme, priprema dizajna za WordPress; Mobile first i responsive dizajn;
Tipografija, animacija, 3D grafika na vebu; HTML i CSS kao alati za dizajn van veba; Generativni dizajn;
Processing okruženje; p5.js okruženje.

Praktična nastava

Kroz praktične vežbe u relevantnim softverima (Adobe Photoshop, Adobe Illustrator, Adobe XD) i kroz
programiranje odgovarajućih rešenja (posredstvom Processing and p5.js okruženja) studenti se upoznaju sa
različitim izazovima u dizajnu interaktivnih medija orijentisanih ka vebu (veb dizajn, generativni
dizajn).

Kreatori kursa: Filip Topuzović

Fotografija

Course categoryRačunarski dizajn
Kreatori kursa: Filip Topuzović

Modelovanje

Course categoryRačunarski dizajn
Kreatori kursa: Rastko Kukić