I found the -1 in the return of get_value_frommatrix confusing, maybe replace it by a ? or a
Exercise 5:
I struggled with the round brackets in row = ... they have to be there or it doesn't work
Maybe again mention that they should replace the 5, at first I wondered what that 5 was doing there
Exercise 6
Adding print() statements in the function definition helped a lot but I assume you will explain that
Again it's mor clear if you tell them they have to relace the zeros
Exercise 7
Maybe here also indicate a bit more where they have to make changes
cost is never used in the example code
Also mention that what you want to return is the elements in the right lower corner. I know you mentioned it in the explanation of the dynamic programming but it doesn't hurt to repeat it for the chaotic learners :)
When the inputs have different lengths my initial code (based on your example code) threw an out-of-bound error
I really spent 20 min to figure out that col and row have to be switched when you use them as indices.
When you want to use row to loop over the characters in queryA (this makes the columns in the matrix) and col to loop over queryB, col has to be the row index and row has to be the col index in m.
This was really confusing (or maybe I just fucked up I don't know - the code below gives the right outcomes for the assertions).
I also added an extra simple assert because the example with kitten and sitting is too hard to figure out what's wrong.
Exercise 4:
Exercise 5:
Exercise 6
Exercise 7