Hot answers tagged

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? ...
  • 9,032
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 ...
  • 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 ...
  • 3,039
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 ...
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 ...
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. ...
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 ...
  • 3,039
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 ...
  • 31.7k
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 ...
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 ...
  • 35.1k
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 ...
  • 6,227
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? ...
  • 35.1k
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 ...
  • 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) ...
  • 1,379
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 ...
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 ...
  • 4,754
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 ...
  • 6,227
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 ...
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 ...
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 ...
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, ...
  • 31.7k
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. ...
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 ...
  • 1,044
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 ...
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 ...
  • 9,032
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....
  • 31.7k
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 ...

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