Index: backend/subjects/management/commands/fill_db.py
===================================================================
--- backend/subjects/management/commands/fill_db.py	(revision f540d883a5b2a25d16d16f99a80253083d86f16a)
+++ backend/subjects/management/commands/fill_db.py	(revision 7070b7612f9d4f13b08f111426ea3d76b33c8e88)
@@ -6,7 +6,11 @@
 
 class Command(BaseCommand):
-    help = "Fill db with subjects and subject info from JSON"
+    help = "Drop existing tables and fill db with subjects and subject info from JSON"
 
     def handle(self, *args, **kwargs):
+        Subject_Info.objects.all().delete()
+        Subject.objects.all().delete()
+        self.stdout.write(self.style.SUCCESS('Existing data cleared successfully!'))
+
         base_dir = Path(__file__).resolve().parent
         data_path = base_dir / 'subject_details.json'
@@ -14,4 +18,8 @@
         with open(data_path, 'r', encoding='utf-8') as f:
             subject_details = json.load(f)
+
+        for item in subject_details.values():
+            name = item["subject"].lower()
+            code = item["code"] if "," not in item["code"] else item["code"].split(",")[1].strip()
 
         subjects = []
@@ -21,5 +29,5 @@
                 name=item["subject"],
                 code=code,
-                abstract=item.get("abstract", "")
+                abstract=item.get("abstract")
             )
             subjects.append(subject)
@@ -27,11 +35,27 @@
         created_subjects = Subject.objects.bulk_create(subjects)
 
+        name_to_id = {subj.name.lower(): subj.id for subj in created_subjects}
+
+
         subject_infos = []
         for db_subject, item in zip(created_subjects, subject_details.values()):
