Програмски јазици и компајлери

Програмски јазици и компајлери

1.

Наслов на наставниот предмет

Програмски јазици и компајлери

Programming languages and compilers

2.

Код

F23L3S112

3.

Студиска програма

Примена на информациски технологии, Софтверско инженерство и информациски системи, Компјутерски науки, Компјутерско инженерство, Интернет, мрежи и безбедност, Информатичка едукација, Software engineering and information systems, Примена на информациски технологии, Софтверско инженерство и информациски системи, Компјутерски науки, Компјутерско инженерство, Интернет, мрежи и безбедност, Software engineering and information systems, Стручни студии за програмирање, Стручни студии за програмирање,

4.

Организатор на студиската програма (единица, односно институт, катедра, оддел)

Факултет за информатички науки и компјутерско инженерство

5.

Степен (прв, втор, трет циклус)

Прв циклус

6.

Академска година / семестар

4 / Летен

7. Број на ЕКТС кредити

6.0

8.

Наставник

проф. д-р Миле Јованов

9.

Предуслови за запишување на предметот

Алгоритми и податочни структури или Примена на алгоритми и податочни структури

10.

Цели на предметната програма (компетенции):


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

11.

Содржина на предметната програма:


Предавања: 1. Вовед во предметот. Развој на програмските јазици 2. Спектар на програмсите јазици 3. Разработка на структурата на компајлерот со изучување на структурата на даден програмски јазик 4. Развој на граматики и синтаксно ориентирани преведувачи 5. Лексичка анализа 6. Синтакса и семантика, синтаксни дрва 7. Парсирање: bottom-up и top-down 8. Препроцесирање, поправка на грешки, симболни табели 9. Проверка на типови, семантичка проверка 10. Генерирање на код 11. Оптимизација на код 12. Bootstrapping. Конструкција на компајлер Вежби: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

12.

Методи на учење:


Предавања, вежби, проекти, семинарски работи

13.

Вкупен расположив фонд на време

6.0 ЕКТС 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.

Активности и учење

16 бодови

17.4.

Завршен испит

40 бодови

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, 16

20.

Јазик на кој се изведува наставата

македонски и англиски

21.

Метод на следење на квалитетот на наставата

Анкети, разговор со студенти.

22.

Литература

22.1.

Задолжителна литература

Ред.бр.

Автор

Наслов

Издавач

Година

2506

Alfred Aho, Monica S. Lam, RaviSethi, Jeffrey D. Ullman

Compilers-Principles, Techniques and tools

Pearson Education, Inc

2007

2507

F.J.F. Benders; J.W. Haaring; T.H. Janssen; D. Meert; A.C. van Oostenrijk

Compiler Construction A Practical Approach

2003

2508

Niklaus Wirth

Compiler Construction

Addison-Wesley

1996

22.2.

Дополнителна литература

Ред.бр.

Автор

Наслов

Издавач

Година