Formulate in a rigorous way questions about computing.
What problems can be solved and what can't? At what cost?
What are the fundamental algorithmic techniques for
solving them.
- Complexity theory. P vs NP.
- Fundamental algs/data-structures.
- Cryptography, protocols.
- Machine learning.
- ...