Another cheapie, in keeping with the ghetto style of this thread, is to use a serial port (tx/rx pins) and to activate the bootloader in the system memory of those chips.
With this approach, all you need are two wires (tx/rx) + Vcc/Gnd (and BOOT0 for this particular board), and you can program the chip.
Practically, you will be hard pressed to find a modern computer with a serial port so the practical solution is to use a usb/ttl board (232 or cp210x or pl2303) to simulate the serial board.
Here is my implementation (the pictures show the code running - thus the BOOT0 line is floating).
Four wires to the STM32 (Vcc, Gnd, TX, RX), BOOT0 floating.
In the programming mode, BOOT0 is tied to nRST - you will need to read the datasheet to understand why,
![Smiley :)](https://www.eevblog.com/forum/Smileys/default/smiley.gif)