There are many different ways to learn about specific topic however you can start reading books and knowing the main features of Microcontrollers, what is it?,learning about Risc vs Cisc Architectures,..etc.
I recommend you this :
Assumption 1: There's some universal language for programming. It's
likely assembly or some such.
As you know microcontrollers and humans communicate through the medium of the programming language called Assembly language. The word Assembler itself does not have any deeper meaning, it corresponds to the names of other languages such as English or French.In the practical world we have many didferents language but the comon used is C/C++,Vbasic .
Assumption 2: There's likely some software for PC that will allow me
to write the program, and possibly even debug it.
if you've the proper elements (microcontroller,capacitors,resistors..etc for your project) you will need a programmer for flash or load your instructions in the chip,i know mplab is a Windows program package which enables easy program writing as well as easy program development. It is best to describe it as development environment for a standard program language designed for PC programming. MPLAB technically simplifies some operations consisting of a lot of parameters, which, until the IDE environment* appeared, were executed from the command line.You Can use for debuging porpouses,besides you could use Proteus for the simulation,and do the design.
Assumption 3: There's likely a USB or serial device that takes the
completed code from my PC and flashes the chip. If I'm working with
DIP-8, DIP-14 and DIP-28 chips at different times, is there some kind
of universal IC flasher? or do I need a separate device for each chip?
I've used pickit3 is usb for the connection.