When learning classical computing, I have done the following things that gave me a deeper understanding of how things work.
1. Learned logic gates and built(in simulators) small circuits which can do addition/multiplication.
2. Used a 8085 board to write assembly programs for search/sort etc.
3. Learnt C programming and Operating systems(primarily Linux)
4. Learnt higher level programming languages and paradigms(OOP, compilation, etc).
What set of courses/topics would lead to a similar level of understanding in the quantum domain? I have learnt about the quantum gates, but I do not have to context to understand how they fit in the larger picture.