Solving problems is the core of computer science. Programmers must first understand how a human solves a problem, then understand how to translate this "algorithm" into something a computer can do, and finally how to write the specific code to implement the solution. At its core, problem-solving focuses on the study, understanding, and usage of data structures and algorithms.
This competency area includes basic Data Structures and Algorithms.
- Basic Data Structures - Use Data Structures such as Arrays and Strings. Traverse through arrays, strings, and linked lists. Access and update individual elements in arrays, and characters in strings.
- Basic Algorithms (such as Sorting and Searching) - Create simple sorting algorithms such as bubble sort, merge sort, counting sort. Create simple brute force and sub-optimal solutions.