What other areas of study would improve a graduate's ability to be a great software designer?
- Algorithms and data structures is the most essential study.
- Computer hardware architecture.
- Application areas, especially business data processing, database techniques and data mining.
- Psychology, especially perceptual psychology, since the user is all-important.