This first volume begins with basic programming concepts and techniques, then focuses on information structures--the representation of information inside a computer, the structural relationships between data elements and how to deal with them efficiently. Elementary applications are given to simulation, numerical methods, symbolic computing, software and system design.