Напредно програмирање

Напредно програмирање

1.

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

Напредно програмирање

Advanced programming

2.

Код

F23L3W140

3.

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

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

4.

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

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

5.

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

Прв циклус

6.

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

3 / Зимски

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

6.0

8.

Наставник

проф. д-р Дејан Ѓорѓевиќ проф. д-р Ѓорѓи Маџаров ворн. проф. д-р Иван Китановски

9.

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

Објектно-ориентирано програмирање

10.

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


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

11.

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


Предавања: 1. Објектно-ориентиранa парадигмa 2. Генеричко програмирање, генерички функции, генерички класи - 1 3. Генеричко програмирање, генерички функции, генерички класи - 2 4. Генерички податочни структури (колекции) 5. Генерички податочни структури (мапи и множества) 6. Генерички податочни структури за решавање на проблеми со специјални побарувања 7. Вовед во функционално програмирање 8. Рефакторирање на код 9. Вовед во конкурентно програмирање 10. Основни концепти на шаблони за дизајн на софтвер 11. Шаблони за дизајн на софтвер 1 12. Шаблони за дизајн на софтвер 2 Вежби: 1. Објектно-ориентиран дизајн и концепти - задачи 2. Генеричко програмирање, генерички функции, генерички класи - задачи 1 3. Генеричко програмирање, генерички функции, генерички класи - задачи 2 4. Генерички податочни структури (колекции) - задачи 5. Генерички податочни структури (мапи и множества) - задачи 6. Генерички податочни структури - задачи 7. Вовед во функционално програмирање - задачи 8. Рефакторирање на код - задачи 9. Вовед во конкурентно програмирање - задачи 10. Дизајн на софтверско решени со и без употреба на добро познати дизајнерски практики - задачи 11. Шаблони за дизајн на софтвер - задачи 1 12. Шаблони за дизајн на софтвер - задачи 2

12.

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


Предавања поддржани со презентации преку слајдови, интерактивни предавања, вежби (користење на опрема и софтверски пакети), тимска работа, пример случаи, поканети гости предавачи, самостојна изработка и одбрана на проектна задача и семинарска работа, учење во електронско опкружување (форуми, консултации).

13.

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

6.0 ЕКТС x 30 часа = 180 часа

14.

Распределба на расположивото време

30 + 60 + 15 + 15 + 60 = 180 часа

15.

Форми на наставните активности

15.1.

Предавања- теоретска настава

30 часови

15.2.

Вежби (лабораториски, аудиториски), семинари, тимска работа

60 часови

16.

Други форми на активности

16.1.

Проектни задачи

15 часови

16.2.

Самостојни задачи

15 часови

16.3.

Домашно учење

60 часови

17.

Начин на оценување

17.1.

Тестови

10 бодови

17.2.

Семинарска работа/ проект ( презентација: писмена и усна)

15 бодови

17.3.

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

10 бодови

17.4.

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

70 бодови

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.

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

Ред.бр.

Автор

Наслов

Издавач

Година

8500

Savitch, Walter J

Absolute Java

Addison Wesley

2012

8501

Naftalinand Philip Wadler

JAVA Generics and Collections

O`Reilly

2006

8502

Alan Mycroft, Mario Fusco

Java 8 in Action: Lambdas, Streams, and Functional-style Programming

Manning Publication

2015

22.2.

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

Ред.бр.

Автор

Наслов

Издавач

Година