About the Course

This course will cover the fundamentals of Free and Open Source software development. Topics to be addressed include licensing, Linux, typical software development tools (e.g. compilers, scripting languages, build tools, and version control software), applications, and techniques for managing remote servers. Students will work on a significant development project involving free and open-source software and learn how to participate in open-source projects effectively.

Contact Information and Office Hours

The preferred method of contact is e-mail (mbone@luc.edu) or the slack channel. Keep in mind that forum participation will be one consideration for the participation component of this course.

I will be available the hour before each class in the computer science office on the fifth floor of Lewis Tower, room 531, and also immediately after class in the classroom.

Class Communication

As mentioned above, we will use a slack channel for group discussion throughout the course.

Texts

We will use online resources for this course and occasionally refer to the book “Producing Open Source Software” which is available at: http://producingoss.com/

Course Breakdown

  • Assignments: 30%
  • Project: 30%
  • Quizzes: 20%
  • Participation: 20%

The following is an explanation of the course breakdown:

Assignments will involve programming, writing, and presenting. If you are not strong in some of those areas, do not worry. You can still be successful, but please use this course as an opportunity to improve.

The Project will involve some form of contribution to an existing open source project. More details to follow.

Quizzes will be used to determine whether you are understanding the lectures, reading materials, and assignments.

Participation will be determined based on your involvement in the class in concrete ways. For me, there are multiple ways I can measure your participation. The first is to be active in in-class discussions and make occasional presentations in class. Ideally, I expect every student to speak at least 1-3 times a semester, especially when it comes to the discussion of assignments. The second is to be active in the class discussion group (the slack channel). I'm particularly fond of participation that sheds new insight on material that we might not be able to cover in class and postings that are aimed at helping others.

Submitting Homework and Projects

Homework submissions will be handled via version control or sakai depending on the type of the assignment. Each assignment will contain detailed information on how it should be submitted.

Attendance Policy

I do not take attendance in class.

Attendance, however, is strongly encouraged. If you plan to miss class, it is ok to let me know but, more importantly, please make sure you speak with at least one other person in class to find out anything you might have missed. Significant absences from class may hurt your participation grade.

Late Work Policy

Late work will be accepted but at a slight penalty. Late work will be accepted but at a slight penalty for each week of lateness. The penalty will be 10% per week.

Late work will not be accepted for assignment N once assignment N+1's due date has arrived. This means, in practice, that a zero will be recorded for this assignment.

Quiz Attendance Policy

Quiz absences require advance notification and/or appropriate documentation (e.g. doctor's note or documentation from Wellness Center). Failure to comply with this policy results in a zero on the given quiz.

Academic Integrity Policy

See the university web sites in the College of Arts and Sciences and Graduate School. Any infringement on these policies will result (possibly) in an F for the course and a report being submitted to the relevant dean's office.