51 votes
Accepted

Should test cases be made available to students for assessed assignments?

My best practice would be to provide students with test cases and require them to submit additional test cases with their code. Then run everyone's test cases against everyone's code. Let the students ...
user avatar
37 votes

What's the benefit of prohibiting the use of techniques/language constructs that have not been taught?

Rules like this are generally instituted because the teacher is attempting to teach a concept made moot by one of these constructs. For example, as a teacher, if you're teaching bitwise operators and ...
user avatar
  • 4,754
20 votes

What's the benefit of prohibiting the use of techniques/language constructs that have not been taught?

Where it stems from is, of course, because the lab is not the thing that the instructors want solved. After all, the lab problem is not an unsolved problem, and it will only be unique (if at all) in ...
user avatar
  • 31.6k
18 votes

Should test cases be made available to students for assessed assignments?

I've always released a number of test cases for the purposes of clarity. I do have to double- and triple-check that my unpublished test cases are nevertheless unambiguously specified in the ...
user avatar
  • 31.6k
10 votes

Should test cases be made available to students for assessed assignments?

TL;DR: If there's no special reason against it, release them before the assignments are done. If you'd like to keep them secret to the students while developing, I would still recommend releasing them ...
user avatar
  • 971
10 votes

What's the benefit of prohibiting the use of techniques/language constructs that have not been taught?

I think that the answer of thesecretmaster is correct but let me add a bit of advice to an instructor who would do this. Just as you, the OP, wonder yourself, the rule doesn't seem to make a lot of ...
user avatar
  • 35.1k
10 votes
Accepted

Object Oriented Software Engineering Project

Let me first make a suggestion. First, understand, yourself, what OO really means at a deep level. It is not, fundamentally, about inheritance, and when inheritance is employed it should be done so ...
user avatar
  • 35.1k
9 votes

Difficulty of algorithms homework problems

Homework problems in algorithms classes often involve finding clever tricks that the professors find elegant or interesting That seems like a strange way of teaching algorithms. It shouldn't involve ...
user avatar
  • 296
7 votes
Accepted

Using questions from a code-competition website in homework and exams

Whether this is a good plan or not depends on some things, most especially the nature of your students. However, it seems a bit too unstructured. If you have a general mix of student ability it ...
user avatar
  • 35.1k
7 votes

Should programming assignments be graded based on results from unit tests or based on the similarity to the correct implementation?

Actually, life isn't so simple as to choose one or the other here. Code needs to be well structured and it needs to be correct. Given that students are learning, you can't really expect that they will ...
user avatar
  • 35.1k
6 votes

Difficulty of algorithms homework problems

I had zero experience with algorithms when I started. Here are a couple of things I wish had been done differently. Let Students Make Mistakes My TAs and professors always tried to guide me to the ...
user avatar
6 votes
Accepted

How to motivate game design/development students to do more than the minimum on homework

Something I wasn't sure about when I was reading your post was if the problem is whether the issue is if students lack motivation or if they lack the ability to succeed in your course. If 30% of your ...
user avatar
  • 4,005
5 votes

How to motivate game design/development students to do more than the minimum on homework

Give credit where credit is due. Don't give credit for doing the minimum (handing in on time). Instead deduct credit for being late. They should feel lucky to get anything if they don't get it in on ...
user avatar
5 votes

How to motivate game design/development students to do more than the minimum on homework

The other answers are already very good, but I wanted to offer another suggestion: Students need to start smaller, and work in smaller increments. To oversimplify: students should start in Pong. ...
user avatar
5 votes

Should test cases be made available to students for assessed assignments?

The only time I would not provide them, is if you are asking the students to derive test cases. You should not be testing to see if they can guess the test cases. Success criteria, should always be ...
user avatar
5 votes

Should test cases be made available to students for assessed assignments?

Yes, Absolutely Test cases are necessary to communicate what you expect the student's program to do. Usually, instructors create 3-5 test cases and make at least 2 visible to the students. That way, ...
user avatar
5 votes

Debugging a submission that works well on student's computer but not on my computer

You've said that having an identical environment for everyone would be an incomplete solution, since students' code could still work "by accident" in that environment. One option would be to provide ...
user avatar
  • 519
5 votes

Object Oriented Software Engineering Project

If you're looking for AP Computer Science A-level object stuff, Greenfoot is excellent. It's an OO game-design environment created specifically for teaching about OO. It's free (though there is a ...
user avatar
  • 31.6k
4 votes

Should test cases be made available to students for assessed assignments?

Test cases are a great tool for students relatively new to the discipline. Since I teach CS50 AP, my students have access to the command-line tool check50, which ...
user avatar
  • 9,032
4 votes

A meaningful exercise that requires using a destructor

Create an object that creates a new file and writes in to it over several method invocations (not just one). Assure that the object has been deleted before continuing (Make the object go out of scope ...
user avatar
  • 35.1k
4 votes

Difficulty of algorithms homework problems

I have seen two approaches that work: Unplugged: Leave the computer, and design the algorithm. Use white boards, acting, puppets, physical objects, etc. (This method is best used when you don't yet ...
user avatar
4 votes

Difficulty of algorithms homework problems

I can offer two ideas here. The first is to try, whenever possible, to use some real world metaphor for the technical problem at hand. Railway sidings, card shuffling, etc. Some instructors use these ...
user avatar
  • 35.1k
4 votes
Accepted

Grading programming exercises: the quality vs. originality paradox

Let me suggest two things, but I don't know if they will solve the problem. The first is that once you set the rubric you are stuck with it until you publicly replace it. You may be right that there ...
user avatar
  • 35.1k
3 votes

Should programming assignments be graded based on results from unit tests or based on the similarity to the correct implementation?

I agree with Buffy, the question would be perfect for cseducators SE. But still, I try to give an answer which might be generalized to other disciplines as well: Of course, this is absolutely ok - ...
user avatar
  • 594
3 votes

A meaningful exercise that requires using a destructor

There are 2 good examples of patterns where the destuctor is a key. This way you can teach a couple of useful patterns on the way. RAII - Resource Acquisition Is Initiation Rule of 3/5/0 It's ...
user avatar
3 votes
Accepted

Encouraging Critical Thinking On Programs Before Students Write Them

I agree very much with ctrl-alt-delor that the level of "total novice" might be rather early to introduce larger-scale meta-design techniques into coursework. The work being done at that level simply ...
user avatar
  • 31.6k
3 votes

How to motivate game design/development students to do more than the minimum on homework

I'm worried that you may be diagnosing the problem incorrectly. Of course, I don't know the exact situation you have and am trying so recommend based on incomplete information. But you give a few ...
user avatar
  • 35.1k
3 votes

What's the benefit of prohibiting the use of techniques/language constructs that have not been taught?

In addition to the good reasons given in the other answers: Sometimes students find code on the Internet that they can just copy into the assignment without understanding. In a coding class it seems ...
user avatar
  • 139
3 votes

Debugging a submission that works well on student's computer but not on my computer

Your student/staff ratio is pretty unfavorable. This makes everything difficult. If you had a few more TAs or could find the schedule time, I'd make one of the TAs the person to handle all such ...
user avatar
  • 35.1k
3 votes

Debugging a submission that works well on student's computer but not on my computer

As early as possible in the course, and again when appropriate examples arise, you should "round up the usual suspects." (It's a Dick Tracy reference, but that does not really help.) You could ...
user avatar

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