Computer programming, algorithms, program structure, arrays, stacks, queues, binary trees; procedures, functions, parameter-passing mechanisms, recursion vs. iteration, and issues of programming style. Computer solutions of problems such as data analysis, sorting, searching, and string and text manipulation.