Legal and Ethical Concerns CSP Lesson
- AP Computer Science Principles: Legal and Ethical Concerns
- Is It Legal?
- Unsorted Cards
- ✓ Legal
- ✗ Illegal / Unethical
- You got " + correct + " / " + total + " (" + pct + "%)
AP Computer Science Principles: Legal and Ethical Concerns

Overview
- Computing innovations provide significant benefits, but they also introduce legal and ethical challenges.
- Understanding these concerns helps developers and users make responsible decisions about technology.
- This topic focuses on analyzing real-world scenarios rather than memorizing definitions.
Intellectual Property
- Intellectual property refers to creations such as code, images, writing, and digital media.
- There are several types of protection:
- Copyright: Protects original works like code, text, and media.
- Patents: Protect inventions and technological processes.
- Trademarks: Protect brand names, logos, and symbols.
- Trade Secrets: Protect confidential business information.
- Creators automatically own their work, and others must have permission or follow licensing rules to use it.
- Using someone else’s work without credit is considered plagiarism and is both unethical and often illegal.
Open Source and Licensing
- Some creators allow others to use and modify their work through licenses.
- Common models include:
- Open Source: Code is publicly available for use and modification.
- Creative Commons: Allows reuse of media under specific conditions.
- Open Access: Provides free access to research and information.
- Even when content is free, licenses define how it can be used, shared, or modified.
Data Privacy and Security
- Many applications collect user data, raising concerns about how that data is handled.
- Key issues include:
- Privacy: Who has access to personal data.
- Security: How well data is protected from breaches.
- Consent: Whether users understand and agree to data collection.
- Terms of Service agreements outline how data is used, but users often do not fully read or understand them.
- A practice can be legal but still raise ethical concerns.
Broader Ethical Issues in Computing
- Digital Divide: Unequal access to technology across different groups.
- Algorithmic Bias: Programs that produce unfair or discriminatory outcomes.
- Surveillance: Continuous monitoring and data collection by organizations or governments.
- Technology can have both positive and negative impacts on society depending on how it is used.
Legal vs Ethical
- Legal: What is permitted by law.
- Ethical: What is considered morally right or fair.
- These are not always the same. An action can be legal but still unethical.
Legal OR Ethical?
- Step 1: Check the law — Does it break copyright, licensing agreements, or regulations?
- Step 2: Check permissions — Did the creator give explicit permission (license, attribution, etc.)?
- Step 3: Consider harm — Could this action harm individuals, groups, or society?
- Step 4: Consider fairness — Does this action treat people equally, or create bias/unfair advantage?
- Step 5: Transparency — Are users aware of what is happening (especially with data)?
- Conclusion:
- Legal + Ethical → acceptable
- Legal but Unethical → gray area
- Illegal → not allowed
Responsible Computing
- Developers and users have responsibilities when working with technology.
- Important practices include:
- Avoid causing harm to users.
- Protect user privacy and data.
- Be honest and transparent.
- Give proper credit for others’ work.
- Responsible disclosure involves reporting security issues privately instead of exploiting them.
What to Expect on the AP Exam
- Questions are often scenario-based and require reasoning.
- You may be asked to determine:
- Whether an action is legal or not.
- Whether an action is ethical or not.
- How licensing rules apply in a situation.
- Focus on understanding trade-offs and the real-world impact of computing decisions.
Summary
- Computing introduces both legal and ethical challenges.
- Key areas include intellectual property, licensing, privacy, and societal impact.
- Always evaluate both legality and ethical responsibility when analyzing a situation.
%%html
<h2>Is it Legal? Card Sorting Game</h2>
<h1>Is It Legal?</h1>
<p>Drag each scenario card into the correct column. Click <strong>Check Answers</strong> when done.</p>
<table width="100%" border="0" cellpadding="8">
<tr>
<td width="33%" valign="top">
<h2>Unsorted Cards</h2>
<div id="unsorted"
ondragover="allowDrop(event)"
ondrop="drop(event, 'unsorted')"
style="min-height:400px; border:2px dashed rgb(179, 175, 175); padding:8px;">
</div>
</td>
<td width="33%" valign="top">
<h2>✓ Legal</h2>
<div id="legal"
ondragover="allowDrop(event)"
ondrop="drop(event, 'legal')"
style="min-height:400px; border:2px dashed green; padding:8px;">
</div>
</td>
<td width="33%" valign="top">
<h2>✗ Illegal / Unethical</h2>
<div id="illegal"
ondragover="allowDrop(event)"
ondrop="drop(event, 'illegal')"
style="min-height:400px; border:2px dashed red; padding:8px;">
</div>
</td>
</tr>
</table>
<br>
<button onclick="checkAnswers()" style="padding:12px 20px; font-size:16px; border-radius:6px; border:none; cursor:pointer;">Check Answers</button>
<button onclick="resetGame()" style="padding:12px 20px; font-size:16px; border-radius:6px; border:none; cursor:pointer;">Reset</button>
<br><br>
<div id="result"></div>
<script>
var cards = [
{ id: "c1", scenario: "You find a song you love on a torrent/crowdsourced site and download it for free without paying.", isLegal: false, reason: "Downloading copyrighted music without permission or payment is copyright infringement under U.S. copyright law." },
{ id: "c2", scenario: "You use a photo from Flickr with a Creative Commons Attribution license and credit the original photographer.", isLegal: true, reason: "Creative Commons Attribution licenses allow free use as long as you credit the creator — which you did." },
{ id: "c3", scenario: "A classmate submits code from GitHub as their own AP Create Task without crediting the original author.", isLegal: false, reason: "This is plagiarism. College Board policy requires acknowledgment of code not written by the student." },
{ id: "c4", scenario: "A company publishes its software under an MIT open-source license, allowing anyone to use, copy, and modify it freely.", isLegal: true, reason: "The MIT license is a legally recognized way to share intellectual property — the creator has explicitly granted these rights." },
{ id: "c5", scenario: "You purchase one license for a photo editing app and install it on 30 school computers for the whole class.", isLegal: false, reason: "A single-user license only permits one installation. Installing on 30 machines violates the terms of service and copyright law." },
{ id: "c6", scenario: "A hiring algorithm trained mostly on male applicant data consistently ranks female candidates lower.", isLegal: false, reason: "Algorithmic bias producing discriminatory outcomes can violate employment discrimination laws, even if unintentional." },
{ id: "c7", scenario: "A developer releases a project under a GNU GPL license, requiring anyone who modifies and distributes it to also release their changes openly.", isLegal: true, reason: "The GPL is a legitimate open-source license. Its copyleft requirement is a legal condition set by the original author." },
{ id: "c8", scenario: "A student streams a copyrighted movie for free on an unauthorized website to avoid paying for a subscription.", isLegal: false, reason: "Streaming copyrighted content from unauthorized sources is copyright infringement, even without downloading." },
{ id: "c9", scenario: "A school district provides high-speed internet and new devices only to schools in wealthier neighborhoods.", isLegal: false, reason: "This may violate equal access provisions under education law and is a clear ethical violation related to the digital divide." },
{ id: "c10", scenario: "A researcher searches a database of open-access scientific journals and compiles a list of article links on a topic.", isLegal: true, reason: "Open-access articles are published for free public use. Aggregating links (not copying content) raises no copyright concern." }
];
function shuffle(arr) {
for (var i = arr.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp;
}
return arr;
}
function buildCard(card) {
var div = document.createElement("div");
div.id = card.id;
div.draggable = true;
div.setAttribute("data-id", card.id);
div.ondragstart = function(e) { dragStart(e); };
div.style.border = "1px solid black";
div.style.padding = "10px";
div.style.marginBottom = "8px";
div.style.background = "white";
div.style.cursor = "grab";
div.style.color = "black";
div.innerHTML = "<p>" + card.scenario + "</p>";
return div;
}
function initGame() {
var unsorted = document.getElementById("unsorted");
unsorted.innerHTML = "";
document.getElementById("legal").innerHTML = "";
document.getElementById("illegal").innerHTML = "";
document.getElementById("result").innerHTML = "";
var shuffled = shuffle(cards.slice());
for (var i = 0; i < shuffled.length; i++) {
unsorted.appendChild(buildCard(shuffled[i]));
}
}
var draggedId = null;
function dragStart(e) {
draggedId = e.currentTarget.getAttribute("data-id");
e.dataTransfer.effectAllowed = "move";
}
function allowDrop(e) { e.preventDefault(); }
function drop(e, zoneId) {
e.preventDefault();
if (!draggedId) return;
var el = document.getElementById(draggedId);
if (el) { el.style.background = "white"; document.getElementById(zoneId).appendChild(el); }
draggedId = null;
}
function checkAnswers() {
var correct = 0;
var total = cards.length;
for (var i = 0; i < cards.length; i++) {
var card = cards[i];
var el = document.getElementById(card.id);
var parent = el ? el.parentElement.id : "";
var inLegal = parent === "legal";
var inIllegal = parent === "illegal";
if (!inLegal && !inIllegal) { el.style.background = "lightyellow"; continue; }
var guessedLegal = inLegal;
if (guessedLegal === card.isLegal) {
correct++;
el.style.background = "lightgreen";
el.innerHTML = "<p>" + card.scenario + "</p><p><strong>Correct!</strong> " + card.reason + "</p>";
} else {
el.style.background = "#ffcccc";
var correct_label = card.isLegal ? "Legal" : "Illegal/Unethical";
el.innerHTML = "<p>" + card.scenario + "</p><p><strong>Incorrect.</strong> This is " + correct_label + ". " + card.reason + "</p>";
}
}
var pct = Math.round((correct / total) * 100);
var msg = pct === 100 ? "Perfect score! You know your IP law." : pct >= 70 ? "Good work! Review the ones you missed." : "Try again!";
document.getElementById("result").innerHTML = "<h3>You got " + correct + " / " + total + " (" + pct + "%)</h3><p>" + msg + "</p>";
}
function resetGame() { initGame(); }
initGame();
</script>
Is it Legal? Card Sorting Game
Is It Legal?
Drag each scenario card into the correct column. Click Check Answers when done.
Unsorted Cards |
✓ Legal |
✗ Illegal / Unethical |