Subject

Имплементација на софтверски системи со слободен и отворен код

1. Course Title Имплементација на софтверски системи со слободен и отворен код
Implementation of free and open source software systems
2. Code F23L3W103
3. Study Programme Стручни студии за програмирање, Софтверско инженерство
4. Organizer of the study programme (unit, institute, department or division) Faculty of Computer Science and Engineering
5. Degree level (first, second, third cycle) Прв циклус
6. Academic year / semester 7 / Зимски
7. Number of ECTS credits 6
8. Teacher Иван Чорбев, Вангел Ајановски
9. Prerequisites for enrolling in the course Алгоритми и податочни структури или Примена на алгоритми и податочни структури
10. Objectives of the course programme (competences) По завршување на курсот се очекува студентите да се оспособени за продуктивно учество во поголеми софтверски
тимови кои работат употребувајќи технологии со слободен и отворен код. Да бидат способни за работа во програмски јазици со отворен код, да развиваат веб апликации на тие платформи. Да бидат способни да водат софтверски проект
базиран на технологии со слободен и отворен код.
11. Course content Предавања:
1. Софтвер со отворен код (Free/Open Source Software - FOSS). Филозофија за развој со отворен код. Хардвер со отворен код.
2. Економска анализа на системи со отворен код. Бизнис анализа. Бизнис модели.
3. Лиценцирање со отворен код и типови лиценци (GNU General Public License (GPL)). Споредба со системи со затворен код. Споредба со бесплатен софтвер.
4. Апликациски софтвер со отворен код.
5. Оперативни системи со отворен код.
6. Едукациски системи со отворен код, Развојни алатки за софтвер со отворен код. Модели за развој со отворен код.
7. Менаџирање софтверски проект со отворен код. Следење на развојот на проектите, менаџирање на промени.
8. Развојни рамки со отворен и слободен код. Развојни технологии и библиотеки со отворен и слободен код
9. Библиотеки базирани на платформи со отворен код
10. Системи за градење и менаџирање со зависности во проекти со отворен и слободен код
11. Шаблони и принципи на развој кај системи со отворен код. Практични техники при развој на веб апликации со отворен код.
12. Стандарди за кодирање и документација. Безбедност на софтвер со отворен код.
13. Поддршка за системи со отворен код (заедници за развој на OSS). Блогови, групи, форуми, социјални мрежи за OSS.
14. Иднината на софтверите со отворен код.

Вежби:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
12. Learning methods Предавања поддржани со презентации преку слајдови, интерактивни предавања, вежби (користење на опрема и софтверски пакети), тимска работа, пример случаи, поканети гости предавачи, самостојна изработка и одбрана на проектна задача и семинарска работа, учење во електронско опкружување (форуми, консултации).
13. Total available time 6 ECTS x 30 hours = 180 hours
14. Distribution of available time 30 + 45 + 15 + 15 + 75 = 180 часа
15. Forms of teaching activities
15.1. Lectures - theoretical instruction 30 hours
15.2. Exercises (laboratory, auditory), seminars, teamwork 45 hours
16. Other forms of activities
16.1. Project assignments 15 часови
16.2. Independent assignments 15 часови
16.3. Home study 75 часови
17. Assessment method
17.1. Tests 10 бодови
17.2. Seminar paper / project (presentation: written and oral) 15 бодови
17.3. Activities and learning 10 бодови
17.4. Final exam 70 бодови
18. Grading criteria (points / grade)
up to 50 points5 (five) (F)
from 51 to 60 points6 (six) (E)
from 61 to 70 points7 (seven) (D)
from 71 to 80 points8 (eight) (C)
from 81 to 90 points9 (nine) (B)
from 91 to 100 points10 (ten) (A)
19. Requirement for obtaining a signature and taking the final exam completed activities 15.1 and 15.2
20. Language of instruction Macedonian and English
21. Method for monitoring the quality of teaching internal evaluation and survey mechanism
22. Literature
22.1. Required literature
1. Allen Tucker, Ralph Morelli, Chamindra de Silva | Software Development: An Open Source Approach (Chapman & Hall/CRC Innovations in Software Engineering and Software Development Series) | CRC Press | 2011
2. Karl Fogel | Producing Open Source Software | Karl Fogel, under the CreativeCommons Attribution-ShareAlike (4.0) license | 2017
3. David Sklar | Learning PHP | O’Reilly Media, Inc. | 2016
4. William Sanders | Learning PHP Design Patterns | O’Reilly Media, Inc. | 2013
5. Matt Stauffer | Laravel: Up & Running: A Framework for Building Modern PHP Apps 2nd Edition | O`Reilly Media | 2019
6. Nadia Eghbal | Working in Public: The Making and Maintenance of Open Source Software | Stripe Press | 2020
7. Robin Nixon | Learning PHP, MySQL & JavaScript: A Step-by-Step Guide to Creating Dynamic Websites | O`Reilly Media | 2021
22.2. Additional literature
No. Author Title Publisher Year