Основи на теоријата на компјутерските науки

1.Наслов на наставниот предметОснови на теоријата на компјутерските науки
Basics of theory of computing
2.КодF23L3S039
3.Студиска програма
4.Организатор на студиската програма (единица, односно институт, катедра, оддел)Факултет за информатички науки и компјутерско инженерство
5.Степен (прв, втор, трет циклус)Прв циклус
6.Академска година / семестар6 / Летен
7.Број на ЕКТС кредити6
8.Наставник
9.Предуслови за запишување на предметотДискретна математика или Дискретни структури 2 или Математика 2 или Избрани теми од математика
10.Цели на предметната програма (компетенции)На овој курс ќе стекнете основно разбирање за класичните модели кои се користат во основата на компјутерските науки за анализа на пресметковните процеси, вклучувајќи конечни автомати, граматики и Тјурингови машини. Овие модели може да се користат за да се одговори на прашања како што се кои проблеми може да се решат со компјутер и дали има некои проблеми кои се суштински потешки за решавање од другите.
11.Содржина на предметната програма1. Основни концепти за јазици, граматики и автомати
2. Регуларни изрази и регуларни јазици
3. Детерминистички конечни автомат
4. Недетерминистички конечни автомати, Еквиваленција меѓу детерминистички и недетерминистички конечни автомати и редукција на број на состојби.
5. Својства на регуларните јазиции лема за пумпање кај регуларни јазици.
6. Контекстно слободни јазици
7. Push-down автомати
8. Врска меѓу контекстно слободни јазици и Push-down автомати
9. Лема за пумпање кај конекстно слободни јазици и затварач.
10. Тјурингови машини.
11. Хиерархија кај јазици (рекурзивнијазици, контекстно сензитивни...)
12. Вовед во компјутерска комплексност (П, НП)
13. Пресметливост.
12.Методи на учењеПредавања со користење на презентации, интерактивни предавања, вежби (користење на опрема и софтверски пакети), тимска работа, пример случаи, поканети гости предавачи, самостојна изработка и одбрана на проектна задача и семинарска работа.
13.Вкупен расположив фонд на време6 ЕКТС x 30 часа = 180 часа
14.Распределба на расположивото време30 + 45 + 15 + 15 + 75 = 180 часа
15.Форми на наставните активности
15.1.Предавања - теоретска настава30 часови
15.2.Вежби (лабораториски, аудиториски), семинари, тимска работа45 часови
16.Други форми на активности
16.1.Проектни задачи15 часови
16.2.Самостојни задачи15 часови
16.3.Домашно учење75 часови
17.Начин на оценување
17.1.Тестови0 бодови
17.2.Семинарска работа / проект ( презентација: писмена и усна)15 бодови
17.3.Активности и учење0 бодови
17.4.Завршен испит90 бодови
18.Критериуми за оценување (бодови/ оценка)
до 50 бода5 (пет) (F)
од 51 до 60 бода6 (шест) (E)
од 61 до 70 бода7 (седум) (D)
од 71 до 80 бода8 (осум) (C)
од 81 до 90 бода9 (девет) (B)
од 91 до 100 бода10 (десет) (A)
19.Услов за потпис и полагање на завршен испитРеализирани активности 15.2 и 16.1
20.Јазик на кој се изведува наставатаМакедонски и англиски
21.Метод на следење на квалитетот на наставатамеханизам на интерна евалуација и анкети
22.Литература
22.1.Задолжителна литература
1. Michael Spiser | Introduction to the Theory of Computation | Cengage | 2012
2. John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman | Introduction to Automata Theory, Languages, and Computation | Addison-Wesley | 2006
3. https://www.geeksforgeeks.org/introduction-of-finite-automata/?ref=lbp | geeksforgeeks | 2022
4. Б. Јанева | Алгоритми и автомати | ПМФ Скопје | 1999
22.2.Дополнителна литература
Ред.бр. Автор Наслов Издавач Година