Is there a reasonably priced dog door that allows dogs through but stops cats?
A search for "electronic dog door" and/or "selective dog door" turns up several products ranging from $80 to $200 (though they are others that go up to $500), depending on size you need, for example:


PetSafe SmartDoor
Dog Mate Electromagnetic Dog Door - Has settings for locked, in/out, in-only, and out-only. Up to 14" shoulder height.


There's lots of small selective cat doors, they do seem to get much more expensive as you go bigger.



As far as DIY, there are several ways to do this, and the complexity will really depend on exactly what you do, and how much experience you have doing electronics and embedded programming. An instructable on an RFID cat door may get you started.

Effectively, you just need to buy/build the actual door, which is capable of being locked by some mechanism (I would suggest not using one of the flexible flap ones). 

Then you need a lock mechanism that can be controlled electronically, such as a solenoid, linear actuator, or servomotor.

Finally, you need the sensor and control circuitry. An Arduino is probably a good staring place for the controller. For the sensor, RFID has a lot of benefits, but as some of the off-the-shelf products show, you could also use infrared and/or magnetic sensors. I would think those would be more finicky to get working reliably, whereas RFID is pretty simple: just mount the antenna so it can pick up the tag attached to the dog's collar when close to the door.

Here's another instructable on interfacing RFID to the Ardunio. All that needs is an output hooked up to the lock mechanism you build, and the software to hold the lock open for a few seconds after detecting a valid RFID tag.

Note that the hardware to do this DIY isn't necessarily cheap, and in fact, probably approaches the $100-200 price tag on some of the off-the-shelf doors. Great learning experience but don't expect to save much cash DIY here.