For our introduction to mechanisms and design / robotics class (2.007 / the "FIRST robotics" class), I built an autonomous robot to navigate and complete tasks in a star wars themed battleground. 
The class went from sketched concepts to fully autonomous + remote controllable robot in 3 months. I learned how to design for maximizing certain objectives, to look at strategy of a complex task and whittle it down to a few key components and tackle those well. Of the many tasks, I tackled two: push storm troopers into a ditch for points, and get a flywheel to spin up, where the score is determined by final RPM of the flywheel.
These decisions came after a few weeks of design work, calculations in my notebook, and prototyping mechanisms. I sadly lost my notebook but I have some documentation thankfully of the project. 
I learned through this class automation, some coding experience on the arduino board, Solidworks CAD work, got three months of experience in machining skills (manual mill, manual lathe, sheet metal bending, water-jetting, hand tools in the metal shop), and some practical design methodologies. 
Here is the final product, with the main visible feature - a lead screw to lift the motorized wheel. More notes about the process and my decisions below, with the picture galleries.
While I was first learning about the playfield I had to code a mini-robot which I built out of bent sheet metal, some hacked servo motors, and a microcontroller. I made three versions of it for practice and built the mechanism to push a doll into the ditch better each time. I tested the little bots a few times each and compared results to see what kind of architecture for the plow to use. I learned that sheet metal bending specific angles that aren't 90 degrees would be a challenge. 
As mentioned above, I was CAD'ing in this class. Before every robot I built, and any change I implemented, I would make or edit my solidworks CAD and use that as the base for my BOM and machine drawings when I went into the shop to fabricate. Here are some from the mini-me's above. 
Part of the challenge of the course was to have the robots climb a hill to reach an elevator to bring it up to the second floor. To get the robot to climb, I needed to make sure it wouldn't tip over as it accelerated and drove up the hill. For this I needed to find the center of mass/gravity and the friction on the wheels. While the CAD software could show me roughly the COG, I needed to be more sure and started pinning the robot on different axis and piecing together a location for the COG. 
Similarly, I used a force gauge to pull the robot and determine the different coefficients of friction (Static and kinetic). 
For the main design of the flywheel-spinner, I made some prototypes to see what kind of fabrication would work best. I originally started with a size study and had fun with foam modeling and laser cutting acrylic. Then I CAD'ed and machined a water-jet + sheet metal wheel. The goal was to keep the total wheel weight down so the spinner could turn the flywheel without losing torque to maintain its own inertia. I made a model and measured it in house.
For some of the motors, there was no data on the torque-speed or power curves. So to correctly spec gearboxes or power-flow through my machine, I had to manually collect the data. I set up a torque speed measurement apparatus and had the motors pull weights up from the ground and measured the current passing through as well as the speed with which the weight pulled up (and thus the rotational speed of the shaft). A little bit of math later, and I had the data I needed and could start more accurately billing my power throughout the machine. 
Several weeks later, and with many more tests and revisions that I (unfortunately) didn't document, I had a fully functioning and autonomous driving robot. The robot successfully completed the autonomous portion, navigating and pushing storm troopers into the ditch, but unfortunately during the manual operation part I could not get the robot to drive to the flywheel. During all the time building and testing the robot, I didn't put in enough time learning how to pilot the thing, and the xbox controller I coded the controller through was foreign to me. It was a really fun class in the end though, and I learned so much and had a lot of fun memories and lessons in the machine shop.