Copyright, Collaboration and Plagiarism

Today's class will cover two important topics for your professional development as computer scientists. Expect one lecture like this in each of your CS major courses, and take the opportunity to think about your life as a programmer outside the classroom.

Copyright

Purpose

The purpose of copyright is to protect authors' ability to profit from their own work and control its distribution.

What is protected?

Copyrights typically pertain to a written document (including all graphics, etc). Examples include: Note that it must be a tangible item if it is to protected by copyright. For example, spoken words can not be copyrighted!
"Copyright protects the particular way authors have expressed themselves. It does not extend to any ideas, systems, or factual information conveyed in a work." — http://www.copyright.gov/fls/fl102.html

Programs vs. algorithms and look-and-feel/functionality

Public domain

Copyright protections in the U.S. date from 1790 and have always applied for only a limited duration, although that duration has been extended dramatically over the last century. Generally, if something is under copyright, that means you cannot copy it (duh), share it, or republish it without the copyright holder’s permission.

Once the copyright term of a work runs out, it is in the public domain and can be freely used by anyone. For example, on Jan. 1, 2022, A.A. Milne’s original Winnie-the Pooh stories entered the public domain. The silly old bear has even been reimagined as a killer in a horror film Winnie the Pooh: Blood and Honey..

In some cases (such as works created by U.S. federal employees as part of their job), copyright never applies and the work goes into the public domain immediately.

Copyright and Fair Use

Even when a work is under copyright, there are some legal exceptions that allow you to violate copyright under certain circumstances, even without the copyright holder’s permission. This is called fair use, and it's important to understand what limited circumstances allow it.

Some examples of fair use include:
"[A] reviewer may fairly cite largely from the original work, if his design be really and truly to use the passages for the purposes of fair and reasonable criticism. On the other hand, it is as clear, that if he thus cites the most important parts of the work, with a view, not to criticize, but to supersede the use of the original work, and substitute the review for it, such a use will be deemed in law a piracy ... " — Judge in Joseph Story in Folsom v. Marsh.

Quick Check

Answer the following questions according to Copyright Law as applied to online materials.
  1. On some other school's website, you find the online notes for a course similar to IC210. They are publicly available on that website, and you find them helpful. Can you legally download these notes and then bundle them into a pseudo-textbook for your own personal use?
  2. Answer:

    Yes
  3. Can you make multiple copies of the pseudo-textbook described in 1 above at Kinkos and then sell these copies on e-bay?
  4. Answer:

    No
  5. Would your answer to 2 change if you didn't charge folks money for the copies?
  6. Answer:

    No

Collaboration and Plagiarism

Definitions

Example 1

You are struggling with a lab so ask your friend for help. She already finished that part of the lab, so she just sends you her source code. You copy the relevant part into your own program, changing some variable names so that it fits in with your code.

This is not collaboration. Your friend was already finished and did not work with you in any way. If you did not say that you copied that segment of code from your friend, then you have also committed plagiarism. In IC210 (and most of your computing classes), this would not be permitted for assigned work, even for simple homeworks.

Example 2

You can't figure out a homework problem, so you search Google for the part you are stuck on. You find a StackOverflow page that has a few key lines of code which you need — hooray! You copy those lines into your program and submit it.

This is allowed in IC210 for homeworks and labs, but must be cited. If you do not cite (in comments) that you took this part of code from StackOverflow, then you are committing plagiarism by claiming that work is your own.

Three Levels of Collaboration

If you are not sure...

More examples

These two MIDN said they collaborated:
MIDN 1 MIDN 2

void quicksort(vector<int> &A, int i, int j){
  if(i>=j)
    return;
  int part=A[i];
  int temp=partition(A,i,j,part);
  //check empty partition
  if(temp<=i)
    quicksort(A,i+1,j);
  else if(temp>=j){
    swap(A[i],A[j]); //A[i] is greatest value
    of the list
      quicksort(A,i,j-1);
  }
  else{
    swap(A[i],A[temp]);
    quicksort(A,i,temp);
    quicksort(A,temp+1,j);
  }
}

void quicksort(vector<int> &A, int i, int j){
  if(i < j){
    int q = partition(A, i, j, A[j]);
    //empty partition is all the way to the left
    if(q < i){
      quicksort(A,i+1,j);
    }
    //empty partition is all the way to the right
    else if(q>j){
      quicksort(A,i,j-1);
    }
    else{
      quicksort(A,i,q-1);
      quicksort(A,q+1,j);
    }
  }
}

Discussion:

Although representing the same idea, the above code snippets look different from
each other.  We can accept their claim. 

MIDN 3 said MIDN 2 helped him/her:
MIDN 2 MIDN 3

void quicksort(vector<int> &A, int i, int j){
  if(i < j){
    int q = partition(A, i, j, A[j]);
    //empty partition is all the way to the left
    if(q < i){
      quicksort(A,i+1,j);
    }
    //empty partition is all the way to the right
    else if(q>j){
      quicksort(A,i,j-1);
    }
    else{
      quicksort(A,i,q-1);
      quicksort(A,q+1,j);
    }
  }
}

void quicksort(vector<int> &A, int i, int j){
  if(i < j){
    int q = partition(A, i, j, A[j]);
    //empty partition is all the way to the left
    if(q < i){
      quicksort(A,i+1,j);
    }
    //empty partition is all the way to the right
    else if(q>j){
      quicksort(A,i,j-1);
    }
    else{
      quicksort(A,i,q-1);
      quicksort(A,q+1,j);
    }
  }
}

