50
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 ...
38
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 ...
24
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 posed lab problem is not unsolved, and your solution will only be unique (if at all)...
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 ...
11
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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. ...
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 ...
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, ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 - ...
3
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
homework × 15programming × 3
grading × 3
undergraduate × 2
algorithms × 2
object-oriented-paradigm × 2
ap-computer-science-a × 2
exercises × 2
c++ × 2
student-motivation × 1
project × 1
textbook × 1
functional-programming × 1
computational-thinking × 1
ap-cs-principles × 1
exams × 1
resource-information × 1
debugging × 1
scientific-papers × 1
course-design × 1