CISC 267 Summer Study Abroad Syllabus

General Course Information

Instructor: Lori Pollock

Prerequisites

CISC 181, MISY 225, or MISY 261. Please email the instructor if you do not meet these prerequisites but believe you have similar background and skills.

Course Description

This course investigates the culture, process, enabling technologies, and prominent projects in the open source software movement, along with its economics, legal issues, business venues, and humanitarian and educational roles.

Study Abroad Experiences

  • Geneva: WIPO, CERN, and more
  • Lausanne: EPFL

Learning Objectives

At the end of this course, the students should be able to:

  • Discuss the issues and currents in open source software and open source development
  • Describe the history and philosophy of an open source project
  • Choose between the various open source licenses understanding the implications for users, developers, and the software community in general
  • Choose an application to use through competitive analysis of a set of similar projects
  • Use the communication modes particular to the open source world through participation in such things as mailing lists, IRC, wikis, etc. to get questions answered and post information for others
  • Be aware of and appreciate the tools of open source development, for example: distributed revision control; documentation tools; automated build and test systems; debuggers; source code utilities; tracking systems; on-line resources, etc.
  • Navigate, search, and analyze a pre-existing large software project
  • Analyze a set of open source projects to learn information about programmer behavior, software process, and common problems in software development
  • Work collaboratively with fellow students
  • (CIS students) Write software that integrates and interacts with an open source project. For example: add-ons; bug fixes; new features; etc., or write scripts that automatically analyze some aspect of a set of open source projects

Tentative Outline of Topics

  • What is OSS?
    • The philosophy of OSS
    • OSS versus free software versus copyrighted software?
    • Where do you find OSS?
    • Why OSS? How did the OSS movement occur?
    • Who are the developers?
    • Who are the users?
    • What kinds of applications are OSS?
  • Using OSS
    • How to become a user – locate, download, install, Get help,…
    • How to analyze a software project for appropriateness
    • How is it different from non-OSS software
    • Competitive analysis of projects from same domain
  • Participating in OSS Projects – The mechanics and practices
    • Licensing – oss versus free – legal issues
    • How to get started
    • How to get questions answered?
    • How OSS community works?
      • observe community/culture of open source software
        • Teams
        • Communication modes
        • SE Process
    • SE tools used in the projects
    • Enabling technologies
    • How to contribute to a project
  • Learning from the many available OSS projects
    • What process real developers follow?
    • What tools do developers use in these projects?
    • What kinds of behaviors do programmers have?
    • What problems do people have in developing software?

Requirements

University Requirements

UD email: Students who wish to receive their UD e-mail at a non-UD mailbox (e.g., AOL, Hotmail, etc.) must forward their UD e-mail to that mailbox and ensure that it is working so that they can receive and read official UD e-mail, including course-related materials, in a timely fashion. Instructions for forwarding are posted on the UD Network Page [www.udel.edu/network]

Course Requirements

There is considerable evidence that passive learning through listening to lectures is less successful in achieving learning objectives than students actively learning by doing. Most of the learning in this course will be through students' active learning and collaborating to help each other learn, with guidance and help from me. My main role will be as learning facilitator.

In this course, each student is expected to complete the following:

  • (xx%) Readings and short exercises
  • (xx%) Reflective wiki journal
  • (xx%) Team project
  • (xx%) Team tech talks
  • (xx%) Active, professional participation in class discussions and visits. Each student is expected to attend all class sessions and academic visits, and actively participate in the class discussions, actively ask questions on the visits, and provide peer feedback.

To be successful in this course, a student should use their problem-solving skills, be inquisitive about independently and collaboratively exploring the concepts being discussed, work to refine their communication skills, be proactive about asking questions on company and research lab visits and classtime, and use their conflict resolution skills in collaborative projects.

To gain the most knowledge and skills from the course, students are expected to

  • attend all class sessions and company and research lab visits
  • complete all assignments on time
  • contribute equally in group work
  • be proactive in asking questions on company/research lab visits
  • actively participate in class discussions
  • strive to improve their communication skills, both orally and written
  • be on time for leaving for company/research lab visits

Assessment

Each student's course grade will be computed based on the following:

ADD here

Group Work Grading: Group work will be graded, and then each individual's grade on the group project weighed based on student feedback on each student's participation in the project workload. If the student participated fairly equally in the workload, then each will receive the full earned grade. If the workload was very uneven, then a proportion of the earned grade may be assigned accordingly to the individuals. Each assignment will have a grading criteria provided when the assignment is given. Students will receive peer feedback on some of their work, but the assigned grade will be by the instructor, not based on student feedback.

Assignment Submission: Work to be graded must be given to the instructor by the start of class on the due date, in order to have no points deducted for lateness. The due dates are to be taken seriously and you should not expect them to be extended. The pace of work is implicit in the due dates and necessary if you expect to finish by the end of the semester. NO late work will be accepted FOR FULL CREDIT without discussion with me prior to the due date. If you can not reach me, leave a message on my voicemail or email. All other assignments not delivered by the due date are considered late.

Lateness: My philosophy on late assignments is: (1) Everyone should try their best to complete all assignments by the specified due date. (2) People who work conscientiously to make the deadlines should be rewarded for their promptness and sacrifice of sleep. Thus, allowing others to hand in late assignments without some penalty is not fair to these people. However, there are various circumstances that may prevent you from completing an assignment by the due date. Allowing no late assignments would not give you much incentive to continue to work on the assignment, which is a major source of learning in this course. Thus, I believe late assignments are better than no assignment.

Late assignments will be penalized 5% off the total possible points per 24-hour period (or fraction of a day) (including weekends) after the due date, up to a week after the due date. Late assignments will be accepted with penalty up to one week after the due date. Assignments submitted at any later time without an approved excuse will not be accepted. It is up to you to determine the version of your assignment to be graded. You must weigh the late penalty against the completeness of your assignment.

Regrading Policy: If you are dissatisfied with a grade on any work handed in, you should consult the instructor directly within a week of the day the graded assignment was returned to you. No regrade requests will be considered after this week period.

Posting Grades: With your permission, grades will be posted periodically (by your secret code) on the course website. Questions about accuracy of recorded grades should be addressed to me.

Academic Dishonesty: You are permitted to consult with other students and professors on any conceptual problems and projects designated as group work. Any evidence of collaboration other than this kind will be handled as stated in the Official Student Handbook of the University of Delaware. If you are in doubt regarding the requirements, please consult with me before you complete any requirement of this course.