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, trees, 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, and counting sort. Create simple brute force and sub-optimal solutions.