I agree with everyone who has posted, which is a problem because they have all suggested different things.
My initial reaction was to say skip another country and spend your time in Germany. You've got ten days, since your last is spent flying out and your first you'll be experiencing jet lag. You don't say how long you plan to stay in Berlin, but I would suggest four nights (3/24-28), as that will give you three full days plus your arrival day. Are you interested in doing a day trip to Potsdam? The program I was on took us there, and Frederick the Great's palace - Sanssouci - is well-worth it, especially if your son is interested in that period of history (is there a period in which he's especially interested?). It's a very easy 2-3.5 hour (depending on stops; some are direct) train to Dresden, which I absolutely think you should see. It's a beautiful baroque city, and the rebuilt Frauenkirche ties that period to the Second World War. If he is interested in places switching countries, you can take a days rip to Goerlitz, which was cut in half post-WWII when the German-Polish border was moved west. You can walk across a bridge to the Polish side. Full disclosure - I visited when the town was still included in the Rick Steves guidebook (it apparently no longer is) and my friends and I still couldn't find the damn bridge, and the brewery I had emailed confirming our visit was closed and shut tight. BUT I know others around here have crossed the bridge, so if you decide to visit you will have plenty of people to help give you directions. Bridge or no bridge, it was still a fun visit. After Dresden you could see Leipzig, Weimar or Nuremberg on your way to Munich, although probably not all three. I'd aim to get to Munich by April 1, which would give you two full days and most of a third. Are you planning on seeing Dachau? Neuschwanstein? If yes, then maybe arrive by the 31st?
If you do want to add another country, then Prague is the best bet. You could even stop in Dresden for a few hours on your way from Berlin to Prague - although I really urge you to spend at least one night in Dresden. You could do four nights Berlin, four/ three nights Prague, four/three nights Munich. I will throw out Wroclaw, Poland, which was Breslau, Germany, until the end of WWII. So it's a cool mix of German, Polish, and regional Silesian. BUT it will take you five hours from Berlin, about that the Dresden, and 12 hours to Munich. It looks like Lufthansa flies from there to Munich, but I have no idea the timing or prices.
It sounds like it will be a great trip, whatever you decide, and your son sounds like an amazing young man. Please do let me know if there's a specific period or topic he's especially interested in; I can send you some books I would assign for class, if he'd/you'd like.