Discussion:

MIDN 3 was found to have committed a dishonorable act by an honor board

These two MIDN said they did not collaborate on a programming project
MIDN 4 MIDN 5

...
  else if(let=="nl"){
    let="\n";
    lettercount=(num*-1);
  }
  else if(let=="tb"){
    num=lettercount%tabsize;
    let=" ";
    num=tabsize-num;
  }
  cout<<let;
  count=count+1;
  lettercount=lettercount+1;
}
count=0;
fin>>num;
if(num<0){
  tabsize = -1*num;
  fin>>num;
}

...
  else if(letter == "nl"){
    letter = "\n";
    lettercount = (number * -1);
  }
  else if(letter == "tb"){
    number = lettercount % tab;
    letter = " ";
    number = tab - number;
  }
  cout<<letter;
  count=count+1;
  lettercount=lettercount+1;
}
count=0;
fin >> number;
if(number < 0){
  tab = -1 * num;
  fin >> num;
}

Discussion:

MIDN 5 was found to have committed a dishonorable act by an honor board

Further Readings on Copyright and Plaigiarism

Continuous Learning Opportunities

The following sections summarize many of the continuous learning opportunities available to Midshipmen in the Computer Science Department at the USNA, both during their studies and after graduation. The Computer Science Department is committed to the notion of lifelong learning, and wholeheartedly supports all these opportunities as a complement to its course of instruction in the classroom.

Summer Internships

Though they may vary from year to year due to funding, the CS Department supports multiple internships. Summer internships count as professional training, so they replace other afloat assignments rather than leave. Internships are awarded on a competitive basis when the number of applicants exceeds the number of available positions. The info briefs and the application process normally begin in October/November.

Research Classes

Midshipmen interested in pursuing research for course credit may work with faculty to do so. Midshipmen must have a 3.0 or higher QPR, a faculty sponsor, and completed 22 hours of the CS major. Proposals must be approved by the department's Research Committee. Midshipmen will not normally be approved to conduct more than one research class at a time.

Extracurricular Activities

The department supports the Machine Learning Team (MLT) ECA and Cyber Security Team ECA. The ECA members meet to discuss the latest developments in their respective fields and to occasionally participate in local, national, and international competitions.

The department annually participates in the NSA-sponsored Cyber Defense Exercise, or CDX, which normally occurs in April. Preparation for the exercise begins months prior, and the competition is open to all Midshipmen. The event often garners national media attention, and has high visibility with USNA’s leadership.

The department annually participates in the UMD/USNA-sponsored Data Science Challenge, which normally occurs in March. The event is open to all Midshipmen. Teams work on making sense of data sets donated by different sponsors, bringing new insights and helping them understand their data and making better decisions.

The department also supports the Women in Cybersecurity and Computing (WICC) ECA. WICC was created to inspire and empower women by providing a sense of community and support for women interested in technology-related careers or fields. The members participate in MOs to attend and organize conferences and volunteer in STEM activities. Contact Prof. Crainiceanu for more information.

Trident Scholar and Bowman Scholar

Trident Scholar is a program that allows a few exceptional Midshipmen to pursue independent research during their 1/c year. Trident scholars are selected competitively, from across all the departments on the yard, based on the quality of their presented research proposal. Trident scholar applicants must be in the top 15 percent of their class at the end of Fall semester, 2/c year. During the Spring semester of 1/c year, Trident Scholars present their research publications at the annual Trident Scholar conference at USNA. Trident Scholars are eligible for funds from agencies like NRL to purchase equipment for their research. Interested Midshipmen should work with faculty to develop a proposal during the course of 2/c year.

The Bowman Scholar program is an opportunity for Midshipmen to select early for the nuclear navy, during their 2/c year, while also pursuing research. Bowman applicants must have at least a 3.2 QPR and be in the top half of their class by military order of merit. In conjunction with early acceptance into the nuclear power program, selected scholars perform a research internship during 1/c summer, a research course during 1/c fall, and some will be able to attend NPS immediately following graduation to obtain a Master’s Degree.

ACM and IEEE Computer Society

Upsilon Pi Epsilon

Founded in 1967, UPE is an international honor society for the computing and information disciplines. USNA has an active chapter, which annually inducts new members from the department. UPE is fully endorsed by the ACM and the IEEE Computer Society.

Graduate School

There are several scholarship opportunities that allow Midshipmen to attend graduate school immediately following graduation from USNA, en route to a service assignment. Program instructions are available on the USNA intranet, and applications are submitted through MIDS. Program briefings will normally be given around March of 2/c year. If interested, work hard to maximize your QPR and work with your adviser during 3/c year to ensure your matrix supports a particular program. i

Here are useful links:

The GRE, or Graduate Record Examination, is a nationwide exam often used by graduate schools for admissions. There is a "general" GRE and there are subject-specific GREs. If you plan to apply to graduate school in the near future, you should consider taking the GRE and having your scores sent to graduate institutions. Be sure to check whether your graduate school would like to see scores on the general exam, a subject-specific exam (e.g., the Computer Science GRE), or both. A good time to take the GRE is near the end of your 1/c year, or soon after graduation, while the bulk of the material is relatively fresh in your mind.