Implementation of free and open source software systems

Implementation of free and open source software systems

1.

Subject title

Implementation of free and open source software systems

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

2.

Code

F23L3W103

3.

Study program

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

4.

Organizer of the study program (unit, institute, department, division)

Faculty of Information Sciences and Computer Engineering

5.

Study cycle (first, second, third)

Прв циклус

6.

Academic year / semester

4 / Зимски

7. Number of ECTS credits

6.0

8.

Instructor

проф. д-р Иван Чорбев проф. д-р Вангел Ајановски

9.

Prerequisites for enrollment

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

10.

Subject goals and competencies:


After completing the course, students are expected to be equipped for productive participation in larger software projects teams working using free and open source technologies. Be able to work in open source programming languages, to develop web applications on those platforms. Be able to lead a software project based on free and open source technologies.

11.

Subject content:


History of the concept of free and open source systems. Free and open source software (Free/Open Source Software - FOSS). Free and open source development philosophy. Free and open source hardware. Economic analysis of free and open source systems. Business analysis. Business models. Patenting. Free and open source licensing and license types (GNU General Public License (GPL)). Comparison with non-free or closed source systems. Comparison with freeware. Free and open source application software. Free and open source operating systems. Programming languages ​​for free and open source development. Free and open source server software. Widely used free and open source products. Free and open source educational systems. Free and open source software development tools. Addiction management systems. Free and open source development models. Patterns in the development of free and open source systems. SOLID principles. Free and open source software project management. Project development monitoring, change management. Patterns implemented in Open Source platforms. Libraries based on free and open source platforms. Practical techniques in developing free and open source web applications. Coding and documentation standards. Free and open source software security. Support for free and open source systems (OSS development communities). FOSS Blogs, Groups, Forums, Social Networks. The future of free and open source software.

12.

Learning methods:


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

13.

Total available time fund

6.0 ECTS x 30 hours = 180 hours

14.

Time distribution

30 + 45 + 15 + 15 + 75 = 180 hours

15.

Forms of teaching activities

15.1.

Lectures - theoretical teaching

30 hours

15.2.

Exercises (laboratory, classroom), seminars, team work

45 hours

16.

Other forms of activities

16.1.

Project tasks

15 hours

16.2.

Independent tasks

15 hours

16.3.

Homework

75 hours

17.

Grading method

17.1.

Tests

10 points

17.2.

Seminar work / project (presentation: written and oral)

15 points

17.3.

Activities and learning

10 points

17.4.

Final exam

70 points

18.

Grading criteria (points / grade)

up to 50 points

5 (five) (F)

from 51 to 60 points

6 (six) (E)

from 61 to 70 points

7 (seven) (D)

from 71 to 80 points

8 (eight) (C)

from 81 to 90 points

9 (nine) (B)

from 91 to 100 points

10 (ten) (A)

19.

Condition for signature and taking final exam

реализирани активности 15.1 и 15.2

20.

Language of instruction

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

21.

Quality assurance method

механизам на интерна евалуација и анкети

22.

Literature

22.1.

Mandatory literature

No.

Author

Title

Publisher

Year

3943

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

3944

Karl Fogel

Producing Open Source Software

Karl Fogel, under the CreativeCommons Attribution-ShareAlike (4.0) license

2017

3945

David Sklar

Learning PHP

O’Reilly Media, Inc.

2016

3946

William Sanders

Learning PHP Design Patterns

O’Reilly Media, Inc.

2013

3947

Matt Stauffer

Laravel: Up & Running: A Framework for Building Modern PHP Apps 2nd Edition

O`Reilly Media

2019

3948

Nadia Eghbal

Working in Public: The Making and Maintenance of Open Source Software

Stripe Press

2020

3949

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