2.1 Algorithm design and problem-solving 2.2 Data representation 2.3 Programming 2.4 Software development