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:
- All published works (books, magazines, etc)
- All work on the Internet (because that is publishing), including emails.
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
-
Can programs be copyrighted?
Copyright generally applies to programs. If you write software and want to
release it to the world, look at some of the common software licenses, like the
Apache License, The Gnu Public License, or the Free BSD license.
-
An algorithm would not seem to be copyrightable, but rather patentable.
That means that unless the authors/inventors of an algorithm have a patent,
you can freely use that algorithm.
-
Functionality, interface, look-and-feel:
There was a famous court-case in the 90's in which Apple claimed that Microsoft
infringed on Apple's copyright by imitating the look and feel of its graphical
user interface in Windows.
They lost!
Note: They did win one small part of the suit, because the folder and trash
can icon in an HP application running on Windows was deemed to infringe.
So, look-and-feel, interface, functionality are not copyrightable.
However, something like an icon is; this makes sense, since it is on its own
copyrightable like a normal work of art.
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:
- Quoting passages for review or criticism
- Making copies of articles or book chapters for private study, scholarship, or non-commercial research
- Showing a film during class for the purpose of criticism and comment
- Creating a parody of an existing work
"[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.
- 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?
Answer:
Yes
- Can you make multiple copies of the pseudo-textbook
described in 1 above at Kinkos and then sell these copies on
e-bay?
Answer:
No
- Would your answer to 2 change if you didn't charge folks
money for the copies?
Answer:
No
Collaboration and Plagiarism
Definitions
- Collaboration
- "The act of working with another or others on a joint project" (freedictionary.com)
- Joint: undertaken or produced by two or more in conjunction or in common" (dictionary.com)
- Plagiarism
- "The use of another's original words or ideas as though they were your own" (plagiarism.org)
- "To steal and pass off (the ideas or words of another) as one's own" (m- w.com)
- "To use (another's production) without crediting the source" (m-w.com)
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
- No collaboration Example: IC210 Programming projects
- Collaboration where "end result must be your own work": Example: IC210 labs
and homework. Some tips for safe collaboration for this case:
- Do not work on media you plan to turn in. If your deliverable is
a program, work on paper or whiteboard
- Do not discuss the solution directly. Gear your discussion
toward what topics are relevant from the course and how they might be
used
- Do not copy directly from any joint work. Understand the
work you did jointly, then do your own work
- Declare any collaboration at the time of submission. Not doing
this starts to move you closer toward plagiarism
- Collaboration where final result is shared: Team assignments (in later courses)
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
- ACM:
The Association for Computing Machinery (ACM) claims to be the world’s largest
educational and scientific computing society. It sponsors the ACM Turing Award,
which some call the “Nobel Prize in Computer Science.” ACM Student Memberships
begin at $19. The ACM Digital Library, which is accessible by Midshipmen for
free via when accessed via the Naval Academy network, is a vast collection of
articles from conferences and journals on a wide variety of computing
disciplines. The ACM also sponsors Special Interest Groups (SIGs) on many
topics, ranging from computer architecture and artificial intelligence to
software engineering. ACM’s web site also includes a list of the many technical
conferences they sponsor around the globe.
- IEEE CS:
The Institute of Electrical and Electronic Engineers, or IEEE, is an
engineering professional society, founded in 1963. It is comprised of 38 member
societies, one of which is the IEEE Computer Society. The IEEE also sponsors
many technical conferences around the world each year, and publishes a wide
range of magazines and journals. The IEEE Explore digital library, containing
millions of technical documents, is available free to Midshipmen through the
USNA network. Student membership in the IEEE Computer Society is currently $40.
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
-
VGEP: VGEP allows up to 20 Midshipmen to attend grad school in the local area,
beginning in Spring semester 1/c year. Midshipmen must have at least a 3.2 QPR
and a “B” or higher in Military Aptitude and Conduct. Midshipmen should be able
to complete their normal course of study at USNA by the end of Fall semester,
1/c year (except for the Junior Officer Practicum NS43X). Students in CS will
attend Johns Hopkins University full-time. The M.S. degree is normally attained
by the December after USNA graduation.
- Civilian Scholarship Programs: There are a variety of other opportunities
for outstanding Midshipmen to study on scholarship at civilian institutions.
There are sponsored CS programs at UT-Austin, MIT with Draper Labs, MIT
with Lincoln Labs, the University of Pennsylvania, and numerous programs
associated with the UK-ISP national competitions (Rhodes, Marshall, Gates,
Church, Mitchell, and Rotary) and USNA competitions (Pownall, Fitzgerald,
Nolan, and Kings). In addition, the Burke program allows you to apply for
delayed graduate studies, usually at NPS, after your first fleet tour.
-
Naval Postgraduate School: The Naval
Postgraduate School offers Master’s Degree programs in Computer Science
and Software Engineering. In addition, its MOVES Institute offers a program in
modeling and simulation. Navy and Marine Corps Officers are eligible to enroll,
and should work with their fleet community detailers.
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.
|