Good list !
The one thing I would add or emphasise: Is
communication skillsI WISHED in addition to Calculus and CS that some form of "effective communication course" was required up to 3rd year ! Even the "basics" like how to "Respond Vs React (the emotion)"
If you are a coder 90% of the time it's going to be a "social" or "team" activity. And where you find people you find people problems, egos, miscommunications, anger etc !
The amount of time you will have the debate about "how to code something the 'correct' way" will be the cornerstone of your success in a team. That 'debate' about the 'correct way' is hard since CS is such a young "engineering discipline" compared to say how to build a bridge.
I can tell you this, the other coders I worked by far the best with are the coders that can communicate or that I feel 'safe enough/trust enough' to talk honestly and openly and separating yourself from your code ("you-are-not-your-code") becomes automatic with these types of pro-communication programmers.
TL;DR: If you want to be an effective or standout coder: Focus HEAVILY on your communication skill.