AIC-101 Algorithmic Thinking     
Techniques for analyzing a program specification in order to design a solution

AIC-102 Intro to Programming     
Programming constructions for conditional logic, iteration and other modifications of control flow; Programming constructions for dividing processing into reusable units; Reading and writing files containing text; Reading and writing non-text information; Fundamental data structuring techniques provided by most high level languages; Applying programming concepts learned in one language to another language.