CS teaches the fundamental theories that form the mathematical basis of programming. It is true, to be a mediocre programmer you only need a few intro lessons or just a couple weekend hackathons, but to master it you need that theoretical CS background which covers it much more in depth.
CS to Software Engineering to Programming is as Physics to Aerospace Engineering to Aircraft Maintenance
Related, but not the same thing.