2.1.1 - Thinking abstractly
2.1.2 - Thinking Ahead
2.1.3 - Thinking procedurally
2.1.4 - Thinking logically
2.2.1 - Programming techniques
2.2.2 - Software development
2.3 - Algorithms