Which of the following organizational techniques best allows a programmer to systematically solve a problem by breaking it down into smaller, more manageable steps before any code is written?
Developing a vector
Designing a user interface
Using flow-chart concepts
Writing pseudocode