"Did you eat them?"
Once again (I think) Duo is switching question and answer and expecting no problems; unfortunately, question and answer switching frequently leads to problems. Given "Mlivila?" there is basically only one translation in English "Did you eat them" and we might guess the "vi" refers to "vyakula" although it could be anything (edible) in the KI/VI class. However, switching question and answer, we are now given "Did you eat them?" in English and asked to translate to Swahili. Two problems arise immediately: i) is this singular "you" or plural "you"? and ii) what is "them" -- could be mayai (-ya-), could be mboga (-zi-), could be vyakula (-vi-), could be kuku (-wa-). So by inverting question and answer, Duo now has to make allowances for maybe ten correct answers or more: uliyala, ulizila, ulivila, uliwala, mliyala, mlizila, ... and so forth.
My point is Duo can do this question and answer switching (it seems to be built in to the foundations of the program) but somebody has to be prepared for what happens -- the new question often has many correct answers. Picking only one as "THE ONE" correct answer leads user frustration and confusion.
Assuming the noun-class is one of the things that is frustrating in this course. It often seems to want the KI/VI class with no other context, but not always. Depending on the surrounding context, it should accept -i-, -ya-, -vi-, or -zi- (or if we're talking about animals or even people, then -wa-) ...
The reason why -ku- is missing is easier to explain. Whenever there's an object marker, the -ku- of monosyllabic verbs is dropped.
To go more in depth, the reason behind this is fairly complex to explain, but may help you understand where and why this -ku- appears and disappears.
There are certain parts of verbs that can't be stressed and when they would be the second last syllable, -ku- kind of jumps in front to take the bullet and save the day. I'll highlight the stressed syllable in these examples.
The positive tense markers -na-, -me-, -li- and -ta- (the latter both positive and negative) as well as some others like -nge-, -ngali-, -sha etc., can't be stressed, so to prevent them from being the second last syllable, this -ku- appears to take the stress. Eg. it's m-li-
ku-la "you ate" because ni-
li-la is not allowed.
The negative tense markers -ku- (for past), -ja- (for "not yet") can take stress, so they are not followed by -ku- (although some people sometimes use -ku- with these).
Subject and object markers can be stressed, so
m-le "you should eat" and m-li-
vi-la don't have the -ku-. Also, because in the negative present, there is no tense marker (well, more accurately, the negative present tense marker, -i-, appears at the end of the word), the subject prefix will take that stress. That's why m-na-
ku-la "you eat" becomes
The relative markers also cannot be stressed, so the -ku- appears in m-li-po-
ku-la "when/where you eat", but, of course, when there's an object, that appears in the place to take the stress, so the -ku- is dropped, as in m-li-po-
vi-la "when/where you ate them".