Stacks, queues and lists, binary trees and traversals, search trees and tree balancing, sorting, searching, hashing, heaps, graphs and basic graph algorithms.
Files, structures, pointers, and the proper use of dynamic data structures, functional decomposition and parameter passing, recursive functions, applications.
Fundamental principles and computer components, concepts and methods of programming with emphasis on applications in engineering, basic problem solving and programming techniques, fundamental algorithms and data structures, and use of programming logic in solving problems.