It is a very detailed process as you can see by this usgs lesson.
You can follow it only if you have the software listed here.
Also DEM is a somewhat varied format that can have slightly different headers, type values, etc.
Also there are several digital products used in 3d analysis that all have similar information.
DEM, DTM, TIN, NED, NLCD, LIDAR,
Reference other information here
There are several other software available to duplicate this process.
I believe the osgeo4w would allow creation (not with exactly these steps).
To get some knowledge you could request demo software listed in the usgs lesson, and then after understanding the workflow perhaps find other software (e.g. grass, gdal [found in osgeo4w]).
just search google "create digital elevation model"