This book is organized into three parts, separated by major milestones in gaining programming knowledge.Part 1 shows how to apply basic concepts of programming. It goes through the details of writing programs using freely available editor and compiler software. It shows how to store data in variables for use in calculations, and how to produce nice-looking output. These chapters teach all that is needed to create simple interactive programs that gather input, perform calculations based on the input, and display output using calculated results.Part 2 adds elements of logic to the simple programs of part 1. Ways are presented for making programs selectively use different sets of instructions, based on circumstances. Ways to get a program to repeat itself are also presented, allowing things to be done more than once without duplicating the steps. These chapters teach what is needed to create more sophisticated programs with branching and looping logic, such as would be required for computer games and almost every other useful program.Part 3 introduces the powerful concept of single variables that can store multiple values all at the same time. Array variables can store multiple values of the same type, and are suitable for dealing with lists, such as lists of test scores, high temperatures, or names of students. Object variables can store multiple values of related information, and are suitable for dealing with data records, such as student accounts with names, IDs, and addresses. Chapters 13-15 introduce advanced applications of arrays and objects, for the purpose of first exposure to some advanced computer science concepts, but primarily to provide an opportunity to apply the language elements learned in parts 1 and 2.