Subject

Student Involvement in the Development of Humanitarian, Free and Open-Source Software

1. Course Title Student Involvement in the Development of Humanitarian, Free and Open-Source Software
Student involvement in humanitarian, free and open source software development
2. Code m23_s_045
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) Second cycle
6. Academic year / semester 10 / Summer
7. Number of ECTS credits 6
8. Teacher Vangel Ajanoski
9. Prerequisites for enrolling in the course
10. Objectives of the course programme (competences) The goal of the course is for the student to become familiar with the ways H/FOSS projects (Humanitarian, Free and Open Source Software) operate and the opportunities for involvement, and to gain experience through active participation in an ongoing H/FOSS project.

Competencies the student is expected to acquire upon completion of the course:
To understand the advantages and differences offered by the various licensing models for free and open-source software.
To understand the communication methods and ways of working in H/FOSS projects.
To gain experience by participating in some of the activities of an existing H/FOSS project.
11. Course content Topics covered in this course:
Introduction to H/FOSS (Humanitarian, Free and Open Source Software).
Introduction to copyright and the right of reproduction, licenses used in H/FOSS, comparison and analysis of their benefits and drawbacks.
Teaching the development of H/FOSS and H/FOSS in education.
Models of student learning through hands-on work in real projects.
Involving students in H/FOSS projects, methods, and ways of active engagement.
H/FOSS projects that enable and accept student involvement.
Process of proposing projects and topics for participation in existing projects, development of a conceptual idea, and an implementation plan.
Project implementation using H/FOSS
Project evaluation
Organization of teamwork with open participants, organization of teamwork entirely electronically and remotely
Organization and use of portals for sharing, controlling, and managing code in H/FOSS (Examples: OpenHub, Github, Gitlab)
Organization and use of systems for free collaborative documentation in H/FOSS (Examples: Wiki)
Organization and use of distributed systems for free, direct communication and free social networks (Examples: IRC, Matrix, ToX, Mastodon, Diaspora)
Organization and use of defect tracking systems in H/FOSS
12. Learning methods - Lectures and exercises with case-based discussions, analysis of various available examples - Computer-assisted learning - E-learning and distance learning - Group research and development - Use of relevant software tools - Project development and defense
13. Total available time 6 ECTS x 30 hours = 180 hours
14. Distribution of available time 30 + 30 + 15 + 90 + 15 = 180 hours
15. Forms of teaching activities
15.1. Lectures - theoretical instruction 30 hours
15.2. Exercises (laboratory, auditory), seminars, teamwork 30 hours
16. Other forms of activities
16.1. Project assignments 90 hours
16.2. Independent assignments 15 hours
16.3. Home study 15 hours
17. Assessment method
17.1. Tests 0 points
17.2. Seminar paper / project (presentation: written and oral) 90 points
17.3. Activities and learning 30 points
17.4. Final exam 15 points
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 50% of the activities and the initial version of the project
20. Language of instruction Macedonian, English
21. Method for monitoring the quality of teaching internal evaluation and survey mechanism
22. Literature
22.1. Required literature
1. Richard M. Stallman | Free Software, Free Society - Free Software, Free SocietySelected Essays of Richard M. StallmanThird Edition | Free Software Foundation | 2015
2. Karl Fogel | Producing Open Source Software, 2nd ed. | Karl Fogel | 2020
3. Nadia Eghbal | Working in Public: The Making and Maintenance of Open Source Software | Stripe Press | 2020
4. Electronic documentation from the websites of the system manufacturers that are used in the activities, provided in printed or electronic form. Selection of significant and current research papers in the field.
5. Electronic documentation from the websites of the system manufacturers used in the activities.
22.2. Additional literature
No. Author Title Publisher Year