12v dc motor speed control using pwm and h bridge
This is best done with a microcontroller.  Give the 555 timer back to the museum you got it from.

You are right in that you need a H bridge.  Nowadays, the logic of when to pulse it high, low, and open is performed in a microcontroller.  Many micros have PWM hardware for just this purpose, some even with complementary outputs for controlling the 4 switches of the H bridge separately.  If you don't know where to start, check out the dsPIC line from Microchip.

Back in the pleistocene this might have been done with a 555 timer somehow controlling a H bridge.  You could kludge up something like this today too, but the result would be more complicated electrically, much harder to tune or control, and less repeatable from unit to unit.

There is some up-front learning time with the microcontroller solution.  Since you are apparently studying electrical engineering, this is something you absolutely must learn anyway.  Even though it may seem hard this time if you aren't already comfortable with microcontrollers, you're going to have to learn them.  The sooner you do, the sooner you will have the benefit of being able to apply them when appropriate, and the more experience you will have gotten by the time you look for a real job.  Leave 555 timers to old-timers and hobbyists.  Their place in modern commercial products is vanishingly small.