Creating variables of different types. Converting between variable types. Using 3rd party libraries. Creating your own data types. Arrays, hash tables and dates.
while, for, foreach, if, return, break and other constructs
different ways to test conditions
Input and output
options for reading and writing data to files and to databases network access.
Graphic User Interface
Buttons, text boxes that users can see and control.
Using an accumulator, recursion, function composition.