The authors relate their experience in teaching a senior level Computer-Aided Design (CAD) course in Mechanical Engineering using advanced Computer-Aided Engineering software. The course balances the theory and the need for hands-on experience with commercial CAD software in solving practical design problems. Students are given assignments ranging from simple 3D modeling exercises and 2D finite element analyses to an optimization project requiring more advanced 3D modeling and analysis. Where possible, analytical solutions are found and compared to the finite element results. The software allows the students to explore much more complex problems than would have otherwise been possible.