Skip to main content
15 votes

What ethical practices do students (as potential software engineers) need to be trained in?

I'm going to begin by quoting Ken Thompson's Turing Award Lecture "Reflections on Trusting Trust" (link). To what extent should one trust a statement that a program is free of Trojan horses? ...
Peter's user avatar
  • 9,112
13 votes

Cheating on labs

I can only speak from a high school perspective as that is what I teach (14-18 years olds), and I truly feel your concern on this question. Biggest issues I have in my CS class are distracting ...
celeriko's user avatar
  • 231
13 votes

Cheating on labs

For me, labs are worth very little. The district sets them to be only 10% of the student's average. So I don't worry about them working together. In fact, I encourage it. What I tell students is that ...
Ryan Nutt's user avatar
  • 3,009
11 votes

How do I teach ethics in hacking?

I like your locksmith comparison, but I don't agree with the following assertion: From there, we arrive at this fine distinction: if a security feature is designed to keep you out, even if that ...
Arseni Mourzenko's user avatar
8 votes

Cheating on labs

At Denison, our intro class has labs designed around real world problems, and involves lab reports. This makes it a lot harder to cheat. We're not saying "implement quicksort", we're saying "write a ...
David White's user avatar
8 votes

Does/should a CS education include information about responsible use of human subjects in research

I would mention it in any class in which it is relevant, such as User Experience or where A/B testing might be used to show different users different versions of a website and measure their behavior. ...
Ellen Spertus's user avatar
7 votes

Classroom use of a limited port scan in the wild?

I taught a Cisco networking class for a couple of years and we had to stay off of the district network any time we were doing networking stuff. What I did was build a separate network in the middle ...
Ryan Nutt's user avatar
  • 3,009
7 votes

Cheating on labs

My main tool to prevent plagiarism on short beginner labs is to have a discussion with my students and to under-count them in grading. I explain to my students that cheating is a huge problem on CS ...
Ben I.'s user avatar
  • 34.3k
6 votes

How do I teach ethics in hacking?

First please be very cognizant of the term "hacking" Some of what you are describing is "cracking" not "hacking" The techniques may be the same but the intent is different. I think you are having ...
Ted Mittelstaedt's user avatar
5 votes

Who should own the intellectual property on a program developed in classes?

Who should and who does are often different. There are laws and contracts to consider as well as "common law." In my own view, forcing a faculty member to give up all rights to the intellectual ...
Buffy's user avatar
  • 36.8k
4 votes

Does/should a CS education include information about responsible use of human subjects in research

Although it's unclear how human subjects might somehow be used in CS research, I think that such ethics should be taught in all fields, and not just CS. Indeed, it is not needed more in CS than in ...
ItamarG3's user avatar
  • 6,312
4 votes
Accepted

Classroom use of a limited port scan in the wild?

In general is is unethical to teach people skills that they intend to employ to harm others. That said, it is hard to know the intent of your students. Do you have Beavis and Butthead in your class? ...
Buffy's user avatar
  • 36.8k
4 votes

What ethical practices do students (as potential software engineers) need to be trained in?

None. Yes, a bold statement, literally. So let me elaborate further. You cannot cover all potentially relvant aspects of "ethical practices" in a computer science course. Assuming that this is a ...
Marco13's user avatar
  • 141
4 votes

What ethical practices do students (as potential software engineers) need to be trained in?

What are the first steps a teacher should take in integrating ethics into the curriculum? I would begin with practical, everyday topics which every student can relate to, and which are (should be) ...
AnoE's user avatar
  • 1,509
4 votes

Cheating on labs

One option is to have a short closed-book in-class quiz after each lab assignment to test each student's understanding (which is a good thing to do even in the absence of cheating). For your sample ...
Ellen Spertus's user avatar
4 votes

Classroom use of a limited port scan in the wild?

It's certainly ethical to teach the existence of such tools. It's only unethical if the teacher neglects to teach the legality of these tools along with their existence, or if the teacher advises ...
thesecretmaster's user avatar
  • 4,805
4 votes

How do I teach ethics in hacking?

I would go about detailing how much profit a white hacker can get, seeing as many security companies hire them as test attackers. If any of the kids are tempted be unethical things, then explain ...
ItamarG3's user avatar
  • 6,312
3 votes

How do I teach ethics in hacking?

This seems insufficient to me, because of the following example at a minimum: In small towns, people do not lock their doors, or at least they did in bygone days of yore, or so the story goes. If you ...
Piyush Parikh's user avatar
3 votes

Cheating on labs

All the work we've done on in-flow peer review (see, for instance, our working group report) is aimed in part at this question. Overall, I believe we should rethink our curricula, pedagogy, and ...
Shriram Krishnamurthi's user avatar
3 votes

What ethical practices do students (as potential software engineers) need to be trained in?

Raise awareness of the issues, discuss historical (Therac 25 is an old but highly interesting case of software bugs directly causing people to get hurt) and current cases (EU/US safe harbor and ...
rackandboneman's user avatar
3 votes

Classroom use of a limited port scan in the wild?

Teaching about the existence of such tools is totally ethical. We need people who understand computer security, period. Mentioning the law is also almost self-apparently necessary. In my district, ...
Ben I.'s user avatar
  • 34.3k
3 votes

Who should own the intellectual property on a program developed in classes?

The 'best' approach is debatable, but you could argue that the easiest approach is to use a permissive license which places few restrictions on who can use the code and what they can do with it. ...
Sean Houlihane's user avatar
3 votes

Who should own the intellectual property on a program developed in classes?

In the software practicum that I teach, students develop new software for a real customer. My school has a standard software license agreement that the students, customer, and I must sign at the start ...
Edwin Torres's user avatar
  • 1,054
3 votes

What ethical practices do students (as potential software engineers) need to be trained in?

Teach them to be cautious. This may not sound like ethics, but actually it has a significant ethical effect. People - especially young men - who are very confident try all kinds of things, including ...
John Dallman's user avatar
2 votes

Cheating on labs

I just got a chance to read the article you linked to. As a teacher of CS50 AP, I can attest to the numerous solutions that are available online for all things CS50. It's almost unfair for a student ...
Peter's user avatar
  • 9,112
2 votes

Cheating on labs

In addition to all of the great answers here, one further tool to consider is MOSS (Measure of Software Similarity), which has been released for free to educators by Stanford: https://theory.stanford....
Ben I.'s user avatar
  • 34.3k
1 vote

How do I teach ethics in hacking?

If students are learning penetration tools and techniques, they should first be required to learn, at a minimum: What is illegal and the civil, criminal, and professional penalties (I have students ...
Bennett Brown's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible