I was prepared to be disappointed, however for an undergraduate I think this is pretty good.
That said, a huge omission seems to be some form of "Is this a data/ML problem?" class. Call it product management, product development or something else, but I constantly see clients asking for ML solutions when they don't even have data that would inform an ML solution. Often it's a people or process problem, or poorly defined requirements.
So I think to be effective in ML you need to understand how successful products that USE ML are built and when ML/DNNs are appropriate.