Free and Open Source Software (FOSS)

Any software is a collection of programs that are implemented in different sort of programming language which could be in thousands of lines of codes. 

Open Source, asopposed to proprietary software, provides code which is available for viewing, modification, improvements and “bug-fixing.” 

As a result the code being open to view and modification, the software evolves rapidly and constantly to higher and higher level of quality.

Benefits of Using Free and Open Source Software (FOSS)

The most important reasons for using FOSS for the purpose of this study are as follows:

1. Free software

2. Free distribution

3. Participant (not end user) 

4. Community

Course Objectives

The objectives of this course are to introduce students to open source software. Students will study common open source software licenses, open source project structure, distributed team software development, and current events in the open source world. Students will also work on an open source project and will be expected to make a significant contribution.

After completing this course, the student should be able to:

  1. Explain common open source licenses and the impact of choosing a license;
  2. Explain open source project structure and how to successfully setup a project;
  3. Be competent with distributed software engineering tools and processes such as test-driven development, issues tracking, unit testing, code review, distributed version control, and continuous integration

Course Syllabus

1. Course Meeting Time:

        • Tu:
          • 01pm to 04pm  -  Location: B3.202
        • We:
          • 01pm to 04pm  -  Location: A5.403
        • Th: 
          • 07am to 10am  -  Location: A5.305 

2. Instructor:    Đoàn Duy Bình

3. On-going Assessment:

        • Labs:                              20% (Linux)
        • Midterms:                      20% (Multiple-choise)
        • Final Exam:                    60% (Presentation)