+            prereq = item.get("prerequisite", {})
+            if "subjects" in prereq:
+                subjects_list = prereq["subjects"]
+                subjects_id_list = []
+                for subject_name in subjects_list:
+                    subject_id = name_to_id.get(subject_name.lower())
+                    if subject_id is not None:
+                        subjects_id_list.append(subject_id)
+                    else:
+                        self.stdout.write(self.style.WARNING(f"Warning: Subject {subject_name} not found in DB"))
+            
+                prereq = {"subjects": subjects_id_list}
+                                          
             info = Subject_Info(
                 subject=db_subject,
                 level=item["level"],
                 short=item.get("short"),
-                prerequisite=item.get("prerequisite"),
+                prerequisite=prereq,
                 activated=item["activated"],
                 participants=item.get("participants", [0, 0, 0]),
Index: backend/subjects/management/commands/subject_details.json
===================================================================
--- backend/subjects/management/commands/subject_details.json	(revision f540d883a5b2a25d16d16f99a80253083d86f16a)
+++ backend/subjects/management/commands/subject_details.json	(revision 7070b7612f9d4f13b08f111426ea3d76b33c8e88)
@@ -6,5 +6,5 @@
         "abstract": "Разбирање на главните компјутерски архитектури, внатрешната организација, проценка на перформансите на поедините делови и компјутерскиот систем во целинa.",
         "short": "АиОнК",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -48,5 +48,5 @@
         "abstract": "Развој на менаџерски способности: техничка, концепциска, комуникациска, аналитичка.\nУсвојување на рамки, поими, модели и техники од областа на менаџментот.\nПрезентирање и анализа на примери, студии на случај и најдобри менаџмент практики од повеќе бизнис области и студии на случај на поодделни бизниси.",
         "short": "БиМ",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -81,5 +81,5 @@
         "abstract": "Запознавање со основните статистички методи и техники за прикажување, анализа и истражување на податоци.",
         "short": "БС",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -112,5 +112,5 @@
         "abstract": "Солидно познавање на основите на информатичко-комуникациските технологии, нивното создавање, моментална состојба и иднината; начинот на кој функционираат сметачите, основите на Веб, обработката на сликите, видеото и анимациите; клучните области на информациско-комуникациските технологии и нивното влијание: спососност за манипулација со текст, табели, графикони, слики, аудио и видео.",
         "short": "ВвКН_1",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -152,5 +152,5 @@
         "abstract": "Запознавање со основните методи за анализа и дизајн на логички кола и логички мрежи, како комбинациони така\nи секвенцијални кола, регистри и бројачи.",
         "short": "ДнДК",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -179,5 +179,5 @@
         "abstract": "Курсот претставува вовед во основните математички концепти неопходни за повисоките курсеви од информациски технологии, компјутерско и софтверско инженерство.",
         "short": "ДМ",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -203,5 +203,5 @@
         "abstract": "Во овој предмет ќе се изучуваат базични математички концепти за компјутерски науки. Студентите ќе се запознаат со основите на множества, исказна и предикатна логика, техники за докажување и булова алгебра.",
         "short": "ДС1",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -231,5 +231,5 @@
         "abstract": "Курсот претставува вовед во основните математички концепти неопходни за повисоките курсеви од компјутерски науки. Ќе се изучуваат напредни техники за докажување, индукција рекурзија. Студентите треба да стекнат вештини за решавање на комбинаторни задачи. Да се запознаат со основната терминологија и основите за претставување на графови.",
         "short": "ДС2",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -258,5 +258,5 @@
         "abstract": "По успешното завршување на овој предмет, студентот ќе биде запознат со еволуцијата на теориите за учење и ќе биде во состојба да ги разбере улогата и новите трендови кај околините за е-учење како и да го разбере преминот од традиционалните во е-околините за учење. Низ примери за примена на видео игри, масивни отворени онлајн курсеви, оддалечени и виртуелни лаборатории, виртуелни училници студентите ќе се запознаат со можностите за искористување на ИКТ за поддршка на образованието. Студентите ќе се стекнат со способност да понудат соодветни постојни системи и алатки за менаџирање со учење и наставни содржини како и системи и алатки за проверка на знаење за дадени бизнис побарувања.",
         "short": "ИСзУ",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -293,5 +293,5 @@
         "abstract": "Предметот е од подршка и е неопходен за воведување на поимите за функција, лимес, извод и интеграли кои се неопходни во скоро сите предмети од повисоки години.",
         "short": "К_1",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -322,5 +322,5 @@
         "abstract": "Предметот е од подршка и е неопходен за воведување на поимите за функција, лимес и извод кои се неопходни во скоро сите предмети од повисоки години.",
         "short": "К1",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -351,5 +351,5 @@
         "abstract": "Предметот е од подршка и е неопходен за воведување на поимите за интеграли, примена на интерграли, низи и редови кои се неопходни во дел од предметите од повисоки години.",
         "short": "К2",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -381,5 +381,5 @@
         "abstract": "Разбирање на архитектурата на еден компјутерски систем, идентификација на неговите составни делови, проценка на перформансите на компјутерскиот систем и неговите поединечни делови. Разбирање на машинскиот јазик, асемблерот и мемориската организација на системите.",
         "short": "КА_1",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -411,5 +411,5 @@
         "abstract": "Познавање на структурата на компјутерските системи, хардверските компоненти, поврзувањето и начинот на\nработа, карактеристиките и стандардите што се употребуваат.",
         "short": "КК",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -442,5 +442,5 @@
         "abstract": "Студентот ќе се здобие со способност за критичко размислување и развој на вештините на размислување надвор од стандардните норми и принципи. Ќе биде во можност да го постави проблемот во рамка и да го изложи правилно, како и да решава неструктурирани проблеми. Ќе има подобрени вештини за општо решавање на проблеми од различен карактер кои стимулираат логичко размислување.",
         "short": "КВзРП",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -476,5 +476,7 @@
         "abstract": "Вовед во главните елементи за развој на маркетинг стратегија и планирање на програма за маркетинг; Развој на вештини за решавање на маркетинг проблеми преку аналитички алатки (рамки, поими, модели и техники); Анализа на примери и студии на случај како претпријатијата го организираат својот маркетинг, со акцент на ИКТ претпријатија; Подобрување на комуникациските вештини, усни и писмени, работа во тим при изработка на проектна задача, презентирање на проектната задача.",
         "short": "М",
-        "prerequisite": "нема (2018) | 36 кредити (2023)",
+        "prerequisite": {
+            "credits": 36
+        },
         "activated": true,
         "participants": [
@@ -509,5 +511,5 @@
         "abstract": "Запознавање со техниките за анализа, дизајн и моделирање на објектно ориентираните системи. Оспособување за практична анализа на кориснички барања и креирање ефективни ОО модели како почетна фаза на имплементацијата на ОО системот.",
         "short": "ООАиД",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -547,5 +549,5 @@
         "abstract": "Целта на предметот е да го запознае студентот со основните концепти на објектно-ориентираното програмирање. За таа цел ќе бидат воведени концептите на објекти и класи, eнкапсулација, наследување и полиморфизам. Студентите ќе бидат запознаени и со хиерахијата на класи. Ќе се направат споредби на имплементациите на објектно-ориентираните концепти во различни програмски јазици.\nПо завршување на курсот студентот ќе ги разбира принципите на објектно-ориентираното програмирање и биде оспособен за развој на програми кои ги подржуваат овие принципи.",
         "short": "ООП",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -594,5 +596,5 @@
         "abstract": "По комплетирање на курсот кандидатите се очекува студентите да добијат воведни знаењаза развој на веб страници со современ дизајн, употреба на ХТМЛ и каскадни стилови. Се очекува кандидатите да:\n1. Демонстрираат основно разбирање на важноста на добар дизајн на веб страниците.\n2. Демонстрираат практично знаење за технологиите за веб дизајн и да можат да го применат знаењето при основно дизајнирање на веб сајтови.\n3. Да комуницираат со терминологија специфична за оваа област.\n4. Критички да евалуираат примери на веб сајтови.",
         "short": "ОнВД",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -633,5 +635,5 @@
         "abstract": "Студентот ќе се запознае со концептот на сајбер безбедност, закани и ризици. Ќе биде свесен за проблемите предизвикани од сајбер криминалот и ќе биде во можност да ги разбира ризиците од напади и основните механизми како да се заштити од нив.",
         "short": "ОнСБ",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -668,5 +670,5 @@
         "abstract": "Запознавање на студентите со педагогијата како наука, педагошките дисциплини, воспитанието и училишниот систем.",
         "short": "П_1",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -695,5 +697,5 @@
         "abstract": "Целта на курсот е да студентите да се стекнат со вештини потребни за академско и техничко пишување и презентирање, со водење сметка за етиката и критичкото мислење. По завршување на курсот се очекува студентот да може да изработи квалитетни академски текстови (резиме, есеј, CV, формално писмо) на англиски и македонски јазик; да разликува помеѓу различни технички текстови (спецификација, елаборат, извештај, техничка документација) и да идентификува нивни делови; да одржи ефективна презентација на зададена тема и да одговори на прашања поврзани со презентацијата;",
         "short": "ПВ",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -732,5 +734,5 @@
         "abstract": "Да се воведат студентите во парадигмата на структурното програмирање, да го разберат концептот на алгоритми и да се оспособат да развиваат алгоритми, да кодират, тестираат и компајлираат програми. Студентите ќе можат да пишуваат програми за решавање проблеми преку користење на податочни типови, контролни структури, функции, низи во програмскиот јазик C++.",
         "short": "СП_1",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -781,5 +783,5 @@
         "abstract": "Студентите ќе се запознаат со основните физички величини и закони од класичната механика. Тие ќе се стекнат со основни вештини за експериментална работа, како и за пресметување и правилно толкување на добиените резултати од областите кои се дел од содржината. Теоретските знаења на студентите ќе бидат солидна подлога за понатамошна надградба која е потребна за разбирање и моделирање на различните процеси каде што се применуваат информатиката и компјутерското инженерство.",
         "short": "Ф",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -808,5 +810,9 @@
         "abstract": "Запознавање со основните податочни структури и алгоритми кои се понатаму неопходни за работа со бази на\nподатоци како и за други апликации. Студентот ќе биде оспособен за користење и развој на структури и алгоритми\nсо линеарни листи, стебла, графови како и и индекси за пребарување. Исто така ќе биде оспособен за\nимплемнтација на различните архетипи на алгоритми што се користат во практичната имплементација на многу\nсофтверски решенија.",
         "short": "АиПС",
-        "prerequisite": "Објектно-ориентирано програмирање (2018) | Структурно програмирање (2023)",
+        "prerequisite": {
+            "subjects": [
+                "структурно програмирање"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -846,5 +852,10 @@
         "abstract": "По завршувањето на предметот се очекува студентот да ги разбира и има продлабочено знаење во примена на техниките за извлекување знаење од клиентот, да ги разбира техниките за документирање на софтверски и бизнис потреби, да ги разбира и има продлабочено знаење во примената на техники за управување со промени кај софтверски и бизнис барања.",
         "short": "АнСБ",
-        "prerequisite": "Објектно ориентирана анализа и дизајн или Софтверско инженерство (2018) | Објектно ориентирана анализа и дизајн или Објектно-ориентирано програмирање (2023)",
+        "prerequisite": {
+            "subjects": [
+                "објектно ориентирана анализа и дизајн",
+                "објектно-ориентирано програмирање"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -879,5 +890,7 @@
         "abstract": "Познавање и разбирање на системите за безжична и мобилна комуникација",
         "short": "БиМС",
-        "prerequisite": "Компјутерски мрежи и безбедност или Компјутерски мрежи (2018) | 36 кредити (2023)",
+        "prerequisite": {
+            "credits": 36
+        },
         "activated": true,
         "participants": [
@@ -913,5 +926,10 @@
         "abstract": "Да се воведат основните концепти од веројатност и статистичка анализа со дискусија на примените во компјутерските науки. Да се оспособат студентите за успешно следење на стручните предмети во кои се применуваат елементи од теорија на веројатност и статистика.",
         "short": "ВиС",
-        "prerequisite": "Калкулус или Калкулус 2 или Бизнис статистика (2018) | Калкулус 1 или Математика 1 (2023)",
+        "prerequisite": {
+            "subjects": [
+                "калкулус 1",
+                "математика 1"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -952,5 +970,7 @@
         "abstract": "Успешниот студент ќе има продлабочени познавања од основните области на вештачката интелигенција, вклучувајќи ги: пребарувањето, решавањето проблеми, претставувањето на знаењето, расудувањето, донесувањето одлуки, планирањето и учењето и нивната примена. Исто така, ќе биде во состојба да ги дизајнира и реализира клучните проблеми од интелигентните системи со средна сложеност и да го процени нивното однесување.",
         "short": "ВИ",
-        "prerequisite": "Алгоритми и податочни структури (2018) | 36 кредити (2023)",
+        "prerequisite": {
+            "credits": 36
+        },
         "activated": true,
         "participants": [
@@ -990,5 +1010,9 @@
         "abstract": "Со завршување на овој курс се очекува студентите да се запознаени со техниките за развивање на софтвер во\nнапредна интегрирана развојна околина користејќи модерен објектно-ориентиран програмски јазик, дизајнирање\nна богати графички кориснички интерфејси и откривање и отстранување на грешки во истата. Се очекува\nстудентите да бидат оспособени за развој на настански водени апликации, развој на графички кориснички\nинтерфејси, напредни форми за внесување на податоци, асинхроно програмирање, кориснички дефинирани контроли и креирање на инсталациски пакети.",
         "short": "ВП_1",
-        "prerequisite": "Објектно-ориентирано програмирање",
+        "prerequisite": {
+            "subjects": [
+                "објектно-ориентирано програмирање"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1023,5 +1047,9 @@
         "abstract": "Екоинформатиката е наука за информации (информатика) во екологијата и науката за животната средина. Ги интегрира еколошките и информатичките науки за да ги дефинира ентитетите и природните процеси со јазик заеднички за луѓето и за компјутерите. Екоинформатиката има за цел да го олесни истражувањето и управувањето со животната средина преку развивање начини за пристап, интегрирање на знаење од различни извори на информации за животната средина и развивање на нови алгоритми кои овозможуваат комбинирање на различни информации за животната средина за да се тестираат еколошките хипотези.",
         "short": "ВвЕ",
-        "prerequisite": "нема (2018) | Вовед во компјутерските науки (2023)",
+        "prerequisite": {
+            "subjects": [
+                "вовед во компјутерските науки"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1054,5 +1082,7 @@
         "abstract": "Да се оспособат студентите да моделираат случајни процеси за реални ситуации.",
         "short": "ВвСП",
-        "prerequisite": "Веројатност и статистика или Основи на теоријата на информации (2018) | 36 кредити (2023)",
+        "prerequisite": {
+            "credits": 36
+        },
         "activated": true,
         "participants": [
@@ -1084,5 +1114,12 @@
         "abstract": "По завршување на курсот се очекува студентот да ги владее и користи основните алатки и методи за обработка на слики.",
         "short": "ДПнС",
-        "prerequisite": "Дискретна математика или Дискретни структури 2 (2018) | Дсикретна математика или Дискретни структури 2 или Математика 2 или Избрани теми од математика (2023)",
+        "prerequisite": {
+            "subjects": [
+                "дискретна математика",
+                "дискретни структури 2",
+                "математика 2",
+                "избрани теми од математика"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1114,5 +1151,9 @@
         "abstract": "Целта на предметот е да се научат процесот и техниките за дигитизација. Студентите треба да ги совладаат основните принципи за менаџирање со дигитални материјали и нивна презервација, како и техники и технологии за нивно презентрање.",
         "short": "Д",
-        "prerequisite": "Вовед во компјутерските науки",
+        "prerequisite": {
+            "subjects": [
+                "вовед во компјутерските науки"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1139,5 +1180,12 @@
         "abstract": "Во овој курс ќе се научат повеќе алгоритми и методи за решавање на проблемите со компјутер, како и одредени структури на податоци за имплементација на истите. Студентот ќе стекне искуство од програмирање, ќе ги разбере  принципите на дизајнирање на алгоритми, анализа на перформансите на алгоритмите и ќе ги научи фундаменталните идеи за дизајн на ефикасен алгоритам и комбинирање на истиот со соодветна структура на податоци. Идеите ќе се применат во пракса преку лабораториск вежби.",
         "short": "ДнА",
-        "prerequisite": "Објектно-ориентирано програмирање (2018) | Дискретна математика или Дискретни структури 2 или Математика 2 или Избрани теми од математика (2023)",
+        "prerequisite": {
+            "subjects": [
+                "дискретна математика",
+                "дискретни структури 2",
+                "математика 2",
+                "избрани теми од математика"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1171,5 +1219,9 @@
         "abstract": "Целта на курсот е студентите да се запознаат со испораката на услугите од страна на владините институции кон корисниците: граѓаните, бизнисите и организациите од невладиниот сектор и примената на информациските технологии во тие процеси; да се запознаат со напредните држави и напредните области на примена на е-влада преку анализа на примери, студии на случај и најдобри практики; Подобрување на комуникациските вештини, усни и писмени, работа во тим при изработка на проектна задача, презентирање на проектната задача.",
         "short": "Е",
-        "prerequisite": "Бизнис и менаџмент",
+        "prerequisite": {
+            "subjects": [
+                "бизнис и менаџмент"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1202,5 +1254,9 @@
         "abstract": "ИКТ инженерите, изработувајќи и нудејќи ИКТ услуги, се соочуваат со прашања во врска со SLA договорите, продавачите, добавувачите, со финансиските аспекти на ИКТ услугите – колку чини услугата, зошто токму толку, колкави се трошоците, колку е дозволено да бидат трошоците и слично. Области кои им е потребно да ги владеат се буџетирање, книговодство, определување на цени, финансиско планирање, финансиска анализа и известување. Овој курс има за задача да им овозможи да ги совладаат овие области преку опис на основните  економски модели; демонстрирање како овие модели работат; опис на главните економски феномени со користење економски модели.",
         "short": "ЕзИИ",
-        "prerequisite": "Бизнис и менаџмент",
+        "prerequisite": {
+            "subjects": [
+                "бизнис и менаџмент"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1235,5 +1291,7 @@
         "abstract": "Запознавање со основните поими и појави од електричните кола, со основните закони и теореми во теоријата на електричните кола и со некои методи за анализа на електрични мрежи со временски констатни и временски прпоменливи струи и напони. Користење на основните законитости во електротехниката при решавање на конкретни проблеми во инженерството.",
         "short": "ЕК",
-        "prerequisite": "нема (2018) | 36 кредити (2023)",
+        "prerequisite": {
+            "credits": 36
+        },
         "activated": true,
         "participants": [
@@ -1266,5 +1324,9 @@
         "abstract": "Во 21 век, информатичкото размислување е вештина од клучно значење за сите граѓани на светот. Информатиката и технологијата влијаат на целиот наш живот и секој треба да знае како да ги формулира проблемите и да ги изрази решенијата за нив така што ќе може да бидат спроведени од компјутер. На овој курс студентите ќе научат различни аспекти на информатичкото размислување и пристапи за нивно подучување во основното и средното образование. Тие ќе научат јазик заснован на блокови и модерни пристапи дизајнирани да го олеснат учењето програмирање.",
         "short": "ИвО",
-        "prerequisite": "ИТ системи за учење (2018) | Вовед во компјутерските науки (2023)",
+        "prerequisite": {
+            "subjects": [
+                "вовед во компјутерските науки"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1298,5 +1360,10 @@
         "abstract": "Предметот опфаќа методи за нумеричкото решавање на повеќе математички проблеми, како и примена на некои\nпозначајни математички трансформации во инженерството.",
         "short": "ИМ",
-        "prerequisite": "Калкулус или Калкулус 2 (2018) | Калкулус 1 или Математика 1 (2023)",
+        "prerequisite": {
+            "subjects": [
+                "калкулус 1",
+                "математика 1"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1321,5 +1388,9 @@
         "abstract": "Целта на курсот е да овозможи запознавање на студентите со основните на програмирањето на интернет клиентската страна. Во таа насока студентите ќе бидат запознаени со дел од програмските јазици и технологиите за пишување програми што се извршуваат на клиентската страна. По завршување на курсот се очекува студентот да може да развива интерактивни веб-страници со користење на програмски јазици наменети за програмирање на клиентската страна.",
         "short": "ИПнКС",
-        "prerequisite": "Објектно-ориентирано програмирање (2018) | Структурно програмирање (2023)",
+        "prerequisite": {
+            "subjects": [
+                "структурно програмирање"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1349,5 +1420,9 @@
         "abstract": "Познавање на механизмите кај HTTP протоколот. Запознавање со платформи за развој на интернет апликации.\nКреирање и развој на веб апликции. Креирање и користење на веб сервиси.",
         "short": "ИТ",
-        "prerequisite": "Објектно-ориентирано програмирање",
+        "prerequisite": {
+            "subjects": [
+                "објектно-ориентирано програмирање"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1384,5 +1459,9 @@
         "abstract": "Целта на предметот е запознавање на студентите со теориските основи и концепти на 2D и 3D компјутерска графика, геометриското моделирање, трансформациите, рендерирањето и генерирањето криви и површини со помош на сплајнови. Практичната имплементација на алгоритмите ќе се реализира со помош на OPEN GL. По завршување на курсот се очекува студентот да демонстрира познавање на теориските основи и концепти на 2Д и 3Д компјутерската графика, да користи OpenGL библиотека и графички софтверски пакети за практична реализација на проблеми од компјутерската графика.",
         "short": "КГ",
-        "prerequisite": "Објектно-ориентирано програмирање и (Дискретна математика или Дискретни структури 2) (2018) | Објектно-ориентирано програмирање (2023)",
+        "prerequisite": {
+            "subjects": [
+                "објектно-ориентирано програмирање"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1415,5 +1494,7 @@
         "abstract": "Вовед во основните концепти на компјутерските мрежи. Студентот ќе се здобие со знаења поврзани со мрежната архитектура, мрежните протоколи и дизајн на мрежи. Студентот ќе се запознае со главните компоненти и апликации на TCP/IP свитата од протоколи.",
         "short": "КМ",
-        "prerequisite": "Компјутерски архитектури (2018) | 18 кредити (2023)",
+        "prerequisite": {
+            "credits": 18
+        },
         "activated": true,
         "participants": [
@@ -1444,5 +1525,7 @@
         "abstract": "Вовед во основните концепти на компјутерските мрежи и безбедноста. Студентот ќе се здобие со знаења поврзани со мрежната архитектура, мрежните протоколи и работата на мрежите, како и главните поими од мрежната безбедност. Студентот ќе се запознае со главните компоненти и апликации на TCP/IP свитата од протоколи.",
         "short": "КМиБ",
-        "prerequisite": "Архитектура и организација на компјутери (2018) | 18 кредити (2023)",
+        "prerequisite": {
+            "credits": 18
+        },
         "activated": true,
         "participants": [
@@ -1484,5 +1567,9 @@
         "abstract": "Целта на курсот е да се запознаат студентите со теориите и пристапите кои ја анализираат улогата на информатичката технологија, медиумите и знаењето во модерното општество. По завршување на модулот студентите треба да бидат способни да:\n1.\tСистематски и критично дискутираат, евалуираат и ги анализираат главните теми, принципи, концепти и теории на информатичкото општество\n2.\tПрименуваат различни концепти од информатичкото општество\n3.\tПокажат разбирање за важноста на информатичката технологја и знаењето во модерното општество",
         "short": "КнИО",
-        "prerequisite": "Вовед во компјутерските науки",
+        "prerequisite": {
+            "subjects": [
+                "вовед во компјутерските науки"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1514,5 +1601,9 @@
         "abstract": "По завршувањето на предметот се очекува студентот да ги разбира основните\nпоими од комуникатологијата како наука, како и да има продлабочено знаење во примена на постоечките техники и\nсознанија за подобрување за комуникацијата помеѓу чинителите на комуникацијата. Посебен осврт ќе биден даден на комуникацијата преку новите медиуми и начинот на кој новите медиуми влијаат во различни општествени сфери. Студентите ќе бидат запознаени со основните принципи за испитување на јавно мислење и користење на новите медиуми (со посебен фокус на социјалните мрежи) за градење и промовирање на бренд (личен или корпоративен).",
         "short": "МиК",
-        "prerequisite": "Вовед во компјутерските науки",
+        "prerequisite": {
+            "subjects": [
+                "вовед во компјутерските науки"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1547,5 +1638,9 @@
         "abstract": "Целта на предметот е студентот да се запознае со основите на различните медии: аудио, графика, видео и анимации и да ги сфати различните својства на секоја од нив. Студентот треба да ги запознае различните формати и да се оспособи за користење за различни апликации за креирање на мултимедијални содржини. Како повисока цел, студентот треба да може да развие мал мултимедијален производ со примена на изучените техники и методи.",
         "short": "МТ",
-        "prerequisite": "Вовед во компјутерските науки",
+        "prerequisite": {
+            "subjects": [
+                "вовед во компјутерските науки"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1580,5 +1675,9 @@
         "abstract": "Да се воведат студентите во парадигмата на генеричкото програмирање. Да се запознаат со апстрактни податочни типови,\nкреирање на темплејт класи и функции. Да развијат вештини за употреба на колекции на податоци (вектори, редови, листи,\nмножества и речници). На крај се очекува студентите да можат да ги аплицираат концептите на шаблони за објектно-\nориентиран развој на софтвер при моделирање на некој специфициран проблем во робусна објектно-ориентирана програма.\nСтудентите ќе бидат запознаени со техниките за развивање на софтвер во интегрирана развојна околина.",
         "short": "НП",
-        "prerequisite": "Објектно-ориентирано програмирање",
+        "prerequisite": {
+            "subjects": [
+                "објектно-ориентирано програмирање"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1615,5 +1714,10 @@
         "abstract": "Студентот ќе биде оспособен за теоретска и практична работа со квантни кола за пресметки базирани на квантни бити (кјубити). Преку содржината на овој предмет, студентот ќе се стекне со знаења за квантни технологии, квантни состојби, квантни протоколи преку работа со квантни кола со еден, два и повеќе кјубити, реверзибилност во квантни кола, суперпозиција и телепортација, како и најразлични квантни кола за решавање на конкретни проблеми. Преку практичната работа, студентот ќе се запознае со Qiskit апликацијата за креирање и симулација на квантни кола.",
         "short": "ОиЕЕКС",
-        "prerequisite": "Компјутерски компоненти (2018) | Архитектура и организација на компјутери или Компјутерски архитектури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "архитектура и организација на компјутери",
+                "компјутерски архитектури"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -1644,5 +1748,10 @@
         "abstract": "Студентот ќе биде воведен во основните градбени блокови на модерните оперативни системи преку нивна конкретна реализација во Windows и UNIX-like системите.",
         "short": "ОС",
-        "prerequisite": "Архитектура и организација на компјутери или Компјутерски архитектури",
+        "prerequisite": {
+            "subjects": [
+                "архитектура и организација на компјутери",
+                "компјутерски архитектури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1687,5 +1796,10 @@
         "abstract": "Студентите ќе се запознаат со основните концепти за анализа на реалните сигнали и системи, со посебен фокус на анализата на комуникациски сигнали и нивниот пренос низ медиум, типовите на модулација и влијанието на шумот врз модулациските техники. Дополнително студентите ќе се здобијат со познавање од софтверски дефинирано радио, современите комуникациски системи и нивниот тековен развој.",
         "short": "ОнКС",
-        "prerequisite": "Калкулус или Калкулус 2 (2018) | Калкулус 1 или Математика 1 (2023)",
+        "prerequisite": {
+            "subjects": [
+                "калкулус 1",
+                "математика 1"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1710,5 +1824,10 @@
         "abstract": "Студентите ќе бидат запознати со основите на теорија на веројатност, а потоа и основните поими од теорија на информации и нејзината примена во реални комуникациски системи.",
         "short": "ОнТнИ",
-        "prerequisite": "Калкулус (2018) | Калкулус 1 или Математика 1 (2023)",
+        "prerequisite": {
+            "subjects": [
+                "калкулус 1",
+                "математика 1"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1742,5 +1861,9 @@
         "abstract": "Целта на предметот е запознање со: методологиите за дизајн и имплементација на софтверски системи преку анализа на барањата, развој и анализа на дизајнот, имплементацијата, интеграцијата и тестирањето на софтверот; анализа на проблем за развој на софтвер, дизајнирање на модуларна структура на решението која го решава проблемот и анализа и евалуација на алтернативи; имплементација на ефикасни и исправни модули, нивна  интеграција и тестирање, планирање и водење на софтверските проекти.",
         "short": "СИ",
-        "prerequisite": "Објектно-ориентирано програмирање",
+        "prerequisite": {
+            "subjects": [
+                "објектно-ориентирано програмирање"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1778,5 +1901,11 @@
         "abstract": "Студентите ќе бидат запознаени со квантитативната теорија на информации и нејзината примена во надежни и ефикасни комуникациски системи. Дополнително ќе бидат запознаени со математичкиот модел на комунникацискиот систем.",
         "short": "ТнИсДК",
-        "prerequisite": "Веројатност и статистика (2018) | Веројатност и статистика или Математика 3 или Бизнис и статистика (2023)",
+        "prerequisite": {
+            "subjects": [
+                "веројатност и статистика",
+                "математика 3",
+                "бизнис статистика"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1809,5 +1938,7 @@
         "abstract": "По завршувањето на курсот се очекува студентот да ги разбира методите и системите за решавање на ИТ проблемите преку обезбедување на квалитетна техничка поддршка.",
         "short": "УсТП",
-        "prerequisite": "Вовед во компјутерските науки (2018) | 18 кредити (2023)",
+        "prerequisite": {
+            "credits": 18
+        },
         "activated": true,
         "participants": [
@@ -1844,5 +1975,9 @@
         "abstract": "Целта на предметот е да ги запознае студентите со основните проблеми и начини на решавање на истите за различните видови кориснички интерфејси и корисничка интеракција. По завршување на курсот се очекува студентот да демонстрира познавање на основните видови корисничка интеракција и принципите за нивно дизајнирање, и да може самостојно да развива интерактивни апликации со користење на програмски алатки следејќи ги научените принципи.",
         "short": "ШзДнКИ",
-        "prerequisite": "Објектно-ориентирано програмирање (2018) | Структурно програмирање (2023)",
+        "prerequisite": {
+            "subjects": [
+                "структурно програмирање"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1880,5 +2015,12 @@
         "abstract": "Агентно-базираното моделирање нуди природна метафора за разбирање и објаснување на многу феномени од доменот на биолошки и социјални системи – од еволуција и ширење на епидемии до сегрегација и формирање на коалиции. Многу системи може да се моделираат како средини составени од автономни агенти кои може да комуницираат, соработуваат, преговараат, да се спротивставуваат, да се водат од сопствени интереси или делуваат алтруистички. Микро-однесувањето на агенти водени од едноставни правила може да предизвика нови квалитети и комплексни појави во макро размери. Целта на предметот е запознавање на студентот со агентската парадигма за репрезентација и моделирање на системи од различни домени (пр. игри, роботи, однесување на социјални групи). По завршување на курсот се очекува студентот да има способност да дизајнира, моделира и реализира или симулира едно-агентен или повеќе-агентен систем.",
         "short": "АБС",
-        "prerequisite": "Вештачка интелигенција (2018) | Вештачка интелигенција или Математика 3 или Веројатност и статистика или Бизнис статистика (2023)",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "математика 3",
+                "веројатност и статистика",
+                "бизнис статистика"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1906,5 +2048,10 @@
         "abstract": "По завршувањето на курсот се очекува студентот да ги разбира проблемите на администрацијата со мрежи и да знае\nда ги применува на методите и алатките за администрација со комуникациски мрежи.",
         "short": "АнМ",
-        "prerequisite": "Компјутерски мрежи (2018) | Компјутерски мрежи или Компјутерски мрежи и безбедност (2023)",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1939,5 +2086,10 @@
         "abstract": "Системската администрација претставува комплексен процес на оперативно управување со системските и софтверските компоненти кај компјутерските системи, се со цел да се обезбеди безбедни, надежни и достапни сервиси и услуги на корисниците. Организацијата на процесот на системска администрација е повеќестран и вклучува активности поврзани со управување со оперативни системи, мрежни сервиси како и на апликативни и други серверски системи.",
         "short": "АнС",
-        "prerequisite": "Оперативни системи (2018) | Компјутерски мрежи или компјутерски мрежи и безбедност (2023)",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -1972,5 +2124,10 @@
         "abstract": "Запознавање на студентот со основните концепти за работа со бази на податоци, начините на нивно моделирање и имплементирање, како и работа со прашалните јазици. Студентот ќе биде способен да моделира бази на податоци преку семантичко и релациско моделирање и процес на нормализација, ќе знае практично да го применува SQL стандардот за креирање, одржување и манипулација на релациските бази на податоци. Студентот ќе има познавање за основните концепти на конкурентно работење и трансакции.",
         "short": "БнП",
-        "prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2015,5 +2172,10 @@
         "abstract": "Студентите ќе се стекнат со разбирање на хардверот, софтверот и состемскиот дизајн на вградените системи. Тие ќе ја разберат важноста на интеракцијата меѓу хардверот и софтверот и поврзувањата со сензори и актуатори. Ќе ги стекнат основите на програмирање на вградени системи. Студентите ќе бидат способни да ги дефинираат архитектуралните барања, вклучувајќи го и хардверот и софтверот потребен за да се изгради модерен вграден систем.",
         "short": "ВМС",
-        "prerequisite": "Архитектура и организација на компјутери или Компјутерски архитектури",
+        "prerequisite": {
+            "subjects": [
+                "архитектура и организација на компјутери",
+                "компјутерски архитектури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2049,5 +2211,10 @@
         "abstract": "Развој на веб комплетни веб апликации со користење на MVC шаблонот за развој. Студентите ќе научат да развиваат веб апликации и веб сервиси, да се поврзуваат и да користат бази на податоци. Да развиваат безбедносни механизми кај веб апликациите и да тестираат веб апликации",
         "short": "ВП_2",
-        "prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2088,5 +2255,10 @@
         "abstract": "Предметот треба да овозможи запознавање на студентите со концептот на вузуелизација на податоци, избор на\nтехники и алгоритми за визуелизација на различни податочни множества, и нивна програмска реализација. По\nзавршување на курсот се очекува студентот да демонстрира познавање на концептот на визуелизација на\nподатоци, да знае да избере и да реализира алгоритми за визуелизација на различни видови податоци\nпрограмски и со користење на алатки за визуелизација.",
         "short": "В_1",
-        "prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2120,5 +2292,9 @@
         "abstract": "Запознавање со виртуелизацијата како парадигма на креирање на виртуелни компјутерски системи преку софтверска виртуелизација на харверските компоненти. Обработка на различните аспекти на виртуелизацијата, технологиите и техниките вклучени во процесот, како и придобивките и губитоците кои се појавуваат во процесот на виртуелизација.",
         "short": "В_2",
-        "prerequisite": "Оперативни системи",
+        "prerequisite": {
+            "subjects": [
+                "оперативни системи"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2153,5 +2329,12 @@
         "abstract": "Запознавање со основните концепти од мрежна наука и нивна примена на реални податоци. Оспособување на студентите за анализа на својствата и динамичките процеси во реалните комплексни мрежи и нивно моделирање и визуелизација. Изучување на основните методи за октривање на заедници, оценка на робустноста, оптимизација, податочно рударење и предвидување во комплексни мрежи.",
         "short": "ВвМН",
-        "prerequisite": "Веројатност и статистика или Основи на теоријата на информации (2018) | Веројатност и статистика или Основи на теорија на информации или Математика 3 или Бизнис статистика (2023)",
+        "prerequisite": {
+            "subjects": [
+                "веројатност и статистика",
+                "основи на теоријата на информации",
+                "математика 3",
+                "бизнис статистика"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2183,5 +2366,12 @@
         "abstract": "Запознавање со основите за науката базирана на податоци. Студентите ќе се запознаат со процесот и методологијата при работа со податоци, почнувајќи од идентификацијата на проблемите, преку собирање на податоци, а потоа и нивна обработка. Студентите ќе ги научат основните техники за обработка на податоците и идентификување на шаблони во нив, како и начините на визуелизација и интерпретација на добиените резултати.",
         "short": "ВвНзП",
-        "prerequisite": "Бизнис статистика или Веројатност и статистика или Основи на теоријата на информации (2018) | Бизнис статистика или Веројатност и статистика или Основи на теорија на информации или Математика 3 (2023)",
+        "prerequisite": {
+            "subjects": [
+                "бизнис статистика",
+                "веројатност и статистика",
+                "основи на теоријата на информации",
+                "математика 3"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2222,5 +2412,7 @@
         "abstract": "Создавање и управување со просторни (Географски) информациони систем.",
         "short": "ГИС",
-        "prerequisite": "Бази на податоци (2018) | 90 кредити (2023)",
+        "prerequisite": {
+            "credits": 90
+        },
         "activated": true,
         "participants": [
@@ -2246,5 +2438,9 @@
         "abstract": "По завршување на курсот студентите ќе се стекнат со знаење за принципите и техниките потребни за една дигитална форензичка истрага. Студентите ќе се стекнат и со практично искуство за работа со различни форензички алатки за различни оперативни системи.",
         "short": "ДФ",
-        "prerequisite": "Информациска безбедност (2018) | Оперативни системи (2023)",
+        "prerequisite": {
+            "subjects": [
+                "оперативни системи"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2271,5 +2467,7 @@
         "abstract": "Запознавање на студенти со актуелните елементи од областа дигитални библиотеки (ДБ): основи и архитектури на дигитални библиотеки, технологии, управување, организација и развој на дигитални ресурси, презентација на знаење и негово откривање (прибирање на информации), мета-податоци, шеми и стандарди и релевантни интелектуални права. Во зависноста од тековниот интерес студентите ќе се запознаат со конкретен апликативен софтвер за дигитална библиотека и со практики во работењето како и евалуација на истите. По завршување на курсот се очекува студентот да демонстрира знаење за основни елементи на ДБ, технологии за развој и изградба на ДБ, начини на примена, управување и организација на ДБ",
         "short": "ДБ",
-        "prerequisite": "Бази на податоци и (Интернет програмирање на клиентска страна или Интернет технологии или Веб програмирање) (2018) | 90 кредити (2023)",
+        "prerequisite": {
+            "credits": 90
+        },
         "activated": true,
         "participants": [
@@ -2299,5 +2497,10 @@
         "abstract": "Целта на курсот е студентите да ги научат главните концепти на објектно ориентирана анализа и дизајн. Да се запознаат со техниките на рефакторирање, шаблоните за дизајн и различните архитектури на софтвер. По завршувањето на курсот кандидатите ќе можат да ги идентификуваат ограничувањата и проценат квалитетите на софтверските системи. За конкретна софтверска спецификација ќе можат да ја проценат нејзината комплетност и\nконзистентност, како и да дизајнираат софтверска архитектура во согласност со дадените барања.",
         "short": "ДиАнС",
-        "prerequisite": "Анализа на софтверските барања или Софтверско инженерство (2018) | Објектно ориентирана анализа и дизајн или Објектно-ориентирано програмирање (2023)",
+        "prerequisite": {
+            "subjects": [
+                "објектно ориентирана анализа и дизајн",
+                "објектно-ориентирано програмирање"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2334,5 +2537,10 @@
         "abstract": "Целта на предметот е да ги запознае студентите со основните принципи за дизајнирање на компјутерски системи што вклучуваат интеракција човек-компјутер. За таа цел студентите ќе бидат запознаени со процесот на дизајнирање на интерактивни системи, фазите за дизајнирање (собирање и анализа на барања, креирање на прототипови, имлементација и тестирање на употребливост). По завршување на курсот се очекува студентот да демонстрира познавање на процесот и чекорите за дизајнирање на системи што вклучуваат интеракција човек-компјутер и да може да самостојно или во тим да реализира едноставен проект за дизајнирање на интерактивни системи.",
         "short": "ДнИЧК",
-        "prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2372,5 +2580,7 @@
         "abstract": "По успешното завршување на овој предмет, студентот ќе биде во состојба да ги: разбере принципите (педагошки, когнитивни, инженерски) кои треба да се искористат при дизај на образовен софтвер, местото и примената на различните типови на образовен софтвер во образованието, начинот на кој образовниот софтвер помага да се остварат одередени педагошко-едукативни цели, како и основните принципи за користење на образовен софтвер без притоа тој да ја наруши дидактиката на образовниот процес.",
         "short": "ДнОС",
-        "prerequisite": "Информатичко размислување во образованието (2018) | 60 кредити (2023)",
+        "prerequisite": {
+            "credits": 60
+        },
         "activated": true,
         "participants": [
@@ -2405,5 +2615,9 @@
         "abstract": "Студентот со завршување ќе се стекне со вештини за развој на апликации за е-трговија и м-трговија. Ќе се запознаат со платформите за е-трговија и ќе научат да ги користат и употребуваат истите за градба на електронски продавници.",
         "short": "ЕиМТ",
-        "prerequisite": "Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код (2018) | Бази на податоци (2023)",
+        "prerequisite": {
+            "subjects": [
+                "бази на податоци"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2442,5 +2656,10 @@
         "abstract": "По завршување на курсот се очекува студентите да се оспособени за  дизајн, избор, имплементација и менаџмент на ентерпрајз IT решенија.  Да бидат способни за работа во  корпоративна средина при имплементација и одржување со надградба на ентерпрајз IT решенија. Да бидат способни да развиваат стратегии за технолошки архитектури на комплексни софтверски системи кои опслужуваат обемни податоци, многу корисници и широк спектар деловно процеси.",
         "short": "ИС_1",
-        "prerequisite": "Анализа на софтверските барања или Софтверско инженерство",
+        "prerequisite": {
+            "subjects": [
+                "анализа на софтверските барања",
+                "софтверско инженерство"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2478,5 +2697,10 @@
         "abstract": "Изучување на поими поврзани со информациската безбедност; постапки и механизми за заштита кај компјутерските системи од\nбезбедносен аспект; методи што се применуваат за подигање на нивото на безбедност во однос на неовластен пристап.",
         "short": "ИБ",
-        "prerequisite": "Оперативни системи (2018) | Компјутерски мрежи или Компјутерски мрежи и безбедност (2023)",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2509,5 +2733,10 @@
         "abstract": "Студентот ќе се здобие со знаење за лесно и ефикасно менаџирање на IT системи, управување со традиционалните\nподаточни центри, приватни и јавни облаци и клиентските компјутери и уреди. Студентот ќе може да се запознае и со\nплатформи за менаџирање на повеќе хипервизори, физички ресурси и апликации.",
         "short": "ИП",
-        "prerequisite": "Администрација на системи (2018) | Компјутерски мрежи или компјутерски мрежи и безбедност (2023)",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -2542,5 +2771,10 @@
         "abstract": "Запознавање со фундаменталните типови на електронски елементи, принципот на работа, и нивните теоретски\nмодели. Анализа и дизајн на логички кола и засилувачи..",
         "short": "КЕ_2",
-        "prerequisite": "Електрични кола (2018) | Дизајн на дигитални кола или Вовед во компјутерските науки (2023)",
+        "prerequisite": {
+            "subjects": [
+                "дизајн на дигитални кола",
+                "вовед во компјутерските науки"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2573,5 +2807,10 @@
         "abstract": "Способност да се согледаат клучните културни, општествени, правни и етички аспекти на ИКТ, влијанието на ИКТ, значењето и професионалните одговорности на ИКТ професионалците; Способност критички да се согледаат и дискутираат потенцијалните\nризици што со себе ги носи ИКТ, вклучувајќи ги и последиците од нејзиниот развој врз развојот на човештвото; Стекнување информации за националните и меѓународните закони за спречување и заштита од компјутерскиот криминал.",
         "short": "КЕ_1",
-        "prerequisite": "Напредно програмирање или Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2605,5 +2844,10 @@
         "abstract": "Да се стекнат со знаење на клучни прашања поврзани со анализата и генерирањето на звуци, музика и говор.",
         "short": "КЗГМ",
-        "prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2628,5 +2872,9 @@
         "abstract": "Запознавање со основните концепти на развој и операции (DevOps) преку континуирана интеграција, тестирање, испорака и распоредување на софтверски решенија и системи. Осознавање на различните перспективи на развојниот (Dev) и оперативниот (Ops) дел од животниот циклус на еден систем. Оспособување на студентите за употреба на алатки за автоматизација на процесите за интеграција, тестирање, испорака и распоредување. Запознавање со предизвиците и најдобрите практики за менаџирање со софтверски изданија и конфигурации.",
         "short": "КИиИ",
-        "prerequisite": "Оперативни системи и (Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код) (2018) | Оперативни системи (2023)",
+        "prerequisite": {
+            "subjects": [
+                "оперативни системи"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2652,5 +2900,12 @@
         "abstract": "Запознавање со основните криптографски принципи и методи; изучување на основните крипто-\nдизајни; практично користење на изучените криптографски алгоритми.",
         "short": "К_2",
-        "prerequisite": "Дискретна математика или Дискретни структури 2 (2018) | Дискретни структури 2 или Дискретна математика или Математика 2 или Избрани теми од математика (2023)",
+        "prerequisite": {
+            "subjects": [
+                "дискретни структури 2",
+                "дискретна математика",
+                "математика 2",
+                "избрани теми од математика"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2676,5 +2931,12 @@
         "abstract": "Запознавање со концептите и методите на линеарната алгебра и како истите да се користат за рамислување и решавање на проблеми кои произлегуваат од компјутерските науки",
         "short": "ЛАиП",
-        "prerequisite": "Дискретна математика или Дискретни структури 2 (2018) | Дискретна математика или Дискретни структури 2 или Математика 2 или Избрани теми од математика (2023)",
+        "prerequisite": {
+            "subjects": [
+                "дискретна математика",
+                "дискретни структури 2",
+                "математика 2",
+                "избрани теми од математика"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2707,5 +2969,11 @@
         "abstract": "Целта на курсот е студентите да се запознаат со основите на модерните техники од областа на машинско учење. По завршувањето на курсот кандидатите: ќе имаат продлабочени знаења за напредните технологии и методи за машинско учење; ќе можат да разберат, анализираат и формулираат генерални проблеми од областа на машинско учење; ќе можат успешно да применат алгоритми за машинско учење при решавање на реални проблеми; ќе можат да конципираат, анализираат, реализираат и проценат перформанси на систем за машинско учење.",
         "short": "МУ",
-        "prerequisite": "Веројатност и статистика или Бизнис статистика (2018) | Веројатност и статистика или Бизнис статистика или Математика 3 (2023)",
+        "prerequisite": {
+            "subjects": [
+                "веројатност и статистика",
+                "бизнис статистика",
+                "математика 3"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2740,5 +3008,12 @@
         "abstract": "За инженер кој работи со мрежни технологии е корисно да има познавања од мерење, анализа и моделирање на сообраќајот заради поквалитетно дизајнирање на мрежите како и подобро користење на нивните перформанси. Со овој курс студентите ќе се запознаат со основите на инженерството на комуникациски сообраќај, како и различни техники за анализа, мерење, карактеризација, класификација и предвидување на интернет сообраќај. Исто така ќе биде прикажано како слични анализи може да прават и за други типови на сообраќај.",
         "short": "МиАнИС",
-        "prerequisite": "Веројатност и статистика или Основи на теоријата на информации или Бизнис статистика (2018) | Веројатност и статистика или Основи на теорија на информации или Бизнис статистика или Математика 3 (2023)",
+        "prerequisite": {
+            "subjects": [
+                "веројатност и статистика",
+                "основи на теоријата на информации",
+                "бизнис статистика",
+                "математика 3"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -2770,5 +3045,10 @@
         "abstract": "Целта на овој курсот е да се покријат принципите за безбедноста кај компјутерските системи и мрежи, при што\nстудентот ќе се запознае со различни техники за напад и одбрана.",
         "short": "МБ",
-        "prerequisite": "Компјутерски мрежи или Компјутерски мрежи и безбедност",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2804,5 +3084,10 @@
         "abstract": "Целите на предметот се да ги запознае студентите со карактеристиките на мултимедиските содржини кои се важни за далечински пренос, механизмите за дистрибуција на мултимедиски содржини од гледна точка на мрежните протоколи, пречките во мрежите при пренос, како и начините како да се подобори квалитетот на достава. Исто така, студентите ќе се запонзаат со различни платформи и архитектури за достава на мултимедиски содржини. Студентите ќе се оспособат да ги анализираат мулитмедиските содржини, да ги прилагодат и постават на сервери кои ќе обезбедат нивна достава во различни мрежни услови.",
         "short": "ММ",
-        "prerequisite": "Компјутерски мрежи или Компјутерски мрежи и безбедност",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2834,5 +3119,10 @@
         "abstract": "Запознавање на студентот со основните концепти за работа со мултимедиските податоци, начините на нивно моделирање и имплементирање и манипулација со истите. Студентот ќе биде способен да моделира мултимедиски податоци, ќе знае практично да го применува содржински-базираното пребарување на мултимедиските податоци, и ќе се здобие со воведни знаења за креирање на апликации базирани на  мултимедиските содржини.",
         "short": "МС",
-        "prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2857,5 +3147,9 @@
         "abstract": "Целта на наставната програма е студентите да се запознаат со напредните технологии во областа на веб дизајнот и развојот на модерни динамички веб апликации. По завршување на предметот, студентите ќе имаат преглед на најновите технички достигнувања во областа на веб дизајнот и ќе бидат способни да ги користат истите во изработкa на практични проекти",
         "short": "НВД",
-        "prerequisite": "Основи на Веб дизајн (2018) | Објектно-ориентирано програмирање (2023)",
+        "prerequisite": {
+            "subjects": [
+                "објектно-ориентирано програмирање"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2894,5 +3188,10 @@
         "abstract": "По завршувањето на овој предмет, студентот се очекува да има познавања од принципите на развој на роботи и системи кои вклучуваат сензори и ефектори. Студентите ќе се запознаат со начините на програмирање роботи кои овозможуваат нивно управување. Студентите ќе се запознаат со примената на роботите во индустријата и општеството",
         "short": "ОнР",
-        "prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2927,5 +3226,10 @@
         "abstract": "Цел на предметот е студентите да ги совладаат методите на паралелно и дистрибуирано процесирање, можностите за паралелизација на секвенцијална програма, дистрибуирано процесирање на голем број на податоци и проблемите со кои треба да се справат во тој процес",
         "short": "ПиДП",
-        "prerequisite": "Алгоритми и податочни структури и Оперативни системи (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2960,5 +3264,10 @@
         "abstract": "Истражување на алгоритмите и техниките за програмирање на најновите паралелни платформи со споделена меморија и со\nдистрибуирана меморија. Студентот ќе се запознае со теоретските и практичните (програмските) компоненти.",
         "short": "ПП_1",
-        "prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -2986,5 +3295,10 @@
         "abstract": "Персонализираното учење е современ начин на одржување на наставата која ги пресретнува индивудуалните потреби на секој ученик. Студентите се оспособуваат да ги препознаат спецификите на совладување на знаењата кај учениците од основните и средните училишта. Студентите ќе осознаат како да се справат со предизвикот за вклучување на персонализираното учење во рамки на класичната училница и како да се поттикнува усвојувањето на нови знаења кај различните стилови на учење.",
         "short": "ПУ",
-        "prerequisite": "ИКТ во образованието (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -3017,5 +3331,12 @@
         "abstract": "Запознавање со методи за идентификација на валидни, нови, корисни и разбирливи шеми во податоци и откривања на нови знаења. Претпроцесирање на податоците. Вовед во предиктивни модели од податоците: класификација, регресијa. Откривање на кластери. Совладување на техники за собирање на податоци, нивно траксформирање во облик погоден за интерно користење и нивно зачувување.",
         "short": "ПР_1",
-        "prerequisite": "Бази на податоци или Веројатност и статистика или Бизнис статистика (2018) | Веројатност и статистика или Математика 3 или Основи на теорија на информации или Бизнис Статистика (2023)",
+        "prerequisite": {
+            "subjects": [
+                "веројатност и статистика",
+                "математика 3",
+                "основи на теоријата на информации",
+                "бизнис статистика"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3041,5 +3362,10 @@
         "abstract": "Познавањето на основите и техниките на дигиталното процесирање на сигнали е важно за секој инженер кој работи на апликации каде што има процесирање на сигнали. Со курсот студентите се воведуваат во теоретските основи дигитално процесирање на сигнали кои вклучуваат дискретизација, Фуриеова и z – трансформација. Студентите ќе стекнат и познавања од основните алатки како што се дигиталните IIR и FIR филтри. Во курсот ќе бидат дадени и основите на теоријата на управување. Преку бројните примери и вежби студентите ќе научат и практично да користат готови алатки за процесирање на сигнали.",
         "short": "ПнС",
-        "prerequisite": "Инженерска математика или Калкулус 2 (2018) | Математика 1 или Калкулус 1 (2023)",
+        "prerequisite": {
+            "subjects": [
+                "математика 1",
+                "калкулус 1"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3072,5 +3398,11 @@
         "abstract": "Студентите ќе ги разберат тековните проблеми и техники во академската и индустриската Вештачка интелигенција (ВИ) за игри, во исто време стекнувајќи практично искуство во работењето со разни готови алатки за техниките на ВИ применувани во индустријата за игри денес. Ќе бидат оспособени за подобро да ја разберат врската помеѓу ВИ за игрите и естетиката, наративот и играчкото искуство, на тој начин обезбедувајќи зголемена вклученост и задоволство на играчите.",
         "short": "ПР_2",
-        "prerequisite": "Основи на роботиката (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури или Вештачка интелигенција (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури",
+                "вештачка интелигенција"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -3101,5 +3433,5 @@
         "abstract": "Целта на предметот е студентите да се запознаат со елементите од психологијата и психологијата на учењето",
         "short": "ПнУВ",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -3132,5 +3464,10 @@
         "abstract": "Студентите се оспособуваат да станат професори кои успешно ќе идентификуваат ученици кои имаат потенцијал да го прошират знаењето од областа на информатиката и решавање задачи од алгоритамска природа, со употреба на напредни структури и алгоритми коишто не се опфатени со редовната програма. Идните наставници се оспособуваат да пренесат основно знаење за напредната програма на учениците и да ги насочат во процесот на учество на национални и интернационални натпревари по информатика.",
         "short": "РсНУ",
-        "prerequisite": "ИКТ во образованието (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3163,5 +3500,10 @@
         "abstract": "Предметот сервисно-ориентирани архитектури има за цел да ги запознае студентите со организација, дизајн и развој на на дистрибуираните системи базирани на сервиси. Сервисно-ориентираните архитектури опфаќа теми од софтверско и системско инженерство. Од аспект на софтверско инженерство студентите ќе се запознаат со процесот на анализа и дизајн при развој на сервисно-ориентирани апликации, како и со организацијата на процесот на развој на софвер погодни за сервисно-ориентирани системи. Во поглед на системско инженерство, предметот ќе го покрие целосниот екосистем на сервисно-ориентирана и микро-сервисно ориентирана архитектура, нејзините компоненти, поврзаност, соработка и координација.",
         "short": "СОА",
-        "prerequisite": "Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3193,5 +3535,10 @@
         "abstract": "Разбирање на концептите и имплементациите на современите процесори. Анализа на современите процесори. Студентот ќе биде оспособен да дизјанира  современи процесори и процесирачки елементи",
         "short": "СКА",
-        "prerequisite": "Архитектура и организација на компјутери или Компјутерски архитектури",
+        "prerequisite": {
+            "subjects": [
+                "архитектура и организација на компјутери",
+                "компјутерски архитектури"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -3216,5 +3563,7 @@
         "abstract": "Разбирање и примена на клучните концепти од развој на безбеден софтвер во поглед на податоци, автентикација, авторизација и безбедни веб апликации.",
         "short": "СДБ",
-        "prerequisite": "(Информациска безбедност или Мрежна безбедност) и (Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код) (2018) | 100 кредити (2023)",
+        "prerequisite": {
+            "credits": 100
+        },
         "activated": true,
         "participants": [
@@ -3246,5 +3595,10 @@
         "abstract": "Целата на курсот е запознавање на студентите со потребата од тестирање на софтвер, различните техники на моделирање на софтверот и искористување на тие модели за тестирање, како и практични работа на тестирање, валидација и верификација на софтвер.",
         "short": "СКиТ",
-        "prerequisite": "Софтверско инженерство или Дизајн и архитектура на софтвер",
+        "prerequisite": {
+            "subjects": [
+                "софтверско инженерство",
+                "дизајн и архитектура на софтвер"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3281,5 +3635,10 @@
         "abstract": "Запознање со основните чекори за поставување на модели од машинско учење во продукција, оптимизација на piplelines во ML, дизајн на целосен животен циклус на ML моделите, CI/CD кај ML, упраување со ML код, следење на моделите во продукција, менаџирање со модели.",
         "short": "СМ",
-        "prerequisite": "Веројатност и статистика или Бизнис статистика (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3304,5 +3663,10 @@
         "abstract": "Студентите ќе се запознаат со концептот за далечинско учење, со технологиите кои го поддржуваат далечинското учење, како\nи со придобивките со неговото користење. Со слушање на овој курс студентите ќе се оспособат да планираат и дизајнираат,\nда научат како се имплементираат системи за далечинско учење, ќе ја осознаат разликата помеѓу курсевите кај учење на\nдалечина и курсевите во класичната настава, улогата на инструкторот и ученикот во овој систем, како и сегашноста и\nиднината на системите за далечинско учење",
         "short": "УнД",
-        "prerequisite": "ИКТ во образованието (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3335,5 +3699,12 @@
         "abstract": "На овој курс ќе стекнете основно разбирање за класичните модели кои се користат во основата на компјутерските науки за анализа на пресметковните процеси, вклучувајќи конечни автомати, граматики и Тјурингови машини. Овие  модели може да се користат за да се одговори на прашања како што се кои проблеми може да се решат со компјутер и дали има некои проблеми кои се суштински потешки за решавање од другите.",
         "short": "ФЈиА",
-        "prerequisite": "Структурно програмирање (2018) | Дискретна математика или Дискретни структури 2 или Математика 2 или Избрани теми од математика (2023)",
+        "prerequisite": {
+            "subjects": [
+                "дискретна математика",
+                "дискретни структури 2",
+                "математика 2",
+                "избрани теми од математика"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3366,5 +3737,10 @@
         "abstract": "По завршувањето на овој предмет, студентот се очекува да има продлабочено знаење за развој на автономни роботски системи (автономни возила, автономни летала и сл.) со користење на веројатностните пристапи во роботиката.",
         "short": "АР",
-        "prerequisite": "Основи на роботиката (2018) | Основи на роботика или Алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "основи на роботиката",
+                "алгоритми и податочни структури"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -3389,5 +3765,9 @@
         "abstract": "Предметот ќе се фокусира на state-of-the-art технологиите поврзани со имплементација на базите на податоци. Технологиите и техниките кои се користат за имплементација на базите на податоци ќе бидат обработени како од кориснички, така и од системски аспект.\nОд аспект на системско инжинерство, предметот ќе навлезе во концептите и алгоритмите за: процесирање на трансакции, контрола на истовремено извршување, репрезентација на лог и метадата, безбедносни политики кај базите, техники за репликација и дистрибуција, бекап и реставрација.",
         "short": "АнБнП",
-        "prerequisite": "Бази на податоци",
+        "prerequisite": {
+            "subjects": [
+                "бази на податоци"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3412,5 +3792,9 @@
         "abstract": "Запознавање на студенти со актуелните техники за анализа и дизајн на информациските системи (ИС). Навлегување во студија на случај на развој на ИС со користење на актуелни методологии. Оспособување за практична анализа на кориснички побарувања и креирање ефективни модели во сите фази  развој на еден ИС, со нагласок на фазите на анализа и дизајн. По завршување на курсот се очекува студентот да демонстрира знаење за користење на современи пристапи во процесот на анализа и дизајн на информациските системи.",
         "short": "АиДнИ",
-        "prerequisite": "Бази на податоци",
+        "prerequisite": {
+            "subjects": [
+                "бази на податоци"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3437,5 +3821,10 @@
         "abstract": "Целта на овој курс е запознавање на студентите со алгоритми кои се инспирирани од феномени кои се појавуваат во природата и примена на истите за решавање на проблеми од оптимизација, дизајн и учење. Фокусот ќе биде поставен врз абстракцијата на алгоритмите од воочените феномени, анализа на нивниот резултат како и нивна споредба. Во текот на курсот ќе се посвети внимание на конкретни примени на споменатите алгоритми. По завршувањето на курсот се очекува студентите да се здобијат со:\n-\tЗнаење за природните феномени кои се инспирација за дискутираните алгоритми\n-\tРазбирање за силните и слабите страни на алгоритмите\n-\tСпособност за идентификување на соодветноста на алгоритмите и нивна примена во проблеми од оптимизација, дизајн и учење",
         "short": "БИП",
-        "prerequisite": "Алгоритми и податочни структури и Вештачка интелигенција (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3468,5 +3857,10 @@
         "abstract": "Целта на овој курс е да овозможи на слушателите да разберат како фунцкционираат крипто валутите,  и идејата, технологиите и организациите кои ги поддржуваат или произлегуваат од нив.",
         "short": "БВиК",
-        "prerequisite": "Криптографија или Информациска безбедност (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -3491,5 +3885,10 @@
         "abstract": "Запознавање и користење на технологиите на семантички веб, поврзани податоци и графови на знаење. Студентите ќе научат да развиваат интелигентни апликации базирани на графови на знаење и да пронаоѓаат и користат отворени податочни множества.",
         "short": "ВБС",
-        "prerequisite": "Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3517,5 +3916,11 @@
         "abstract": "Запознавање со концепти за развој на веб пребарувачките системи. Разбирање на начините на обработување на прашањата и множеството на документи низ кои се пребарува, како и начини за автоматско собирање податоци од веб. По завршувањето на курсот се очекува студентот да демонстрира познавање на методи за процесирање на прашања, репрезентација на документите и нивно индексирање и класификацирање, да демонстрира познавање на методи за пребарување и индексирање на слики и да може самостојно да развива алгоритми за пребарување со користење на програмски алатки.",
         "short": "ВПС",
-        "prerequisite": "Обработка на природните јазици (2018) | Вештачка интелигенција или Вовед во науката за податоци или Машинско учење (2023)",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "вовед во науката за податоци",
+                "машинско учење"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3547,5 +3952,10 @@
         "abstract": "Предметот треба да овозможи запознавање на студентите со концептот на виртуелна реалност, различните\nвидови виртуелни околини, влезно-излезните уреди, како и основни програмерски техники за дизајнирање и\nразвој на виртуелни околини. По завршување на курсот се очекува студентот да го разбира концептот на\nвиртуелната реалност, да биде во можност да ги опише карактеристиките на различните видови виртуелни\nоколини и да има основни познавања за дизајнирање и развој на виртуелни светови.",
         "short": "ВР",
-        "prerequisite": "Дизајн на интеракцијата човек-компјутер (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3578,5 +3988,11 @@
         "abstract": "Запознавање на студентите со анализа на произволни временски серии со традиционални статистички методи, како и со методи базирани на длабоко учење. Курсот дава вовед во типовите на временски серии, покрива стационарни процеси, ARMA модели, ARIMA и сезонални ARIMA модели, временско-просторни методи. Со знаењето стекнато на курсот студентите ќе може да анализираат временски серии од разновидни извори, податочни текови (data streams), IoT и да откриваат трендови и аномалии, да предвидуваат идни појави, како и да ги користат за препознавање на разновидни настани кои се опишани со временски серии.",
         "short": "ВвАнВС",
-        "prerequisite": "Вовед во случајни процеси или Статистичко моделирање (2018) | Вештачка интелигенција или Вовед во науката за податоци или Машинско учење (2023)",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "вовед во науката за податоци",
+                "машинско учење"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3601,5 +4017,11 @@
         "abstract": "Студентите да се запознаат со областите и проблемите кои ги покрива биоинформатиката, да\nбидат во можност да вршат генска и протеинска секвенцна анализа, да користат биолошки бази\nподатоци, да ги запознаат пресметковните методи за решавање проблеми во молекуларната\nбиологија.",
         "short": "ВвБ",
-        "prerequisite": "Машинско учење или Вештачка интелигенција (2018) | Вештачка интелигенција или Машинско учење или Вовед во науката за податоци (2023)",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "машинско учење",
+                "вовед во науката за податоци"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3625,5 +4047,7 @@
         "abstract": "Целта е да се разбере како работи човечкиот мозок. Студентите ќе се запознаат со теоретските и емпириските погледи кои ја дефинираат когнитивната наука. Ќе се запознаат со истражувањата за природата на менталните процеси како перцепцијата, мислењето, меморијата, фантазијата, вниманието, јазикот, интелигенцијата, донесувањето одлуки и решавањето проблеми. Студентите ќе научат кои се алатките превземени од експерименталната психологија, наука на развојот, комјутерската наука, лингвистика, визуализацијата, филозофијата, антропологијата, бихевиоризмот, неврологијата. Курсот ќе ги поврзе сите овие пристапи кои се поврзуваат во когнитивната наука.",
         "short": "ВвКН_2",
-        "prerequisite": "Вештачка интелигенција или Вовед во науката за податоци (2018) | 120 кредити (2023)",
+        "prerequisite": {
+            "credits": 120
+        },
         "activated": true,
         "participants": [
@@ -3657,5 +4081,11 @@
         "abstract": "Да го запознае студентот со главните концепти, теми и трендови на паметните и одржливите градови, улогата на информациите во дизајнот на мрежните ресурси и влијанието врз урбаниот дизајн, развојот и урбаното живеење.",
         "short": "ВвПГ",
-        "prerequisite": "Машинско учење (2018) | Вештачка интелигенција или Вовед во науката за податоци или Машинско учење (2023)",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "вовед во науката за податоци",
+                "машинско учење"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -3680,5 +4110,11 @@
         "abstract": "Целта на курсот е студентите да ги научат главните концепти на методите и техниките кои се применуваат за\nпрепознавање на облици.По завршувањето на курсот кандидатитеќе бидат оспособени за дизајнирање,\nреализирање и имплементација на системи за автоматско препознавање на облици, проценка на нивните\nперформанси и нивна оптимизација.",
         "short": "ВвПнО",
-        "prerequisite": "Машинско учење (2018) | Вештачка интелигенција или Вовед во науката за податоци или Машинско учење (2023)",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "вовед во науката за податоци",
+                "машинско учење"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3703,5 +4139,10 @@
         "abstract": "По завршување на курсот се очекува студентите да се оспособени за основни методи за дигитална постпродукција, дигитално композитирање, работа со секвенци од слики, интеграција на дигитални објекти во слики и следење и спарување на движења од различни извори",
         "short": "ДП",
-        "prerequisite": "Компјутерска графика или Дигитално процесирање на слика (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -3725,5 +4166,10 @@
         "abstract": "Целта на овој курсот е да го оспособи студентот да работи со големи компјутерски мрежи и да обезбеди колаборативна работа на различни административни региони, како и да дизајнира различни типови компјутерски мрежи според потребите на крајните корисници.",
         "short": "ДнКМ",
-        "prerequisite": "Компјутерски мрежи (2018) | Компјутерски мрежи или Компјутерски мрежи и безбедност (2023)",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3759,5 +4205,7 @@
         "abstract": "Во рамките на дипломската работа, студентот се стекнува со вештина за дефинирање на проблем, и примена на стекнатото знаење на факултетот за дизајн и имплементација на решение на дадениот проблем. Дополнително, студентот успешно идентификува потреба од дополнителни знаења за решавање на проблемот. Исто така студнетот ги документира и презентира резултатите од дипломската работа",
         "short": "ДР",
-        "prerequisite": "нема (2018) | 204 кредити (2023)",
+        "prerequisite": {
+            "credits": 204
+        },
         "activated": false,
         "participants": [
@@ -3789,5 +4237,10 @@
         "abstract": "Предметот има за цел запознавање со развојот на middleware системите. Предмеот ги покрива принципите врз кои се изградени дистрибуираните системи, пред се комуникациите, процесирањето, именување, конзистентност и репликација, справувње со дефекти и безбедност. Овие принципи се понатаму обработени во нивната примена кај дистрибуираните веб базирани системи, дистрибуираните објектно базирани системи, дистрибуираните датотечни системи и дистрибуираните коориднациски системи.",
         "short": "ДС",
-        "prerequisite": "Оперативни системи и (Компјутерски мрежи или Компјутерски мрежи и безбедност) (2018) | Компјутерски мрежи или Компјутерски мрежи и безбедност (2023)",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3822,5 +4275,10 @@
         "abstract": "Се поголемата важност и големиот обем на податоците побаруваат соодветни техники и технологии за нивно безбедно, достапно, надежно и скалабилно складирање. Се почестите приоди за складирање на податоци се ориентираат кон дистрибуирани решенија чии имплементации вклучуваат најразлични архитектури и модели со што се добиваат различни придобивки, специфични за секоја имплемнетација. Предметот има за цел да ги обработи техниките на хардверско, мрежно и софтвеско ниво за обезбедување на дистрибуирано складирање на податоците.",
         "short": "ДСнП",
-        "prerequisite": "Оперативни системи и (Компјутерски мрежи или Компјутерски мрежи и безбедност) (2018) | Компјутерски мрежи или Компјутерски мрежи и безбедност (2023)",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -3851,5 +4309,10 @@
         "abstract": "Студентот ќе ги запознае основните концепти, техники и алатки кои се користат во полето на безбедност на системи. Со преземање на улогата на \"напаѓач\" студентот ќе се стекне со знаење за повеќето сигурносни слабости во неговата околина и начин како да се заштити од нив.",
         "short": "ЕХ",
-        "prerequisite": "Информациска безбедност или Мрежна безбедност (2018) | Компјутерски мрежи или компјутерски мрежи и безбедност (2023)",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3877,5 +4340,9 @@
         "abstract": "Целта на курсот е да ги разгледа основите принципи и најдобри практики за користењето на технологијата за развој на човештвото. Да се разбере концептот на одржлив развој кој ги го вклучува влијанието врз природата, луѓето, општеството и управувањето. Разбирање на можностите за примена на нови ИКТ технологии за општо добро.",
         "short": "ИзР",
-        "prerequisite": "Бизнис и менаџмент и (Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код) (2018) | Бизнис и менаџмент (2023)",
+        "prerequisite": {
+            "subjects": [
+                "бизнис и менаџмент"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3899,5 +4366,10 @@
         "abstract": "По завршување на курсот се очекува студентите да се оспособени за продуктивно учество во поголеми софтверски\nтимови кои работат употребувајќи технологии со слободен и отворен код. Да бидат способни за работа во програмски јазици со отворен код, да развиваат веб апликации на тие платформи. Да бидат способни да водат софтверски проект\nбазиран на технологии со слободен и отворен код.",
         "short": "ИнСсСиОК",
-        "prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3932,5 +4404,9 @@
         "abstract": "Разбирање на иновативноста. Стекнување на иновативни вештини. Примена на ИКТ за креирање на иновации. Креирање на\nиновации во ИКТ.",
         "short": "ИвИ",
-        "prerequisite": "Бизнис и менаџмент и (Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код) (2018) | Бизнис и менаџмент (2023)",
+        "prerequisite": {
+            "subjects": [
+                "бизнис и менаџмент"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3965,5 +4441,11 @@
         "abstract": "По завршување на предметот, студентот ќе биде оспособен за  избор на соодветни техники за откривање и извлекување на знаење од различен вид податоци. Студентот ќе поседува познавања за напредни архитектури за длабоко учење со примена во системи за препораки, анализа на граф-структурирани податоци и мултимодална фузија на податоци.",
         "short": "ИИС",
-        "prerequisite": "Машинско учење (2018) | Вештачка интелигенција или Вовед во науката за податоци или Машинско учење (2023)",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "вовед во науката за податоци",
+                "машинско учење"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -3991,5 +4473,11 @@
         "abstract": "Целта на предметот е да го заокружи знаењето на студентите од областа на интелигентните системи, почнувајќи од претпроцесирањена податоците до валидирање на изградениот систем. Студентите ќе се оспособат да изградат интелигентен систем од почеток до крај на реални проблеми од специфичен домен, користејќи алатки за автоматизација на процесот на градење ИС.",
         "short": "ИС_2",
-        "prerequisite": "Машинско учење (2018) | Вештачка интелигенција или Вовед во науката за податоци или Машинско учење (2023)",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "вовед во науката за податоци",
+                "машинско учење"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4015,5 +4503,10 @@
         "abstract": "Студентот ќе биде запознаен со главните развојни чекори  и предизвици при дизајнирање на решенија базирани на Интернет на нештата.  Студентот ќе може да моделира, дизајнира и имплементира вакви системи во различни апликативни домени.",
         "short": "ИнН",
-        "prerequisite": "Вградливи микропроцесорски системи и (Компјутерски мрежи или Компјутерски мрежи и безбедност) (2018) | Компјутерски мрежи или Компјутерски мрежи и безбедност (2023)",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4048,5 +4541,10 @@
         "abstract": "По завршување на курсот се очекува студентите да се оспособени за основни методи за продуктивно создавање на компјутерски базирани анимации, за работа во апликации за создавање анимации и можат самостојно да моделираат, текстурираат, ригуваат, осветлуваат, анимираат, рендерираат и композитираат дигитални сцени.",
         "short": "КА_2",
-        "prerequisite": "Компјутерска графика или Дизајн на интеракцијата човек-компјутер (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -4071,5 +4569,10 @@
         "abstract": "Целата на курсот е запознавање на студентите со теоријата, принципите и праксата за компјутерски потпомогнато производство, основните поими за системи и модели, контрола и симулација на производни процеси.",
         "short": "КПП",
-        "prerequisite": "Вградливи микропроцесорски системи (2018) | Архитектура и организација на компјутери или Компјутерски архитектури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "архитектура и организација на компјутери",
+                "компјутерски архитектури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4101,5 +4604,5 @@
         "abstract": "Стекнување на знаења и компетенции за Македонскиот јазик.",
         "short": "МЈ",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": false,
         "participants": [
@@ -4131,5 +4634,7 @@
         "abstract": "Да се воведат студентите во основните концепти и техники во компјутерската визија. Студентите кои успешно ќе\nго завршат курсот ќе бидат способни за дизајнирање на ефикасни системи за компјутерска визија како:\nпрепознавање на ракопис, детекција и препознавање на лица, проценка на движење, следење на луѓе и возила,\nпрепознавање на гестови, препознавање и класификација на визуелни објекти, разбирање и анализа на сцени\nитн.",
         "short": "МВ",
-        "prerequisite": "Дигитално процесирање на слика или Машинско учење (2018) | 120 кредити (2023)",
+        "prerequisite": {
+            "credits": 120
+        },
         "activated": false,
         "participants": [
@@ -4155,5 +4660,10 @@
         "abstract": "По завршување на курсот студентите ќе имаат познавање од видови и примена на менаџмент информациски системи.",
         "short": "МИС_1",
-        "prerequisite": "Софтверско инженерство или Анализа на софтверските барања",
+        "prerequisite": {
+            "subjects": [
+                "софтверско инженерство",
+                "анализа на софтверските барања"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4187,5 +4697,7 @@
         "abstract": "Целта на предметот е оспособување на студентите да користат најсовремени техники за работа на час за да го предизвикаат интересот на учениците и истите да ги поттикнат на усвојување нови знаења за време на наставата во училницата. Студентите ќе се оспособат да спроведуваат активна настава во училницата, користејќи креативни техники според возраста на учениците и материјалот според наставниот план.",
         "short": "МнИ",
-        "prerequisite": "150 кредити",
+        "prerequisite": {
+            "credits": 150
+        },
         "activated": true,
         "participants": [
@@ -4220,5 +4732,7 @@
         "abstract": "Целта на курсот е студентите да се запознаат со основите на методологиите на истражување во ИКТ. По завршувањето на курсот кандидатите ќе имаат продлабочени знаења за методологиите на истражувања во ИКТ, ќе можат да конципираат и спроведат научно истражување, и да напишат извештај од научно истражувачката работа.",
         "short": "МнИвИ",
-        "prerequisite": "150 кредити",
+        "prerequisite": {
+            "credits": 150
+        },
         "activated": true,
         "participants": [
@@ -4255,5 +4769,10 @@
         "abstract": "По завршувањето на предметот се очекува студентот да има продлабочено знаење во примена на технологиите и алатките за дизајн и развој на мобилни апликации.",
         "short": "МА",
-        "prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4279,5 +4798,10 @@
         "abstract": "По завршувањето на предметот се очекува студентот да има продлабочено знаење во примена на технологиите и алатките за складирање, прибирање и обработка на податоци во дистрибуирана и сеприсутна околина со користење на различни мобилни платформи.",
         "short": "МИС_2",
-        "prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4311,5 +4835,10 @@
         "abstract": "Целта на предметот е студентите да се запознаат со современите мобилни платформи и да научат да програмираат и развиваат мобилни апликации. Ќе научат да се справуваат со ограничувањата од мобилните уреди и да развиваат ефикасни програми. Изработените апликации ќе научат да ги публикуваат на маркет и да го следат користењето на истите",
         "short": "МПиП",
-        "prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4344,5 +4873,9 @@
         "abstract": "По завршувањето на предметот се очекува студентот да ги разбира и има продлабочено знаење за типови бизнис процеси и нивна поврзаност со ИС, ќе имаат продлабочено знаење во идентификување, моделирање и мапирање разни типови бизнис процеси, ќе знаат да применат алатки и јазици за моделирање на бизнис процеси преку соодветни дијаграми, ќе имаат познавање од принципите за подобрување на тек на процеси, ќе имаат познавање од концептите за податочна размена и интероперабилност.",
         "short": "МиМнБП",
-        "prerequisite": "Бази на податоци и (Софтверско инженерство или Анализа на софтверски барања) | Објектно-ориентирано програмирање (2023)",
+        "prerequisite": {
+            "subjects": [
+                "објектно-ориентирано програмирање"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4367,5 +4900,12 @@
         "abstract": "Студентот ќе се здобие со знаења за користење на техники за моделирање со цел да го евалуира однесувањето на реалните системи. Студентот ќе стекне способност за конструирање, верификација и решавање\nна модели со различни нивоа на апстракција и деталност. Ќе бидат опфатени и методи за фитување на состојбата и параметрите на моделите со реални податоци, како и предвидување на идното однесување и \"што-ако\" анализи.",
         "short": "МиС_3",
-        "prerequisite": "Веројатност и статистика или Основи на теоријата на информации или Бизнис статистика (2018) | Веројатност и статистика или Основи на теорија на информации или Бизнис статистика или Математика 3 (2023)",
+        "prerequisite": {
+            "subjects": [
+                "веројатност и статистика",
+                "основи на теоријата на информации",
+                "бизнис статистика",
+                "математика 3"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -4391,5 +4931,9 @@
         "abstract": "Студентите ќе бидат воведени во модерните трендови во роботиката. Ќе бидат запознаени со современите техники на моделирање на околината, во која роботите стануваат секојдневие. Студентите ќе се стекнат со познавање на тековните трендови во роботиката како што се интеракција човек – робот, нанороботика, биолошки роботи, роботизирани производни процеси, роботика како асистивна технологија и други трендови",
         "short": "МТвР",
-        "prerequisite": "Автономна роботика или Процесна роботика или (Машинско учење и Основи на роботиката) (2018) | Оперативни системи (2023)",
+        "prerequisite": {
+            "subjects": [
+                "оперативни системи"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -4421,5 +4965,10 @@
         "abstract": "Студентот ќе се здобие со знаења за примена на методологии за собирање, зачувување, анализа и документација на дигитални докази пронајдени како резултат на сајбер криминал во мрежна и мобилна околина.\nСтудентот ќе знае како да анализира и интерпретира живи мрежни мобилни дигитални докази.",
         "short": "МиМФ",
-        "prerequisite": "(Компјутерски мрежи и безбедност или Мрежна безбедност) и Безжични и мобилни системи (2018) | Комјутерски мрежи или Компјутерски мрежи и безбедност (2023)",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4447,5 +4996,11 @@
         "abstract": "Овој предмет ги запознава студентите со основите на комплексната интеракција која се одвива меѓу човекот и компјутерот. Студентите се запознаваат и со техниките за моделирање на корисници, проблеми, апликации и средини како и на техники за евалуација и анализа на интелигентни интефејси. Се разгледуваат принципи за градење посредници кои ги опфаќаат ограничувањата и во двете примарно афектирани групи: човекот и компјутерот. Студентите треба да научат дека корисникот е еден од главните елементи при креирање на компјутерските системи. При тоа, се дава увид во начинот за развивање на хардверот и софтверот за различни групи на корисници, како и за специфични апликациски домени. Студентите стекнуваат познавања на принципи за проектирање на кориснички интерфејси адаптибилни на околината, интелигентни кориснички интерфејси базирани на агенти и интерфејси чувствителни на контекст, како и интелигентни решенија наменети за специфични типови на кориснички групи.",
         "short": "НИЧК",
-        "prerequisite": "Дизајн на интеракцијата човек-компјутер (2018) | Дизајн на интеракцијата човек-компјутер или Алгоритми и податочни структури или Примена на алгоритми и податочни стуктури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "дизајн на интеракцијата човек-компјутер",
+                "алгоритми и податочни структури",
+                "Примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4471,5 +5026,7 @@
         "abstract": "Запознавање на студентите со напредните концепти на релационите бази на податоци, неопходни за моделирање, креирање, управување и одржување на базите на податоци, како и за  развој на податочно интензивни информациски системи. Со тоа студентите ќе се стекант со длабоки теоретски и практични знаења од областа на базите на податоци. Исто така, студентите ќе се запознат со современите текови на развој и проширување на традиционалните системи за управување на бази на податоци, а со цел да одговорат на актуелните предизвици во развојот на информатичката теорија и практика.",
         "short": "НБнП_2",
-        "prerequisite": "Бази на податоци (2018) | 90 кредити (2023)",
+        "prerequisite": {
+            "credits": 90
+        },
         "activated": true,
         "participants": [
@@ -4504,5 +5061,10 @@
         "abstract": "Целта на овој курс е да овозможи на слушателите да разберат како фунцкционираат web3 апликациите. Ќе се надгради знаењето од блоковски вериги со апликации кои работат над паметните договори.",
         "short": "НТоК",
-        "prerequisite": "Криптографија (2018) | Алгоритми и податочни структури или Примена на алгоритни и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -4533,5 +5095,9 @@
         "abstract": "Целта на курсот е студентите да се запознаат со неструктурираните и полуструктурираните типови на податоци, нивната организација и чување, како и техниките за манипулација и обработка на истите. Исто така студентите ќе бидат запознаени и со NoSQL базите на податоци, современи бази на податоци кои не подлежат на релациониот модел, а се користат во дистрибуирани и кластер околини. Посебен акцент ќе биде ставен на практичното знаење на некоја од NoSQL базите на податоци.",
         "short": "НБнП_1",
-        "prerequisite": "Бази на податоци",
+        "prerequisite": {
+            "subjects": [
+                "бази на податоци"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4563,5 +5129,10 @@
         "abstract": "Целта на предметот е студентитеда се стекнат со основните теоретски и практични знаења за алгоритмите за обработка на природните јазици. Студентите ќе стекнат знаења за најновите техники на машинско учење со фокус на длабоки невронски мрежи наменети за разбирање и генерирање на текст.",
         "short": "ОнПЈ",
-        "prerequisite": "Машинско учење (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4588,5 +5159,12 @@
         "abstract": "Да го запознае студентот со областа на проблеми и методи на операциони истражувања, проблеми на оптимизација на ресурси и проекти и оптимално управување, со методи и техники на линеарно и нелинеарно програмирање, теории на одлучување и игри, операциони истражувања поврзани со управувaчки информациски системи и информациски системи за подршка на одлучување и предвидување.",
         "short": "ОИ",
-        "prerequisite": "Веројатност и статистика или Основи на теоријата на информации (2018) | Веројатност и статистика или Основи на теорија на информации или Математика 3 или Бизнис статистика (2023)",
+        "prerequisite": {
+            "subjects": [
+                "веројатност и статистика",
+                "основи на теоријата на информации",
+                "математика 3",
+                "бизнис статистика"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -4618,5 +5196,10 @@
         "abstract": "Студентот ќе се стекне со основни познавања за дизајн, контрола и управување на оптички мрежи со помош на современите мрежни технологии, како и со некои тековни развои во областа.",
         "short": "ОМ",
-        "prerequisite": "Комјутерски мрежи или Компјутерски мрежи и безбедност",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -4641,5 +5224,9 @@
         "abstract": "",
         "short": "ПБ",
-        "prerequisite": "Машинско учење",
+        "prerequisite": {
+            "subjects": [
+                "машинско учење"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -4663,5 +5250,9 @@
         "abstract": "Овој предмет ќе го оспособи студентот со основни познавања за концептот на облак и услуги во облак.",
         "short": "ПвО",
-        "prerequisite": "Виртуелизација (2018) | Бази на податоци (2023)",
+        "prerequisite": {
+            "subjects": [
+                "бази на податоци"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4697,5 +5288,7 @@
         "abstract": "Студентите ќе бидат запознаени со предизвиците со кои ќе се соочат доколку се решат да започнат сопствен бизнис. Тие ќе можат да изработат иницијално истражување на пазарот, да ги дефинираат метриките со кои ќе ја следат успеноста на својот бизнис, како и да знаат како да препознаат дали обезбедиле вредност за своите клиенти. Конечно, тие ќе бидат оспособени да се претстават пред потенцијални клиенти, партнери и инвеститори.",
         "short": "П_2",
-        "prerequisite": "Бизнис и менаџмент и (Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код) (2018) | 120 кредити (2023)",
+        "prerequisite": {
+            "credits": 120
+        },
         "activated": true,
         "participants": [
@@ -4729,5 +5322,10 @@
         "abstract": "Целта на предметот е да ги запознае студентите со процесот на програмирање на видео игри. За таа цел студентите ќе бидат запознаени со основните компоненти на една видео игра и начинот на кој истите се програмираат. По завршување на курсот се очекува кандидатот да ги разбира концептите за програмирање на видео игри и да може да реализира програмски самостојно или во тим едноставна видео игра.",
         "short": "ПнВИ",
-        "prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4754,5 +5352,10 @@
         "abstract": "Студентите треба да го разбрерат развојот и спектарот на програмските јазици, и да го сфатат процесот на конструкција на компајлер што ќе ги надгради како програмери кои навлегле во суштината на програмските јазици.",
         "short": "ПЈиК",
-        "prerequisite": "Формални јазици и автомати (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -4784,5 +5387,10 @@
         "abstract": "Целта на овој курс е запознавање на студентите со програмски парадигми различни од императивната и објектно-ориентираната, со фокус на декларативната и функционалната програмска парадигма. По завршувањето на курсот студентите треба да бидат способни да: Споредуваат различни програмски парадигми и да изберат соодветна за даден проблем, Користат логички програмски јазик за имплементација на ефикасни алгоритми,\tКористат логички програмски јазик за репрезентација и манипулација со знаење, Користат функционален програмски јазик за пишување на програми без странични ефекти, Разбираат и користат функции од прв и повисок ред, функционални затворања, мрзлива евалуација и апстракција на секвенци, Разбираат и пишуваат едноставни конкурентни програми",
         "short": "ПП_2",
-        "prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4816,5 +5424,10 @@
         "abstract": "Студентите да се запознаат со алгоритмите и техниките на податочно рударење и машинско учење за анализа на големи податочни множества. Фокус ќе биде даден на дистрибуираните платформи како и на начинот на дефинирање и креирање на алгоритми за процесирање и анализа на многу големи податочни множества.",
         "short": "РнМП",
-        "prerequisite": "Паралелно и дистрибуирано процесирање (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4848,5 +5461,7 @@
         "abstract": "Целта на предметот е студентите со користење на современите алатки за  Електронско учење самостојно да ја изработат наставната програма за  предмет од основно или средно образование по  нивен избор.",
         "short": "СП_2",
-        "prerequisite": "нема (2018) | 150 кредити (2023)",
+        "prerequisite": {
+            "credits": 150
+        },
         "activated": false,
         "participants": [
@@ -4873,5 +5488,11 @@
         "abstract": "Овој курс претставува вовед во примена на анализа на податоци за донесување деловни одлуки. Целта на курсот е студентите да се запознаат со методите, техниките и системите за поддршка при одлучувањето, како и анализа на одлуките. Да се запознаат со техниките за стекнување на знаење и репрезентација на знаење. По завршување на курсот студентите ќе стекнат знаење како да ги користат системите за поддршка при одлучувањето, правилно да изберат соодветен систем за поддршка при одлучувањето во даден бизнис контекст, како и да дизајнираат, развијат и менаџираат системи за поддршка при одлучувањето.",
         "short": "СзПпО",
-        "prerequisite": "Вештачка интелигенција или Вовед во науката за податоци (2018) | Вештачка интелигенција или Вовед во науката за податоци или Машинско учење (2023)",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "вовед во науката за податоци",
+                "машинско учење"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4905,5 +5526,7 @@
         "abstract": "Запознавање со oрганизацијата и манипулацијата со податоците организирани во складови на податоци, како и основните операции и алгоритми за работа со складови на податоци. Студентот ќе биде оспособен за интегрирање на оперативни бази на податоци во специјално дизајнирни модели погодни за аналитички потреби. Ова вклучува димензионо моделирање на складови на податоци, организација и манипулација со податоците сместени во складови на податоци, и изготвување на аналитички извештаи базирани на истите податоци.",
         "short": "СнПиАО",
-        "prerequisite": "Бази на податоци (2018) | 100 кредити (2023)",
+        "prerequisite": {
+            "credits": 100
+        },
         "activated": true,
         "participants": [
@@ -4938,5 +5561,10 @@
         "abstract": "Целта на курсот е да ги оспособи студентите да креираат апликации наменети за микроконтролери како и работа со влез/излез, подетално со СТМ микроконтролерите. Студентите ќе научат да работат со Nucleo развојните плочи, да имплементираат код, да дебагираат и да управуваат со софтверска конфигурација. Исто така студентите ќе научат кога и како се користи оперативен систем во реално време.",
         "short": "СзВС",
-        "prerequisite": "Вградливи микропроцесорски системи (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4971,5 +5599,10 @@
         "abstract": "По завршувањето на курсот се очекува студентот да има познавање на архитектурата на софтверски дефинираните мрежи и мрежите со виртуелизирани мрежни функции. Да ги знае начините за софтверски пристап до мрежите,  технологиите за конвергирани мрежи и одвојување на корисничкaта од контролната рамнина, како и хардверот од софтверот.",
         "short": "СДМ",
-        "prerequisite": "Компјутерски мрежи и (Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код) (2018) | Компјутерски мрежи или Компјутерски мрежи и безбедност (2023)",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -4994,5 +5627,10 @@
         "abstract": "Целта на курсот е студентите да се воведат во најважните аспекти од теоријата на графови, со подетален осврт на теоријата која е значајна за анализа на социјални мрежи.  Студентите ќе се запознаат со концептите, компонентите и организацијата на социјалните мрежи, како и технологиите за развој, интеркација и анализа на истите.",
         "short": "СМиМ",
-        "prerequisite": "Вовед во мрежна наука (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -5026,5 +5664,11 @@
         "abstract": "Целта на предметот е да ги запознае студентите со можностите на толпата да споделува и обработува податоци кои овозможуваат да се решаваат проблеми кои се сеуште комплексни за компјутерските системи, но многу едноставни за колектив со човечка интелигенција. Предметот ќе ги воведе студентите во нов дизајн на апликации и концепт на програмирање кој се заснова на недоверливо учество на голем број поединци од толпата. Во предметот ќе се разгледаат постоечки апликации и платформи за собирање на податоци и решавање на обемни задачи на барање.",
         "short": "СиПвТ",
-        "prerequisite": "Машинско учење (2018) | Вештачка интелигенција или Вовед во науката за податоци или Машинско учење (2023)",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "вовед во науката за податоци",
+                "машинско учење"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -5048,5 +5692,7 @@
         "abstract": "На студентите им се дава можност групно да изработат еден поголем проект под надзор на ментор. Се поставува акцент на тимска работа и развој на комплексен софтвер. Пожелна е пракса во фирма.",
         "short": "ТП",
-        "prerequisite": "150 кредити",
+        "prerequisite": {
+            "credits": 150
+        },
         "activated": true,
         "participants": [
@@ -5077,5 +5723,10 @@
         "abstract": "По завршувањето на предметот се очекува студентот да ги разбира и има продлабочено знаење во примена на техниките и методите за управување со ИКТ проекти, да има продлабочено знаење во утврдување софтверски и системски барања, познавање на метриките за следење на проекти и евалуација, да има знаење да примени техники за управување со барањата на разни проектни интересни групи, знаење за примена на тенхики за анализа  на трошоци, знаење за изготвување на извештаи, познавање на практични софтверски алатки за управување со проектен циклус.",
         "short": "УсИП",
-        "prerequisite": "(Софтверско инженерство или Анализа на софтверски барања) и (Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код) (2018) | Софтверско инженерство или Анализа на софтверски барања (2023)",
+        "prerequisite": {
+            "subjects": [
+                "софтверско инженерство",
+                "анализа на софтверските барања"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -5112,5 +5763,5 @@
         "abstract": "Запознавање на студентот со основните концепти за работа со бази на податоци, начините на нивно моделирање и имплементирање, како и работа со прашалните јазици. Студентот ќе знае практично да го применува SQL стандардот за креирање, одржување и манипулација на релациските бази на податоци.",
         "short": "УсИП",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -5137,5 +5788,9 @@
         "abstract": "Запознавање со основните податочни структури и алгоритми кои се понатаму неопходни за работа со бази на\nподатоци како и за други апликации. Студентот ќе биде оспособен за користење на структури и алгоритми\nсо линеарни листи, стебла, графови како и и индекси за пребарување. Исто така ќе биде оспособен за\nпрепознавање и користење на различните архетипи на алгоритми што се користат во практичната имплементација на многу\nсофтверски решенија.",
         "short": "УсИП",
-        "prerequisite": "Структурно програмирање",
+        "prerequisite": {
+            "subjects": [
+                "структурно програмирање"
+            ]
+        },
         "activated": true,
         "participants": [
@@ -5170,5 +5825,5 @@
         "abstract": "Да се воведат основните концепти од веројатност и статистичка анализа со дискусија на примените во компјутерските науки. Да се оспособат студентите за успешно следење на стручните предмети во кои се применуваат елементи од теорија на веројатност и статистика.",
         "short": "УсИП",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -5207,5 +5862,5 @@
         "abstract": "Курсот претставува вовед во основните математички концепти неопходни за повисоките курсеви од информациски технологии, компјутерско и софтверско инженерство.",
         "short": "УсИП",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -5238,5 +5893,5 @@
         "abstract": "Курсот претставува вовед во основните математички концепти неопходни за повисоките курсеви од информациски технологии, компјутерско и софтверско инженерство.",
         "short": "УсИП",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -5275,5 +5930,5 @@
         "abstract": "Целата на курсот е запознавање на студентите со воведните поими од областа на тестирање на софтвер, како потребата од тестирање на софтвер, како и практична работа на тестирање, валидација и верификација на софтвер.",
         "short": "УсИП",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": true,
         "participants": [
@@ -5306,5 +5961,10 @@
         "abstract": "Студентот ќе биде запознаен со главните предизвици при дизајн на сензорските системи.",
         "short": "УсИП",
-        "prerequisite": "Архитектура и организација на компјутери или Компјутерски архитектури",
+        "prerequisite": {
+            "subjects": [
+                "архитектура и организација на компјутери",
+                "компјутерски архитектури"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -5336,5 +5996,10 @@
         "abstract": "Индустријата за персонализација и адаптација на веб е во пораст. Компаниите, институциите, универзитетите, и истражувачките лаборатории имаат потреба од бројни експерти кои ги познаваат и разбираат како функционираат адаптивните интерактивни системи, персонализацијата и социјалната навигација и интеракција за да водат развој на сопствени решенија или да нарачуваат готови решенија.\n\nОд овие причини курсот има за почетна цел да ги запознае студентите со светот на адаптивните и интерактивни веб информациски системи (АИИС). Потоа студентите ќе се стекнат знаења за различните аспекти на адаптација, персонализација, социјална навигација и интеракција во АИИС, и ќе се запознаат со во моментот најактуелните адаптивни веб технологии како готови решенија или како истражувачки демонстративни решенија кои се користат во пракса. Студентите ќе разгледуваат многу примери на модерни АИИС развиени од водечките Интернет компании како Google, Yahoo, IBM, Microsoft, Ebay, Facebook, Twitter, како и повеќе лидери на специјализирани индустрии како Netflix, Booking.com, Spotify, Hulu, Zalando.\n\nГлавна финална компетенција во овој предмет со која ќе се здобијат студентите е да го применат стекнатото знаење во реалниот свет преку анализа на потребите и исполнување на истите со постојните АИИС, критика на постојни АИИС и главните елементи од животен циклус за развој на сопствени решенија за АИИС, базирани на постојни техники и со користење на иновативни технологии за социјална интеракција и навигација, адаптација и персонализација.",
         "short": "УсИП",
-        "prerequisite": "Алгоритми и податочни структури или Примена на алгоритми и податочни структури",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        },
         "activated": false,
         "participants": [
@@ -5359,5 +6024,5 @@
         "abstract": "Целта на предметот спорт и спортски активности е усвојување на нови и усовршување на старите моторни знаења и вештини, подобрување на моторните и фукционалните спсособности се со цел унапредување на здравјето, задоволувањето на потребате за движење, оспообување на студентот за рационално, содржајно користење на слободното време како и подобрување на квалитетот на животот во младоста, во зрелата возраст и староста. Унапредување на социјалната комуникација. Очекувани резултати: Оспособување на студентот за самостојно спортување и физичко вежбање, запознавање со законитостите на физичката култура и правилната исхрана. Стекнување знаења за структурата, правилата, принципите на тренажниот процес и специфичностите на избраната кинезиолошка активност.",
         "short": "УсИП",
-        "prerequisite": "",
+        "prerequisite": {},
         "activated": false,
         "participants": [
@@ -5388,5 +6053,7 @@
         "abstract": "Оспособување на студентот самостојно да идентификува проблеми и нивните решенија практично да ги реализира.",
         "short": "УсИП",
-        "prerequisite": "36 кредити",
+        "prerequisite": {
+            "credits": 36
+        },
         "activated": false,
         "participants": [
Index: backend/subjects/migrations/0001_initial.py
===================================================================
--- backend/subjects/migrations/0001_initial.py	(revision f540d883a5b2a25d16d16f99a80253083d86f16a)
+++ backend/subjects/migrations/0001_initial.py	(revision 7070b7612f9d4f13b08f111426ea3d76b33c8e88)
@@ -1,3 +1,3 @@
-# Generated by Django 5.1.7 on 2025-04-26 12:04
+# Generated by Django 5.1.7 on 2025-04-26 14:24
 
 import django.contrib.postgres.fields
@@ -32,5 +32,5 @@
                 ('level', models.IntegerField()),
                 ('short', models.TextField(blank=True, null=True)),
-                ('prerequisite', models.TextField(blank=True, null=True)),
+                ('prerequisite', models.JSONField(blank=True, null=True)),
                 ('activated', models.BooleanField()),
                 ('participants', django.contrib.postgres.fields.ArrayField(base_field=models.IntegerField(blank=True), size=None)),
Index: backend/subjects/models.py
===================================================================
--- backend/subjects/models.py	(revision f540d883a5b2a25d16d16f99a80253083d86f16a)
+++ backend/subjects/models.py	(revision 7070b7612f9d4f13b08f111426ea3d76b33c8e88)
@@ -25,5 +25,5 @@
     level = models.IntegerField(null=False)
     short = models.TextField(blank=True, null=True)
-    prerequisite = models.TextField(blank=True, null=True)
+    prerequisite = models.JSONField(blank=True, null=True)
     activated = models.BooleanField(null=False)
     participants = ArrayField(models.IntegerField(blank=True))
Index: frontend/src/components/SubjectCatalog/SubjectCatalog.tsx
===================================================================
--- frontend/src/components/SubjectCatalog/SubjectCatalog.tsx	(revision f540d883a5b2a25d16d16f99a80253083d86f16a)
+++ frontend/src/components/SubjectCatalog/SubjectCatalog.tsx	(revision 7070b7612f9d4f13b08f111426ea3d76b33c8e88)
@@ -63,4 +63,17 @@
 		setShowModal(false);
 	};
+
+	const getSubjectPrerequisites = () => {
+		if (!selectedSubject) return "Нема предуслов";
+		return "subjects" in selectedSubject?.info.prerequisite
+			? selectedSubject.info.prerequisite.subjects.map(
+					(item) =>
+						subjectData.find((subject) => subject.id === item)?.name || "/"
+			  )
+			: "credits" in selectedSubject.info.prerequisite
+			? selectedSubject.info.prerequisite.credits
+			: "Нема предуслов";
+	};
+
 	return (
 		<div className="mx-auto p-4 bg-white min-h-screen">
@@ -158,4 +171,5 @@
 					selectedSubject={selectedSubject}
 					closeModal={closeModal}
+					subjectPrerequisites={getSubjectPrerequisites()}
 				/>
 			)}
Index: frontend/src/components/SubjectCatalog/SubjectModal.tsx
===================================================================
--- frontend/src/components/SubjectCatalog/SubjectModal.tsx	(revision f540d883a5b2a25d16d16f99a80253083d86f16a)
+++ frontend/src/components/SubjectCatalog/SubjectModal.tsx	(revision 7070b7612f9d4f13b08f111426ea3d76b33c8e88)
@@ -1,10 +1,33 @@
+import { useState } from "react";
 import { Subject } from "./types";
 
 interface SubjectModalProps {
 	selectedSubject: Subject;
+	subjectPrerequisites: string[] | number | "Нема предуслов";
 	closeModal: () => void;
 }
 
-function SubjectModal({ selectedSubject, closeModal }: SubjectModalProps) {
+function SubjectModal({
+	selectedSubject,
+	closeModal,
+	subjectPrerequisites,
+}: SubjectModalProps) {
+	const [isExpanded, setIsExpanded] = useState(false);
+
+	const WORD_LIMIT = 40;
+
+	const truncateText = (text: string) => {
+		if (!text) return "";
+		const words = text.split(/\s+/);
+		console.log(words.slice(0, WORD_LIMIT).join(" ") + "...");
+		return words.length <= WORD_LIMIT
+			? text
+			: words.slice(0, WORD_LIMIT).join(" ") + "...";
+	};
+
+	const canToggle = selectedSubject.abstract.split(/\s+/).length > WORD_LIMIT;
+	const abstractText = isExpanded
+		? selectedSubject.abstract
+		: truncateText(selectedSubject.abstract);
 	return (
 		<>
@@ -39,5 +62,15 @@
 
 						<div className="mb-4">
-							<p className="">{selectedSubject.abstract}</p>
+							<span className="inline">
+								<span className="">{abstractText}</span>
+								{canToggle && (
+									<button
+										className="text-blue-500 hover:underline ml-1 inline"
+										onClick={() => setIsExpanded(!isExpanded)}
+									>
+										{isExpanded ? "Прочитај помалку" : "Прочитај повеќе"}
+									</button>
+								)}
+							</span>
 						</div>
 
@@ -124,7 +157,9 @@
 											<p className="text-sm text-gray-500">Предуслови:</p>
 											<p className="font-medium">
-												{selectedSubject.info.prerequisite.length == 0
-													? "Нема предуслов"
-													: selectedSubject.info.prerequisite}
+												{Array.isArray(subjectPrerequisites)
+													? subjectPrerequisites.join(" или ")
+													: typeof subjectPrerequisites === "number"
+													? `${subjectPrerequisites} кредити`
+													: subjectPrerequisites}
 											</p>
 										</div>
Index: frontend/src/components/SubjectCatalog/types.ts
===================================================================
--- frontend/src/components/SubjectCatalog/types.ts	(revision f540d883a5b2a25d16d16f99a80253083d86f16a)
+++ frontend/src/components/SubjectCatalog/types.ts	(revision 7070b7612f9d4f13b08f111426ea3d76b33c8e88)
@@ -9,8 +9,10 @@
 }
 
+type Prerequisite = { subjects: number[] } | { credits: number } | {};
+
 export interface SubjectInfo {
 	level: number;
 	short: string;
-	prerequisite: string;
+	prerequisite: Prerequisite;
 	activated: boolean;
 	participants: number[];
Index: prereqs.json
===================================================================
--- prereqs.json	(revision 7070b7612f9d4f13b08f111426ea3d76b33c8e88)
+++ prereqs.json	(revision 7070b7612f9d4f13b08f111426ea3d76b33c8e88)
@@ -0,0 +1,710 @@
+[
+	{
+		"subject_id": 1,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 2,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 3,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 4,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 5,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 6,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 7,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 8,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 9,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 10,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 11,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 12,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 13,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 14,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 15,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 16,
+		"prerequisite": "нема (2018) | 36 кредити (2023)"
+	},
+	{
+		"subject_id": 17,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 18,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 19,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 20,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 21,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 22,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 23,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 24,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 25,
+		"prerequisite": "Објектно-ориентирано програмирање (2018) | Структурно програмирање (2023)"
+	},
+	{
+		"subject_id": 26,
+		"prerequisite": "Објектно ориентирана анализа и дизајн или Софтверско инженерство (2018) | Објектно ориентирана анализа и дизајн или Објектно-ориентирано програмирање (2023)"
+	},
+	{
+		"subject_id": 27,
+		"prerequisite": "Компјутерски мрежи и безбедност или Компјутерски мрежи (2018) | 36 кредити (2023)"
+	},
+	{
+		"subject_id": 28,
+		"prerequisite": "Калкулус или Калкулус 2 или Бизнис статистика (2018) | Калкулус 1 или Математика 1 (2023)"
+	},
+	{
+		"subject_id": 29,
+		"prerequisite": "Алгоритми и податочни структури (2018) | 36 кредити (2023)"
+	},
+	{
+		"subject_id": 30,
+		"prerequisite": "Објектно-ориентирано програмирање"
+	},
+	{
+		"subject_id": 31,
+		"prerequisite": "нема (2018) | Вовед во компјутерските науки (2023)"
+	},
+	{
+		"subject_id": 32,
+		"prerequisite": "Веројатност и статистика или Основи на теоријата на информации (2018) | 36 кредити (2023)"
+	},
+	{
+		"subject_id": 33,
+		"prerequisite": "Дискретна математика или Дискретни структури 2 (2018) | Дсикретна математика или Дискретни структури 2 или Математика 2 или Избрани теми од математика (2023)"
+	},
+	{
+		"subject_id": 34,
+		"prerequisite": "Вовед во компјутерските науки"
+	},
+	{
+		"subject_id": 35,
+		"prerequisite": "Објектно-ориентирано програмирање (2018) | Дискретна математика или Дискретни структури 2 или Математика 2 или Избрани теми од математика (2023)"
+	},
+	{
+		"subject_id": 36,
+		"prerequisite": "Бизнис и менаџмент"
+	},
+	{
+		"subject_id": 37,
+		"prerequisite": "Бизнис и менаџмент"
+	},
+	{
+		"subject_id": 38,
+		"prerequisite": "нема (2018) | 36 кредити (2023)"
+	},
+	{
+		"subject_id": 39,
+		"prerequisite": "ИТ системи за учење (2018) | Вовед во компјутерските науки (2023)"
+	},
+	{
+		"subject_id": 40,
+		"prerequisite": "Калкулус или Калкулус 2 (2018) | Калкулус 1 или Математика 1 (2023)"
+	},
+	{
+		"subject_id": 41,
+		"prerequisite": "Објектно-ориентирано програмирање (2018) | Структурно програмирање (2023)"
+	},
+	{
+		"subject_id": 42,
+		"prerequisite": "Објектно-ориентирано програмирање"
+	},
+	{
+		"subject_id": 43,
+		"prerequisite": "Објектно-ориентирано програмирање и (Дискретна математика или Дискретни структури 2) (2018) | Објектно-ориентирано програмирање (2023)"
+	},
+	{
+		"subject_id": 44,
+		"prerequisite": "Компјутерски архитектури (2018) | 18 кредити (2023)"
+	},
+	{
+		"subject_id": 45,
+		"prerequisite": "Архитектура и организација на компјутери (2018) | 18 кредити (2023)"
+	},
+	{
+		"subject_id": 46,
+		"prerequisite": "Вовед во компјутерските науки"
+	},
+	{
+		"subject_id": 47,
+		"prerequisite": "Вовед во компјутерските науки"
+	},
+	{
+		"subject_id": 48,
+		"prerequisite": "Вовед во компјутерските науки"
+	},
+	{
+		"subject_id": 49,
+		"prerequisite": "Објектно-ориентирано програмирање"
+	},
+	{
+		"subject_id": 50,
+		"prerequisite": "Компјутерски компоненти (2018) | Архитектура и организација на компјутери или Компјутерски архитектури (2023)"
+	},
+	{
+		"subject_id": 51,
+		"prerequisite": "Архитектура и организација на компјутери или Компјутерски архитектури"
+	},
+	{
+		"subject_id": 52,
+		"prerequisite": "Калкулус или Калкулус 2 (2018) | Калкулус 1 или Математика 1 (2023)"
+	},
+	{
+		"subject_id": 53,
+		"prerequisite": "Калкулус (2018) | Калкулус 1 или Математика 1 (2023)"
+	},
+	{
+		"subject_id": 68,
+		"prerequisite": "Бази на податоци (2018) | 90 кредити (2023)"
+	},
+	{
+		"subject_id": 54,
+		"prerequisite": "Објектно-ориентирано програмирање"
+	},
+	{
+		"subject_id": 55,
+		"prerequisite": "Веројатност и статистика (2018) | Веројатност и статистика или Математика 3 или Бизнис и статистика (2023)"
+	},
+	{
+		"subject_id": 56,
+		"prerequisite": "Вовед во компјутерските науки (2018) | 18 кредити (2023)"
+	},
+	{
+		"subject_id": 57,
+		"prerequisite": "Објектно-ориентирано програмирање (2018) | Структурно програмирање (2023)"
+	},
+	{
+		"subject_id": 58,
+		"prerequisite": "Вештачка интелигенција (2018) | Вештачка интелигенција или Математика 3 или Веројатност и статистика или Бизнис статистика (2023)"
+	},
+	{
+		"subject_id": 59,
+		"prerequisite": "Компјутерски мрежи (2018) | Компјутерски мрежи или Компјутерски мрежи и безбедност (2023)"
+	},
+	{
+		"subject_id": 60,
+		"prerequisite": "Оперативни системи (2018) | Компјутерски мрежи или компјутерски мрежи и безбедност (2023)"
+	},
+	{
+		"subject_id": 61,
+		"prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 62,
+		"prerequisite": "Архитектура и организација на компјутери или Компјутерски архитектури"
+	},
+	{
+		"subject_id": 63,
+		"prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 64,
+		"prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 65,
+		"prerequisite": "Оперативни системи"
+	},
+	{
+		"subject_id": 66,
+		"prerequisite": "Веројатност и статистика или Основи на теоријата на информации (2018) | Веројатност и статистика или Основи на теорија на информации или Математика 3 или Бизнис статистика (2023)"
+	},
+	{
+		"subject_id": 67,
+		"prerequisite": "Бизнис статистика или Веројатност и статистика или Основи на теоријата на информации (2018) | Бизнис статистика или Веројатност и статистика или Основи на теорија на информации или Математика 3 (2023)"
+	},
+	{
+		"subject_id": 69,
+		"prerequisite": "Информациска безбедност (2018) | Оперативни системи (2023)"
+	},
+	{
+		"subject_id": 70,
+		"prerequisite": "Бази на податоци и (Интернет програмирање на клиентска страна или Интернет технологии или Веб програмирање) (2018) | 90 кредити (2023)"
+	},
+	{
+		"subject_id": 71,
+		"prerequisite": "Анализа на софтверските барања или Софтверско инженерство (2018) | Објектно ориентирана анализа и дизајн или Објектно-ориентирано програмирање (2023)"
+	},
+	{
+		"subject_id": 72,
+		"prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 73,
+		"prerequisite": "Информатичко размислување во образованието (2018) | 60 кредити (2023)"
+	},
+	{
+		"subject_id": 74,
+		"prerequisite": "Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код (2018) | Бази на податоци (2023)"
+	},
+	{
+		"subject_id": 75,
+		"prerequisite": "Анализа на софтверските барања или Софтверско инженерство"
+	},
+	{
+		"subject_id": 76,
+		"prerequisite": "Оперативни системи (2018) | Компјутерски мрежи или Компјутерски мрежи и безбедност (2023)"
+	},
+	{
+		"subject_id": 77,
+		"prerequisite": "Администрација на системи (2018) | Компјутерски мрежи или компјутерски мрежи и безбедност (2023)"
+	},
+	{
+		"subject_id": 78,
+		"prerequisite": "Електрични кола (2018) | Дизајн на дигитални кола или Вовед во компјутерските науки (2023)"
+	},
+	{
+		"subject_id": 79,
+		"prerequisite": "Напредно програмирање или Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 80,
+		"prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 81,
+		"prerequisite": "Оперативни системи и (Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код) (2018) | Оперативни системи (2023)"
+	},
+	{
+		"subject_id": 82,
+		"prerequisite": "Дискретна математика или Дискретни структури 2 (2018) | Дискретни структури 2 или Дискретна математика или Математика 2 или Избрани теми од математика (2023)"
+	},
+	{
+		"subject_id": 83,
+		"prerequisite": "Дискретна математика или Дискретни структури 2 (2018) | Дискретна математика или Дискретни структури 2 или Математика 2 или Избрани теми од математика (2023)"
+	},
+	{
+		"subject_id": 84,
+		"prerequisite": "Веројатност и статистика или Бизнис статистика (2018) | Веројатност и статистика или Бизнис статистика или Математика 3 (2023)"
+	},
+	{
+		"subject_id": 85,
+		"prerequisite": "Веројатност и статистика или Основи на теоријата на информации или Бизнис статистика (2018) | Веројатност и статистика или Основи на теорија на информации или Бизнис статистика или Математика 3 (2023)"
+	},
+	{
+		"subject_id": 86,
+		"prerequisite": "Компјутерски мрежи или Компјутерски мрежи и безбедност"
+	},
+	{
+		"subject_id": 87,
+		"prerequisite": "Компјутерски мрежи или Компјутерски мрежи и безбедност"
+	},
+	{
+		"subject_id": 88,
+		"prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 89,
+		"prerequisite": "Основи на Веб дизајн (2018) | Објектно-ориентирано програмирање (2023)"
+	},
+	{
+		"subject_id": 90,
+		"prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 91,
+		"prerequisite": "Алгоритми и податочни структури и Оперативни системи (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 92,
+		"prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 93,
+		"prerequisite": "ИКТ во образованието (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 94,
+		"prerequisite": "Бази на податоци или Веројатност и статистика или Бизнис статистика (2018) | Веројатност и статистика или Математика 3 или Основи на теорија на информации или Бизнис Статистика (2023)"
+	},
+	{
+		"subject_id": 95,
+		"prerequisite": "Инженерска математика или Калкулус 2 (2018) | Математика 1 или Калкулус 1 (2023)"
+	},
+	{
+		"subject_id": 96,
+		"prerequisite": "Основи на роботиката (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури или Вештачка интелигенција (2023)"
+	},
+	{
+		"subject_id": 97,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 98,
+		"prerequisite": "ИКТ во образованието (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 99,
+		"prerequisite": "Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 100,
+		"prerequisite": "Архитектура и организација на компјутери или Компјутерски архитектури"
+	},
+	{
+		"subject_id": 101,
+		"prerequisite": "(Информациска безбедност или Мрежна безбедност) и (Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код) (2018) | 100 кредити (2023)"
+	},
+	{
+		"subject_id": 102,
+		"prerequisite": "Софтверско инженерство или Дизајн и архитектура на софтвер"
+	},
+	{
+		"subject_id": 103,
+		"prerequisite": "Веројатност и статистика или Бизнис статистика (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 104,
+		"prerequisite": "ИКТ во образованието (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 105,
+		"prerequisite": "Структурно програмирање (2018) | Дискретна математика или Дискретни структури 2 или Математика 2 или Избрани теми од математика (2023)"
+	},
+	{
+		"subject_id": 106,
+		"prerequisite": "Основи на роботиката (2018) | Основи на роботика или Алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 107,
+		"prerequisite": "Бази на податоци"
+	},
+	{
+		"subject_id": 108,
+		"prerequisite": "Бази на податоци"
+	},
+	{
+		"subject_id": 109,
+		"prerequisite": "Алгоритми и податочни структури и Вештачка интелигенција (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 110,
+		"prerequisite": "Криптографија или Информациска безбедност (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 111,
+		"prerequisite": "Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 112,
+		"prerequisite": "Обработка на природните јазици (2018) | Вештачка интелигенција или Вовед во науката за податоци или Машинско учење (2023)"
+	},
+	{
+		"subject_id": 113,
+		"prerequisite": "Дизајн на интеракцијата човек-компјутер (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 114,
+		"prerequisite": "Вовед во случајни процеси или Статистичко моделирање (2018) | Вештачка интелигенција или Вовед во науката за податоци или Машинско учење (2023)"
+	},
+	{
+		"subject_id": 115,
+		"prerequisite": "Машинско учење или Вештачка интелигенција (2018) | Вештачка интелигенција или Машинско учење или Вовед во науката за податоци (2023)"
+	},
+	{
+		"subject_id": 116,
+		"prerequisite": "Вештачка интелигенција или Вовед во науката за податоци (2018) | 120 кредити (2023)"
+	},
+	{
+		"subject_id": 117,
+		"prerequisite": "Машинско учење (2018) | Вештачка интелигенција или Вовед во науката за податоци или Машинско учење (2023)"
+	},
+	{
+		"subject_id": 118,
+		"prerequisite": "Машинско учење (2018) | Вештачка интелигенција или Вовед во науката за податоци или Машинско учење (2023)"
+	},
+	{
+		"subject_id": 119,
+		"prerequisite": "Компјутерска графика или Дигитално процесирање на слика (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 120,
+		"prerequisite": "Компјутерски мрежи (2018) | Компјутерски мрежи или Компјутерски мрежи и безбедност (2023)"
+	},
+	{
+		"subject_id": 121,
+		"prerequisite": "нема (2018) | 204 кредити (2023)"
+	},
+	{
+		"subject_id": 122,
+		"prerequisite": "Оперативни системи и (Компјутерски мрежи или Компјутерски мрежи и безбедност) (2018) | Компјутерски мрежи или Компјутерски мрежи и безбедност (2023)"
+	},
+	{
+		"subject_id": 123,
+		"prerequisite": "Оперативни системи и (Компјутерски мрежи или Компјутерски мрежи и безбедност) (2018) | Компјутерски мрежи или Компјутерски мрежи и безбедност (2023)"
+	},
+	{
+		"subject_id": 124,
+		"prerequisite": "Информациска безбедност или Мрежна безбедност (2018) | Компјутерски мрежи или компјутерски мрежи и безбедност (2023)"
+	},
+	{
+		"subject_id": 125,
+		"prerequisite": "Бизнис и менаџмент и (Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код) (2018) | Бизнис и менаџмент (2023)"
+	},
+	{
+		"subject_id": 126,
+		"prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 127,
+		"prerequisite": "Бизнис и менаџмент и (Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код) (2018) | Бизнис и менаџмент (2023)"
+	},
+	{
+		"subject_id": 128,
+		"prerequisite": "Машинско учење (2018) | Вештачка интелигенција или Вовед во науката за податоци или Машинско учење (2023)"
+	},
+	{
+		"subject_id": 129,
+		"prerequisite": "Машинско учење (2018) | Вештачка интелигенција или Вовед во науката за податоци или Машинско учење (2023)"
+	},
+	{
+		"subject_id": 130,
+		"prerequisite": "Вградливи микропроцесорски системи и (Компјутерски мрежи или Компјутерски мрежи и безбедност) (2018) | Компјутерски мрежи или Компјутерски мрежи и безбедност (2023)"
+	},
+	{
+		"subject_id": 131,
+		"prerequisite": "Компјутерска графика или Дизајн на интеракцијата човек-компјутер (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 132,
+		"prerequisite": "Вградливи микропроцесорски системи (2018) | Архитектура и организација на компјутери или Компјутерски архитектури (2023)"
+	},
+	{
+		"subject_id": 133,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 134,
+		"prerequisite": "Дигитално процесирање на слика или Машинско учење (2018) | 120 кредити (2023)"
+	},
+	{
+		"subject_id": 135,
+		"prerequisite": "Софтверско инженерство или Анализа на софтверските барања"
+	},
+	{
+		"subject_id": 136,
+		"prerequisite": "150 кредити"
+	},
+	{
+		"subject_id": 137,
+		"prerequisite": "150 кредити"
+	},
+	{
+		"subject_id": 138,
+		"prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 139,
+		"prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 140,
+		"prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 141,
+		"prerequisite": "Бази на податоци и (Софтверско инженерство или Анализа на софтверски барања) | Објектно-ориентирано програмирање (2023)"
+	},
+	{
+		"subject_id": 142,
+		"prerequisite": "Веројатност и статистика или Основи на теоријата на информации или Бизнис статистика (2018) | Веројатност и статистика или Основи на теорија на информации или Бизнис статистика или Математика 3 (2023)"
+	},
+	{
+		"subject_id": 143,
+		"prerequisite": "Автономна роботика или Процесна роботика или (Машинско учење и Основи на роботиката) (2018) | Оперативни системи (2023)"
+	},
+	{
+		"subject_id": 144,
+		"prerequisite": "(Компјутерски мрежи и безбедност или Мрежна безбедност) и Безжични и мобилни системи (2018) | Комјутерски мрежи или Компјутерски мрежи и безбедност (2023)"
+	},
+	{
+		"subject_id": 145,
+		"prerequisite": "Дизајн на интеракцијата човек-компјутер (2018) | Дизајн на интеракцијата човек-компјутер или Алгоритми и податочни структури или Примена на алгоритми и податочни стуктури (2023)"
+	},
+	{
+		"subject_id": 146,
+		"prerequisite": "Бази на податоци (2018) | 90 кредити (2023)"
+	},
+	{
+		"subject_id": 147,
+		"prerequisite": "Криптографија (2018) | Алгоритми и податочни структури или Примена на алгоритни и податочни структури (2023)"
+	},
+	{
+		"subject_id": 148,
+		"prerequisite": "Бази на податоци"
+	},
+	{
+		"subject_id": 149,
+		"prerequisite": "Машинско учење (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 150,
+		"prerequisite": "Веројатност и статистика или Основи на теоријата на информации (2018) | Веројатност и статистика или Основи на теорија на информации или Математика 3 или Бизнис статистика (2023)"
+	},
+	{
+		"subject_id": 151,
+		"prerequisite": "Комјутерски мрежи или Компјутерски мрежи и безбедност"
+	},
+	{
+		"subject_id": 152,
+		"prerequisite": "Машинско учење"
+	},
+	{
+		"subject_id": 153,
+		"prerequisite": "Виртуелизација (2018) | Бази на податоци (2023)"
+	},
+	{
+		"subject_id": 154,
+		"prerequisite": "Бизнис и менаџмент и (Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код) (2018) | 120 кредити (2023)"
+	},
+	{
+		"subject_id": 155,
+		"prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 156,
+		"prerequisite": "Формални јазици и автомати (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 157,
+		"prerequisite": "Алгоритми и податочни структури (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 158,
+		"prerequisite": "Паралелно и дистрибуирано процесирање (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 159,
+		"prerequisite": "нема (2018) | 150 кредити (2023)"
+	},
+	{
+		"subject_id": 160,
+		"prerequisite": "Вештачка интелигенција или Вовед во науката за податоци (2018) | Вештачка интелигенција или Вовед во науката за податоци или Машинско учење (2023)"
+	},
+	{
+		"subject_id": 161,
+		"prerequisite": "Бази на податоци (2018) | 100 кредити (2023)"
+	},
+	{
+		"subject_id": 162,
+		"prerequisite": "Вградливи микропроцесорски системи (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 163,
+		"prerequisite": "Компјутерски мрежи и (Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код) (2018) | Компјутерски мрежи или Компјутерски мрежи и безбедност (2023)"
+	},
+	{
+		"subject_id": 164,
+		"prerequisite": "Вовед во мрежна наука (2018) | Алгоритми и податочни структури или Примена на алгоритми и податочни структури (2023)"
+	},
+	{
+		"subject_id": 165,
+		"prerequisite": "Машинско учење (2018) | Вештачка интелигенција или Вовед во науката за податоци или Машинско учење (2023)"
+	},
+	{
+		"subject_id": 166,
+		"prerequisite": "150 кредити"
+	},
+	{
+		"subject_id": 167,
+		"prerequisite": "(Софтверско инженерство или Анализа на софтверски барања) и (Веб програмирање или Интернет технологии или Имплементација на системи со слободен и отворен код) (2018) | Софтверско инженерство или Анализа на софтверски барања (2023)"
+	},
+	{
+		"subject_id": 168,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 169,
+		"prerequisite": "Структурно програмирање"
+	},
+	{
+		"subject_id": 170,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 171,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 172,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 173,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 174,
+		"prerequisite": "Архитектура и организација на компјутери или Компјутерски архитектури"
+	},
+	{
+		"subject_id": 175,
+		"prerequisite": "Алгоритми и податочни структури или Примена на алгоритми и податочни структури"
+	},
+	{
+		"subject_id": 176,
+		"prerequisite": ""
+	},
+	{
+		"subject_id": 177,
+		"prerequisite": "36 кредити"
+	}
+]
Index: tools/data/formatted_prereqs.json
===================================================================
--- tools/data/formatted_prereqs.json	(revision 7070b7612f9d4f13b08f111426ea3d76b33c8e88)
+++ tools/data/formatted_prereqs.json	(revision 7070b7612f9d4f13b08f111426ea3d76b33c8e88)
@@ -0,0 +1,1385 @@
+{
+    "Бизнис и менаџмент": {
+        "code": "БиМ",
+        "prerequisite": {}
+    },
+    "Вовед во компјутерските науки": {
+        "code": "ВвКН_1",
+        "prerequisite": {}
+    },
+    "Дизајн на дигитални кола": {
+        "code": "ДнДК",
+        "prerequisite": {}
+    },
+    "Дискретна математика": {
+        "code": "ДМ",
+        "prerequisite": {}
+    },
+    "Дискретни структури 1": {
+        "code": "ДС1",
+        "prerequisite": {}
+    },
+    "Математика 1": {
+        "code": "К_1",
+        "prerequisite": {}
+    },
+    "Калкулус 1": {
+        "code": "К1",
+        "prerequisite": {}
+    },
+    "Педагогија": {
+        "code": "П_1",
+        "prerequisite": {}
+    },
+    "Професионални вештини": {
+        "code": "ПВ",
+        "prerequisite": {}
+    },
+    "Структурно програмирање": {
+        "code": "СП_1",
+        "prerequisite": {}
+    },
+    "Физика": {
+        "code": "Ф",
+        "prerequisite": {}
+    },
+    "Архитектура и организација на компјутери": {
+        "code": "АиОнК",
+        "prerequisite": {}
+    },
+    "Бизнис статистика": {
+        "code": "БС",
+        "prerequisite": {}
+    },
+    "Дискретни структури 2": {
+        "code": "ДС2",
+        "prerequisite": {}
+    },
+    "Е-учење": {
+        "code": "ИСзУ",
+        "prerequisite": {}
+    },
+    "Калкулус 2": {
+        "code": "К2",
+        "prerequisite": {}
+    },
+    "Компјутерски архитектури": {
+        "code": "КА_1",
+        "prerequisite": {}
+    },
+    "Компјутерски компоненти": {
+        "code": "КК",
+        "prerequisite": {}
+    },
+    "Креативни вештини за решавање проблеми": {
+        "code": "КВзРП",
+        "prerequisite": {}
+    },
+    "Маркетинг": {
+        "code": "М",
+        "prerequisite": {
+            "credits": 36
+        }
+    },
+    "Објектно ориентирана анализа и дизајн": {
+        "code": "ООАиД",
+        "prerequisite": {}
+    },
+    "Објектно-ориентирано програмирање": {
+        "code": "ООП",
+        "prerequisite": {}
+    },
+    "Основи на Веб дизајн": {
+        "code": "ОнВД",
+        "prerequisite": {}
+    },
+    "Основи на сајбер безбедноста": {
+        "code": "ОнСБ",
+        "prerequisite": {}
+    },
+    "Алгоритми и податочни структури": {
+        "code": "АиПС",
+        "prerequisite": {
+            "subjects": [
+                "структурно програмирање"
+            ]
+        }
+    },
+    "Веројатност и статистика": {
+        "code": "ВиС",
+        "prerequisite": {
+            "subjects": [
+                "калкулус 1",
+                "математика 1"
+            ]
+        }
+    },
+    "Дигитизација": {
+        "code": "Д",
+        "prerequisite": {
+            "subjects": [
+                "вовед во компјутерските науки"
+            ]
+        }
+    },
+    "Економија за ИКТ инженери": {
+        "code": "ЕзИИ",
+        "prerequisite": {
+            "subjects": [
+                "бизнис и менаџмент"
+            ]
+        }
+    },
+    "Инженерска математика": {
+        "code": "ИМ",
+        "prerequisite": {
+            "subjects": [
+                "калкулус 1",
+                "математика 1"
+            ]
+        }
+    },
+    "Интернет програмирање на клиентска страна": {
+        "code": "ИПнКС",
+        "prerequisite": {
+            "subjects": [
+                "структурно програмирање"
+            ]
+        }
+    },
+    "Компјутерски мрежи": {
+        "code": "КМ",
+        "prerequisite": {
+            "credits": 18
+        }
+    },
+    "Компјутерски мрежи и безбедност": {
+        "code": "КМиБ",
+        "prerequisite": {
+            "credits": 18
+        }
+    },
+    "Мултимедијални технологии": {
+        "code": "МТ",
+        "prerequisite": {
+            "subjects": [
+                "вовед во компјутерските науки"
+            ]
+        }
+    },
+    "Напредно програмирање": {
+        "code": "НП",
+        "prerequisite": {
+            "subjects": [
+                "објектно-ориентирано програмирање"
+            ]
+        }
+    },
+    "Основи на комуникациски системи": {
+        "code": "ОнКС",
+        "prerequisite": {
+            "subjects": [
+                "калкулус 1",
+                "математика 1"
+            ]
+        }
+    },
+    "Основи на теоријата на информации": {
+        "code": "ОнТнИ",
+        "prerequisite": {
+            "subjects": [
+                "калкулус 1",
+                "математика 1"
+            ]
+        }
+    },
+    "Управување со техничка поддршка": {
+        "code": "УсТП",
+        "prerequisite": {
+            "credits": 18
+        }
+    },
+    "Шаблони за дизајн на кориснички интерфејси": {
+        "code": "ШзДнКИ",
+        "prerequisite": {
+            "subjects": [
+                "структурно програмирање"
+            ]
+        }
+    },
+    "Анализа на софтверските барања": {
+        "code": "АнСБ",
+        "prerequisite": {
+            "subjects": [
+                "објектно ориентирана анализа и дизајн",
+                "објектно-ориентирано програмирање"
+            ]
+        }
+    },
+    "Безжични и мобилни системи": {
+        "code": "БиМС",
+        "prerequisite": {
+            "credits": 36
+        }
+    },
+    "Вештачка интелигенција": {
+        "code": "ВИ",
+        "prerequisite": {
+            "credits": 36
+        }
+    },
+    "Визуелно програмирање": {
+        "code": "ВП_1",
+        "prerequisite": {
+            "subjects": [
+                "објектно-ориентирано програмирање"
+            ]
+        }
+    },
+    "Вовед во екоинформатиката": {
+        "code": "ВвЕ",
+        "prerequisite": {
+            "subjects": [
+                "вовед во компјутерските науки"
+            ]
+        }
+    },
+    "Вовед во случајни процеси": {
+        "code": "ВвСП",
+        "prerequisite": {
+            "credits": 36
+        }
+    },
+    "Дигитално процесирање на слика": {
+        "code": "ДПнС",
+        "prerequisite": {
+            "subjects": [
+                "дискретна математика",
+                "дискретни структури 2",
+                "математика 2",
+                "избрани теми од математика"
+            ]
+        }
+    },
+    "Дизајн на алгоритми": {
+        "code": "ДнА",
+        "prerequisite": {
+            "subjects": [
+                "дискретна математика",
+                "дискретни структури 2",
+                "математика 2",
+                "избрани теми од математика"
+            ]
+        }
+    },
+    "Е-влада": {
+        "code": "Е",
+        "prerequisite": {
+            "subjects": [
+                "бизнис и менаџмент"
+            ]
+        }
+    },
+    "Електрични кола": {
+        "code": "ЕК",
+        "prerequisite": {
+            "credits": 36
+        }
+    },
+    "Информатичко размислување во образованието": {
+        "code": "ИвО",
+        "prerequisite": {
+            "subjects": [
+                "вовед во компјутерските науки"
+            ]
+        }
+    },
+    "Интернет технологии": {
+        "code": "ИТ",
+        "prerequisite": {
+            "subjects": [
+                "објектно-ориентирано програмирање"
+            ]
+        }
+    },
+    "Компјутерска графика": {
+        "code": "КГ",
+        "prerequisite": {
+            "subjects": [
+                "објектно-ориентирано програмирање"
+            ]
+        }
+    },
+    "Концепти на информатичко општество": {
+        "code": "КнИО",
+        "prerequisite": {
+            "subjects": [
+                "вовед во компјутерските науки"
+            ]
+        }
+    },
+    "Медиуми и комуникации": {
+        "code": "МиК",
+        "prerequisite": {
+            "subjects": [
+                "вовед во компјутерските науки"
+            ]
+        }
+    },
+    "Квантно пресметување": {
+        "code": "ОиЕЕКС",
+        "prerequisite": {
+            "subjects": [
+                "архитектура и организација на компјутери",
+                "компјутерски архитектури"
+            ]
+        }
+    },
+    "Оперативни системи": {
+        "code": "ОС",
+        "prerequisite": {
+            "subjects": [
+                "архитектура и организација на компјутери",
+                "компјутерски архитектури"
+            ]
+        }
+    },
+    "Софтверско инженерство": {
+        "code": "СИ",
+        "prerequisite": {
+            "subjects": [
+                "објектно-ориентирано програмирање"
+            ]
+        }
+    },
+    "Споделување и пресметување во толпа": {
+        "code": "СиПвТ",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "вовед во науката за податоци",
+                "машинско учење"
+            ]
+        }
+    },
+    "Теорија на информации со дигитални комуникации": {
+        "code": "ТнИсДК",
+        "prerequisite": {
+            "subjects": [
+                "веројатност и статистика",
+                "математика 3",
+                "бизнис статистика"
+            ]
+        }
+    },
+    "Администрација на системи": {
+        "code": "АнС",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        }
+    },
+    "Бази на податоци": {
+        "code": "БнП",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Веб програмирање": {
+        "code": "ВП_2",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Визуелизација": {
+        "code": "В_1",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Вовед во науката за податоци": {
+        "code": "ВвНзП",
+        "prerequisite": {
+            "subjects": [
+                "бизнис статистика",
+                "веројатност и статистика",
+                "основи на теоријата на информации",
+                "математика 3"
+            ]
+        }
+    },
+    "Дизајн и архитектура на софтвер": {
+        "code": "ДиАнС",
+        "prerequisite": {
+            "subjects": [
+                "објектно ориентирана анализа и дизајн",
+                "објектно-ориентирано програмирање"
+            ]
+        }
+    },
+    "Дизајн на образовен софтвер": {
+        "code": "ДнОС",
+        "prerequisite": {
+            "credits": 60
+        }
+    },
+    "Информациска безбедност": {
+        "code": "ИБ",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        }
+    },
+    "Компјутерска електроника": {
+        "code": "КЕ_2",
+        "prerequisite": {
+            "subjects": [
+                "дизајн на дигитални кола",
+                "вовед во компјутерските науки"
+            ]
+        }
+    },
+    "Компјутерска етика": {
+        "code": "КЕ_1",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Компјутерски звук, музика и говор": {
+        "code": "КЗГМ",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Линеарна алгебра и примени": {
+        "code": "ЛАиП",
+        "prerequisite": {
+            "subjects": [
+                "дискретна математика",
+                "дискретни структури 2",
+                "математика 2",
+                "избрани теми од математика"
+            ]
+        }
+    },
+    "Сајбер безбедност": {
+        "code": "МБ",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        }
+    },
+    "Мултимедиски мрежи": {
+        "code": "ММ",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        }
+    },
+    "Напреден веб дизајн": {
+        "code": "НВД",
+        "prerequisite": {
+            "subjects": [
+                "објектно-ориентирано програмирање"
+            ]
+        }
+    },
+    "Основи на роботиката": {
+        "code": "ОнР",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Паралелно и дистрибуирано процесирање": {
+        "code": "ПиДП",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Агентно-базирани системи": {
+        "code": "АБС",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "математика 3",
+                "веројатност и статистика",
+                "бизнис статистика"
+            ]
+        }
+    },
+    "Администрација на мрежи": {
+        "code": "АнМ",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        }
+    },
+    "Безжични мултимедиски системи": {
+        "code": "БМС",
+        "prerequisite": {
+            "subjects": [
+                "безжични и мобилни системи"
+            ]
+        }
+    },
+    "Вградливи микропроцесорски системи": {
+        "code": "ВМС",
+        "prerequisite": {
+            "subjects": [
+                "архитектура и организација на компјутери",
+                "компјутерски архитектури"
+            ]
+        }
+    },
+    "Виртуелизација": {
+        "code": "В_2",
+        "prerequisite": {
+            "subjects": [
+                "оперативни системи"
+            ]
+        }
+    },
+    "Вовед во мрежна наука": {
+        "code": "ВвМН",
+        "prerequisite": {
+            "subjects": [
+                "веројатност и статистика",
+                "основи на теоријата на информации",
+                "математика 3",
+                "бизнис статистика"
+            ]
+        }
+    },
+    "Географски информациски системи": {
+        "code": "ГИС",
+        "prerequisite": {
+            "credits": 90
+        }
+    },
+    "Дигитална форензика": {
+        "code": "ДФ",
+        "prerequisite": {
+            "subjects": [
+                "оперативни системи"
+            ]
+        }
+    },
+    "Дигитални библиотеки": {
+        "code": "ДБ",
+        "prerequisite": {
+            "credits": 90
+        }
+    },
+    "Дизајн на интеракцијата човек-компјутер": {
+        "code": "ДнИЧК",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Електронска и мобилна трговија": {
+        "code": "ЕиМТ",
+        "prerequisite": {
+            "subjects": [
+                "бази на податоци"
+            ]
+        }
+    },
+    "Интегрирани системи": {
+        "code": "ИС_1",
+        "prerequisite": {
+            "subjects": [
+                "анализа на софтверските барања",
+                "софтверско инженерство"
+            ]
+        }
+    },
+    "Инфраструктурно програмирање": {
+        "code": "ИП",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        }
+    },
+    "Континуирана интеграција и испорака": {
+        "code": "КИиИ",
+        "prerequisite": {
+            "subjects": [
+                "оперативни системи"
+            ]
+        }
+    },
+    "Криптографија": {
+        "code": "К_2",
+        "prerequisite": {
+            "subjects": [
+                "дискретни структури 2",
+                "дискретна математика",
+                "математика 2",
+                "избрани теми од математика"
+            ]
+        }
+    },
+    "Машинско учење": {
+        "code": "МУ",
+        "prerequisite": {
+            "subjects": [
+                "веројатност и статистика",
+                "бизнис статистика",
+                "математика 3"
+            ]
+        }
+    },
+    "Мерење и анализа на сообраќај": {
+        "code": "МиАнИС",
+        "prerequisite": {
+            "subjects": [
+                "веројатност и статистика",
+                "основи на теоријата на информации",
+                "бизнис статистика",
+                "математика 3"
+            ]
+        }
+    },
+    "Мултимедиски системи": {
+        "code": "МС",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Паралелно програмирање": {
+        "code": "ПП_1",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Персонализирано учење": {
+        "code": "ПУ",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Податочно рударење": {
+        "code": "ПР_1",
+        "prerequisite": {
+            "subjects": [
+                "веројатност и статистика",
+                "математика 3",
+                "основи на теоријата на информации",
+                "бизнис статистика"
+            ]
+        }
+    },
+    "Процесирање на сигналите": {
+        "code": "ПнС",
+        "prerequisite": {
+            "subjects": [
+                "математика 1",
+                "калкулус 1"
+            ]
+        }
+    },
+    "Вештачка интелигенција за игри": {
+        "code": "ПР_2",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури",
+                "вештачка интелигенција"
+            ]
+        }
+    },
+    "Психологија на училишна возраст": {
+        "code": "ПнУВ",
+        "prerequisite": {}
+    },
+    "Работа со надарени ученици": {
+        "code": "РсНУ",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Сервисно ориентирани архитектури": {
+        "code": "СОА",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Софтверски дефинирана безбедност": {
+        "code": "СДБ",
+        "prerequisite": {
+            "credits": 100
+        }
+    },
+    "Современи компјутерски архитектури": {
+        "code": "СКА",
+        "prerequisite": {
+            "subjects": [
+                "архитектура и организација на компјутери",
+                "компјутерски архитектури"
+            ]
+        }
+    },
+    "Софтверски квалитет и тестирање": {
+        "code": "СКиТ",
+        "prerequisite": {
+            "subjects": [
+                "софтверско инженерство",
+                "дизајн и архитектура на софтвер"
+            ]
+        }
+    },
+    "Автоматизирање на процеси во машинско учење": {
+        "code": "СМ",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Учење на далечина": {
+        "code": "УнД",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Основи на теоријата на компјутерските науки": {
+        "code": "ФЈиА",
+        "prerequisite": {
+            "subjects": [
+                "дискретна математика",
+                "дискретни структури 2",
+                "математика 2",
+                "избрани теми од математика"
+            ]
+        }
+    },
+    "Автономна роботика": {
+        "code": "АР",
+        "prerequisite": {
+            "subjects": [
+                "основи на роботиката",
+                "алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Администрација на бази податоци": {
+        "code": "АнБнП",
+        "prerequisite": {
+            "subjects": [
+                "бази на податоци"
+            ]
+        }
+    },
+    "Анализа и дизајн на ИС": {
+        "code": "АиДнИ",
+        "prerequisite": {
+            "subjects": [
+                "бази на податоци"
+            ]
+        }
+    },
+    "Веб базирани системи": {
+        "code": "ВБС",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Вовед во анализа на временските серии": {
+        "code": "ВвАнВС",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "вовед во науката за податоци",
+                "машинско учење"
+            ]
+        }
+    },
+    "Вовед во биоинформатиката": {
+        "code": "ВвБ",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "машинско учење",
+                "вовед во науката за податоци"
+            ]
+        }
+    },
+    "Вовед во паметни градови": {
+        "code": "ВвПГ",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "вовед во науката за податоци",
+                "машинско учење"
+            ]
+        }
+    },
+    "Вовед во препознавање на облици": {
+        "code": "ВвПнО",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "вовед во науката за податоци",
+                "машинско учење"
+            ]
+        }
+    },
+    "Дигитална постпродукција": {
+        "code": "ДП",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Дистрибуирани системи": {
+        "code": "ДС",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        }
+    },
+    "Дистрибуирано складирање на податоци": {
+        "code": "ДСнП",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        }
+    },
+    "Имплементација на софтверски системи со слободен и отворен код": {
+        "code": "ИнСсСиОК",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Иновации во ИКТ": {
+        "code": "ИвИ",
+        "prerequisite": {
+            "subjects": [
+                "бизнис и менаџмент"
+            ]
+        }
+    },
+    "Интернет на нештата": {
+        "code": "ИнН",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        }
+    },
+    "Компјутерски поддржано производство": {
+        "code": "КПП",
+        "prerequisite": {
+            "subjects": [
+                "архитектура и организација на компјутери",
+                "компјутерски архитектури"
+            ]
+        }
+    },
+    "Машинска визија": {
+        "code": "МВ",
+        "prerequisite": {
+            "credits": 120
+        }
+    },
+    "Менаџмент информациски системи": {
+        "code": "МИС_1",
+        "prerequisite": {
+            "subjects": [
+                "софтверско инженерство",
+                "анализа на софтверските барања"
+            ]
+        }
+    },
+    "Методологија на истражувањето во ИКТ": {
+        "code": "МнИвИ",
+        "prerequisite": {
+            "credits": 150
+        }
+    },
+    "Мобилни информациски системи": {
+        "code": "МИС_2",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Мобилни платформи и програмирање": {
+        "code": "МПиП",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Моделирање и симулација": {
+        "code": "МиС_3",
+        "prerequisite": {
+            "subjects": [
+                "веројатност и статистика",
+                "основи на теоријата на информации",
+                "бизнис статистика",
+                "математика 3"
+            ]
+        }
+    },
+    "Мрежна и мобилна форензика": {
+        "code": "МиМФ",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        }
+    },
+    "Напредна интеракција човек компјутер": {
+        "code": "НИЧК",
+        "prerequisite": {
+            "subjects": [
+                "дизајн на интеракцијата човек-компјутер",
+                "алгоритми и податочни структури",
+                "Примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Обработка на природните јазици": {
+        "code": "ОнПЈ",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Операциони истражувања": {
+        "code": "ОИ",
+        "prerequisite": {
+            "subjects": [
+                "веројатност и статистика",
+                "основи на теоријата на информации",
+                "математика 3",
+                "бизнис статистика"
+            ]
+        }
+    },
+    "Оптички мрежи": {
+        "code": "ОМ",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        }
+    },
+    "Пресметување во облак": {
+        "code": "ПвО",
+        "prerequisite": {
+            "subjects": [
+                "бази на податоци"
+            ]
+        }
+    },
+    "Програмирање на видео игри": {
+        "code": "ПнВИ",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Програмски парадигми": {
+        "code": "ПП_2",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Вовед во рударење на масивни податоци": {
+        "code": "РнМП",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Самостоен проект": {
+        "code": "СП_2",
+        "prerequisite": {
+            "credits": 150
+        }
+    },
+    "Системи за поддршка при одлучувањето": {
+        "code": "СзПпО",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "вовед во науката за податоци",
+                "машинско учење"
+            ]
+        }
+    },
+    "Софтвер за вградливи системи": {
+        "code": "СзВС",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Софтверски дефинирани мрежи": {
+        "code": "СДМ",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        }
+    },
+    "Теорија на графови и социјални мрежи": {
+        "code": "СМиМ",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Тимски проект": {
+        "code": "ТП",
+        "prerequisite": {
+            "credits": 150
+        }
+    },
+    "Биолошки инспирирано пресметување": {
+        "code": "БИП",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Блоковски вериги и криптовалути": {
+        "code": "БВиК",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Веб пребарувачки системи": {
+        "code": "ВПС",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "вовед во науката за податоци",
+                "машинско учење"
+            ]
+        }
+    },
+    "Виртуелна реалност": {
+        "code": "ВР",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Вовед во когнитивни науки": {
+        "code": "ВвКН_2",
+        "prerequisite": {
+            "credits": 120
+        }
+    },
+    "Дизајн на компјутерски мрежи": {
+        "code": "ДнКМ",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        }
+    },
+    "Дипломска работа": {
+        "code": "ДР",
+        "prerequisite": {
+            "credits": 204
+        }
+    },
+    "Етичко хакирање": {
+        "code": "ЕХ",
+        "prerequisite": {
+            "subjects": [
+                "компјутерски мрежи",
+                "компјутерски мрежи и безбедност"
+            ]
+        }
+    },
+    "ИКТ за развој": {
+        "code": "ИзР",
+        "prerequisite": {
+            "subjects": [
+                "бизнис и менаџмент"
+            ]
+        }
+    },
+    "Откривање знаење со длабоко учење": {
+        "code": "ИИС",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "вовед во науката за податоци",
+                "машинско учење"
+            ]
+        }
+    },
+    "Интелигентни системи": {
+        "code": "ИС_2",
+        "prerequisite": {
+            "subjects": [
+                "вештачка интелигенција",
+                "вовед во науката за податоци",
+                "машинско учење"
+            ]
+        }
+    },
+    "Компјутерска анимација": {
+        "code": "КА_2",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Македонски јазик": {
+        "code": "МЈ",
+        "prerequisite": {}
+    },
+    "Методика на информатиката": {
+        "code": "МнИ",
+        "prerequisite": {
+            "credits": 150
+        }
+    },
+    "Мобилни апликации": {
+        "code": "МА",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Моделирање и менаџирање на бизнис процеси": {
+        "code": "МиМнБП",
+        "prerequisite": {
+            "subjects": [
+                "објектно-ориентирано програмирање"
+            ]
+        }
+    },
+    "Модерни трендови во роботика": {
+        "code": "МТвР",
+        "prerequisite": {
+            "subjects": [
+                "оперативни системи"
+            ]
+        }
+    },
+    "Напредни бази на податоци": {
+        "code": "НБнП_2",
+        "prerequisite": {
+            "credits": 90
+        }
+    },
+    "Web3 апликации": {
+        "code": "НТоК",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Неструктурирани бази на податоци": {
+        "code": "НБнП_1",
+        "prerequisite": {
+            "subjects": [
+                "бази на податоци"
+            ]
+        }
+    },
+    "Пресметковна биологија": {
+        "code": "ПБ",
+        "prerequisite": {
+            "subjects": [
+                "машинско учење"
+            ]
+        }
+    },
+    "Претприемништво": {
+        "code": "П_2",
+        "prerequisite": {
+            "credits": 120
+        }
+    },
+    "Програмски јазици и компајлери": {
+        "code": "ПЈиК",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Складови на податоци и аналитичка обработка": {
+        "code": "СнПиАО",
+        "prerequisite": {
+            "credits": 100
+        }
+    },
+    "Управување со ИКТ проекти": {
+        "code": "УсИП",
+        "prerequisite": {
+            "subjects": [
+                "софтверско инженерство",
+                "анализа на софтверските барања"
+            ]
+        }
+    },
+    "Вовед во бази на податоци и SQL": {
+        "code": "УсИП",
+        "prerequisite": {}
+    },
+    "Примена на алгоритми и податочни структури": {
+        "code": "УсИП",
+        "prerequisite": {
+            "subjects": [
+                "структурно програмирање"
+            ]
+        }
+    },
+    "Математика 3": {
+        "code": "УсИП",
+        "prerequisite": {}
+    },
+    "Избрани теми од математика": {
+        "code": "УсИП",
+        "prerequisite": {}
+    },
+    "Математика 2": {
+        "code": "УсИП",
+        "prerequisite": {}
+    },
+    "Тестирање на софтвер": {
+        "code": "УсИП",
+        "prerequisite": {}
+    },
+    "Сензорски системи": {
+        "code": "УсИП",
+        "prerequisite": {
+            "subjects": [
+                "архитектура и организација на компјутери",
+                "компјутерски архитектури"
+            ]
+        }
+    },
+    "Адаптивни и интерактивни веб информациски системи": {
+        "code": "УсИП",
+        "prerequisite": {
+            "subjects": [
+                "алгоритми и податочни структури",
+                "примена на алгоритми и податочни структури"
+            ]
+        }
+    },
+    "Спорт и здравје": {
+        "code": "УсИП",
+        "prerequisite": {}
+    },
+    "Деловна пракса": {
+        "code": "УсИП",
+        "prerequisite": {
+            "credits": 36
+        }
+    }
+}
Index: tools/scripts/format_prereqs.py
===================================================================
--- tools/scripts/format_prereqs.py	(revision 7070b7612f9d4f13b08f111426ea3d76b33c8e88)
+++ tools/scripts/format_prereqs.py	(revision 7070b7612f9d4f13b08f111426ea3d76b33c8e88)
@@ -0,0 +1,60 @@
+import json
+
+file_path = '../data/prerequisites.json'
+
+try:
+    with open(file_path, "r", encoding='utf-8') as f:
+        prerequisite_data = json.load(f)
+except FileNotFoundError:
+    print(f"Error: Could not find file at {file_path}")
+    exit(1)
+
+formatted_prereqs = {}
+# map of all misspelled subject names on the website :|
+misspelled = {
+    "дсикретна математика": "дискретна математика",
+    "бизнис и статистика": "бизнис статистика",
+    "основи на теорија на информации": "основи на теоријата на информации",
+    "основи на роботика": "основи на роботиката",
+    "комјутерски мрежи": "компјутерски мрежи",
+    "примена на алгоритми и податочни стуктури": "Примена на алгоритми и податочни структури",
+    "примена на алгоритни и податочни структури": "примена на алгоритми и податочни структури",
+    "анализа на софтверски барања": "анализа на софтверските барања",
+}
+for entry in prerequisite_data:
+    code, subject, prereq, _ = entry.values()
+    # have to convert everything to lowercase, to avoid inconsistencies in data
+    formatted_prereqs[subject] = {}
+    formatted_prereqs[subject]["code"] = code
+    prereq = prereq.lower()
+    if prereq == "": 
+        formatted_prereqs[subject]["prerequisite"] = {}
+        continue
+    a = ""
+    if "|" in prereq:
+        # only look at 2023 accreditation
+        prereq = prereq.split(" | ")[1].split("(2023")[0].strip()
+    
+    if "кредити" in prereq:
+        num_credits = int(prereq.split(" кредити")[0].strip())
+        formatted_prereqs[subject]["prerequisite"] = {"credits": num_credits} 
+        # no subject has prerequsite in format: 
+        # N credits OR subject(s)
+        # so it is okay to continue here
+        continue
+    
+    if " или " in prereq:
+        new_subjects = []
+        for name in prereq.split(" или "):
+            new_subjects.append(name if name not in misspelled else misspelled[name])
+
+        formatted_prereqs[subject]["prerequisite"] = {"subjects": new_subjects }
+        continue
+    
+    formatted_prereqs[subject]["prerequisite"] = {"subjects": [prereq if prereq not in misspelled else misspelled[prereq]]}
+
+with open('../data/formatted_prereqs.json', 'w', encoding='utf-8') as f:
+    json.dump(formatted_prereqs, f, ensure_ascii=False ,indent=4)
+
+
+    
Index: tools/scripts/subject_details.py
===================================================================
--- tools/scripts/subject_details.py	(revision f540d883a5b2a25d16d16f99a80253083d86f16a)
+++ tools/scripts/subject_details.py	(revision 7070b7612f9d4f13b08f111426ea3d76b33c8e88)
@@ -2,5 +2,5 @@
 
 information_file_path = '../data/information.json' # code, subject name, level
-prerequisites_file_path = '../data/prerequisites.json' # short name, prereq, semester
+# prerequisites_file_path = '../data/prerequisites.json' # short name, prereq, semester
 participants_file_path = '../data/participants.json' # participant counts
 subjects_by_program_file_path = '../data/subjects_by_program.json' # which subjects are mandatory and in which semester
@@ -8,10 +8,11 @@
 elective_file_path = '../data/elective.json' # which elective subjects can a certain program choose from
 abstract_file_path = '../data/abstracts.json' # short descriptions for all subjects
+formatted_prereqs_file_path = '../data/formatted_prereqs.json' # prerequisites for each subject
 
 try:
     with open(information_file_path, 'r', encoding='utf-8') as f:
         information_data = json.load(f)
-    with open(prerequisites_file_path, 'r', encoding='utf-8') as f:
-        prerequisites_data = json.load(f)
+    # with open(prerequisites_file_path, 'r', encoding='utf-8') as f:
+    #     prerequisites_data = json.load(f)
     with open(participants_file_path, 'r', encoding='utf-8') as f:
         participants_data = json.load(f)
@@ -24,4 +25,6 @@
     with open(abstract_file_path, 'r', encoding='utf-8') as f:
         abstract_data = json.load(f)
+    with open(formatted_prereqs_file_path, 'r', encoding='utf-8') as f:
+        formatted_prereq_data = json.load(f)
 except FileNotFoundError as e:
     print(f"Error: Could not find file: {e.filename}")
@@ -47,9 +50,17 @@
     }
 
-for entry in prerequisites_data:
-    code, course, prerequisite, _ = entry.values()
+# for entry in prerequisites_data:
+#     code, course, prerequisite, _ = entry.values()
+#     if course in subject_data:
+#         subject_data[course]['short'] = code
+#         subject_data[course]['prerequisite'] = prerequisite
+#     else:
+#         print(f"Error: Course {course} is not in subject data")
+
+for course in formatted_prereq_data:
+    code, prereqs = formatted_prereq_data[course].values()
     if course in subject_data:
-        subject_data[course]['short'] = code
-        subject_data[course]['prerequisite'] = prerequisite
+        subject_data[course]["short"] = code
+        subject_data[course]["prerequisite"] = prereqs
     else:
         print(f"Error: Course {course} is not in subject data")
