I love rasterization. It's such a cool algorithm. Everyone should write a software rasterizer! Why bother? Because it's heckin' cool, mate. But beyond that, it will also give you a much deeper understanding of a modern graphics pipeline (just in time for it to be replaced by AI rendering within the next decade).
I used Chris Hecker's 5-part series to learn how to do rasterization: http://www.chrishecker.com/Miscellaneous_Technical_Articles
He walks you through the math and the code simultaneously, which is deliciously rare. Usually you get one or the other, but having both is delightful.