A Hands-On Introduction to Topology Optimization