Detailed instructions (including video) can be found over at finewoodworking.com, so I won't go through it step by step. I'm just going to point out the more clever stuff.
Step 1: Routing Channels for the Allthread
Step 2: Cut the Legs at the Same Time
The cutting guide is a piece of hardboard w/ some 1" trim stapled to it. These guides are easy to make and save a lot of time.
Step 3: A Nice and Sturdy Base
You don't have a lot of room for error when you drill your holes for the allthread in the legs. So, if you don't own a set of brad point drill bits consider picking up a set. I've found they're much more accurate than regular wood bits which always seem to travel off the mark a little before they begin to bite.
Note the top rails have two channels. The bottom is for the allthread, the top for the S-brackets you'll use to to attach the bench top. Strangely I couldn't find these brackets at Lowe's or Home Depot, but they were at Woodcraft and for once weren't overpriced.
Step 4: Layout the Top
The layout is important when it comes time to drill bench dog holes so don't just go randomly driving screws all willy nilly.
Step 5: The Vise
For the block underneath I used a scrap piece of MDF and an additional piece of hardboard.