Feedback request: an assignment on programming a research paper

I am teaching an elective course on algorithms for 3rd year undergraduates. There are 12 weekly assignments, each of which is worth 1% of the grade, and a final exam which is worth 88%. I would like to encourage the higher-level students to get into research, and to this end I would like to first encourage them to read research papers. So I plan to add a bonus assignment on research papers related to the course topic. My current plan is to offer them a list of papers and have each student pick a different one. The assignment will have 4 parts, each of which is worth 6% bonus points:

Parts 1+2: understanding the paper

1. Summarize the paper in your own words: what problem is the paper trying to solve? What are the existing solutions? What is the new algorithm? What problems are left for future work?
2. Construct at least 3 substantially different examples for the algorithm presented in the paper (besides the examples given in the paper, if any): run the algorithm by hand on each example, and show that the outcome indeed satisfies the output guaratees of the algorithm.

Parts 3+4: programming the algorithm

1. Write in Python (or another programming language) a skeleton of an implementation of the main algorithm in the paper. A "skeleton" is the heading of a function, without the function implementation. Write unit-tests based on your examples from part 2.
2. Program the algorithm and test it.

The idea of the programming part is that programming an algorithm requires a very detailed understanding of the algorithm. Additionally, my students are very good at programming, but not as good at reading research papers, so this part of the exercise is like a bridge between what they are good at and the new skill I would like them to learn.

I will be happy for feedback and further suggestions regarding this plan, both in general (e.g. is this indeed a good way to encourage good students to get into the world of research?) and in the details (e.g. is the partition to 4 parts reasonable?).

• How do you finesse 106%? And I worry a lot about such a high-risk final exam. Oct 12 '20 at 17:49
• Say something, somewhere about your students. For most students with diverse backgrounds this overall course design is a disaster. If they are all extremely well prepared and motivated it might work, but not in general. Somewhere I think you said you teach in a military academy. Perhaps there is some external motivation here. Some course designs work with people (and only them) who don't need teaching and the only function of the instructor is to sort them into grade levels. Somewhat like the sorting hat at Hogwarts. Oct 12 '20 at 19:40
• @Buffy the setting without the bonus assignment worked very well last year - student feedback was excellent. So I want to keep the same scheme as much as possible, just add a bonus exercise. Oct 13 '20 at 7:08

With regards to your setup, one concern that I have is that the steps might not make a lot of sense, at least as written. It would be very useful if you provided one exemplar of what you mean for a summary to look like, and what you would like an algorithm "run by hand" to look like. For the first part, a summary could mean two sentences, or it could mean a few pages with diagrams that break down the activity. As for the second, I am not sure what is meant by "run by hand", and it would not surprise me in the least if others also find it confusing.

Now, there is the question you didn't ask. Structurally, a course with 88% of the grade as a final exam is, for all functional purposes, a course with 100% of the grade as a final exam. Why devalue all of the work, and permit a single bad day to destroy a student's entire semester (and possibly put their entire academic career at risk?)

I once had a student come into an exam several hours after her mother and brother died in a catastrophic car accident. She didn't say anything, sat for the exam, worked on only two of the problems, turned it in and walked out of the room. This was not for a super-high-stakes final, just for a regular quiz!

I only found out several days later what had happened. I quietly threw out the quiz, and gave her a new one after she returned and had had some time to pull her academic life back in order.

I have had students come in after catastrophes, I've had them come in sick, I've had them come in after relationship breakups... none of these were students that came in at my request. They just showed up. These experiences have made me very wary of single-entry, "do or die" exams.

Why not three exams at 22%, 22%, and 44%? This softens the "bad day" problem, and also gives students at least some feedback along the way to help them right the ship if they think that they're in better shape than they really are.

Remember that we don't teach topics, we teach people. They are our charges, and we are ultimately there to help them.

• I agree completely, but it isn't an answer. I would add, for the question at hand, why such a lot of work for something essentially inconsequential? Oct 12 '20 at 19:36
• @Buffy My first paragraph is my answer.
– Ben I.
Oct 12 '20 at 21:20
• Thanks for the feedback, I will clarify the instructions accordingly. By "run by hand" i just mean writing down the steps of execution of the algorithm on a sample input. We do it all the time on the blackboard when we teach algorrithms (e.g. think of how you teach quicksort, BFS, etc.), so students should know what it means. It is still not trivial since it requires to understand the details of the algorithm. Oct 13 '20 at 7:13
• @ErelSegal-Halevi, I have to suggest that your university re-think its priorities and policies. It seems, in effect, to prioritize budget over student learning. The policies lead to sub-optimal outcomes. And, of course, those 6-9 different exams aren't comprehensive, but cover only sections of the course. It is a partitioning problem not a "quantity" problem. Oct 13 '20 at 13:39
• Hmmm. My doctorate is from a public institution. Masters too. Learning needn't suffer. Policies matter. Oct 13 '20 at 22:06