Computer Science is the "generalized" field of computer study.
All of the other titles you listed are specific options within a computer science ciriculum.
Each disipline requires studying some aspects of the others.
Programming is the course of study for someone who disires to write software "code" or programs.
There are numerous levels and types of programmers. Thus, the jobs in business are all over the place.
Ranging from writeing computer games to sort and querry programs for large data-bases, and everything in between.
Computer Engineering would primarily focus on hardware. Allthough, it could focus on the design of software as oppossed to the actual code.
IT Engineer; This is the computer / network support person. An IT engineer would be at a higher level than "tech" support. This person would be responsible for designing and implementing a network. Perhaps in addition to supporting the users at smaller firms that do not need a full time IT Engineer.
Chas