In my CS degree, the course that most matches what you are asking for was called "Software Engineering". I don't know how common that is, but looking on Coursera I found the following classes which match what I think you are looking for:
- https://www.coursera.org/learn/software-processes
- https://www.coursera.org/learn/java-programming-design-principles?specialization=java-programming
And of course there also some deeper abstract principles that apply here. I have heard wise people state that the central problem of Software Engineering is problem decomposition. Knowing how to break a big problem down into smaller chunks is fundamentally what it is all about.