What are the minimum set of required computer science skills for a web developer who does not have a CS degree to be a good programmer?
The absolute minimum probably would be learning about the basic data structures:
- Hash map: if you only learn one, this is the one you should learn.
- Lists: linked single vs double, head node vs head-less and also array lists. Learn how they relate to stacks and queues.
- Binary search tree/Quad tree/Oct tree: learn why they are important, and how they are maintained balanced.
- Trie: if you have extra time, these are very important for string searching.
- Graphs/Networks: these are more specialized, but I wouldn't consider a programmer as advanced unless they were very comfortable with these.