The compilation process; software life cycle models; ADTs, classes, class members and object instantiation