I had discounted using the bus to reach Leipzig and Magdeburg on account of the main bus station's distance from the city centre - however on further investigation it appears there is a direct U-Bahn line from my hostel to the nearest stop, so I may well take this advice.
I didn't go to Magdeburg, but I reached Leipzig Zoo via a bus from Berlin on a daytrip. We caught the U-Bahn to the main bus station (not sure what it was called can check), then got a bus to Leipzig. Unfortunately, the bus doesn't actually go to Leipzig, but Leipzig airport, but that is small and it is easy as to navigate to the train station there, from which you can get a quick and cheap train to the central train station in Leipzig, and then a tram direct to the zoo. And same in reverse.
I realise that sounds super complicated, but it honestly wasn't too bad, although we did leave early and return late, so it was a long day and we didn't get to see much else. Staff at the McCafe (which I think will also be new to you as for some reason they don't have these in UK?) at the Leipzig train station were super helpful with what tram to catch, I'll check if I wrote it down and let you know details.
As for within Berlin, we walked to and from the zoo to save money, even though it was a bit over 5km away. But I took the U-Bahn to Tierpark, which was easy. We had absolutely no money to spare, and every time we went to a station there was always someone who looked too much like a conductor for us to want to risk freeloading. At one point, a conductor came down to a platform, and us and about ten other people immediately left...
Anyway, have an awesome trip, can't wait to read all about it!