viii PREFACE Dependency Chart The dependency chart on the next page shows possible orderings of chapters and subsections.A line joining two boxes means that the upper box must be covered before the lower box.Any ordering that is consistent with this partial ordering can be read without loss of continuity.If a box contains a section number or numbers,then the box refers only to those sections and not to the entire chapter. Summary Boxes Each major point is summarized in a boxed section.These boxed sections are spread throughout each chapter. Self-Test Exercises Each chapter contains numerous Self-Test Exercises at strategic points.Com- plete answers for all the Self-Test Exercises are given at the end of each chapter. VideoNotes VideoNotes are designed for teaching students key programming concepts and techniques.These short step-by-step videos demonstrate how to solve problems from design through coding.VideoNotes allow for self-paced instruction with easy navigation including the ability to select,play,rewind,fast-forward,and stop within each VideoNote exercise. Online Practice and Assessment with MyProgrammingLab MyProgrammingLab helps students fully grasp the logic,semantics,and syn- tax of programming.Through practice exercises and immediate,personalized feedback,MyProgrammingLab improves the programming competence of be- ginning students who often struggle with the basic concepts and paradigms of popular high-level programming languages. A self-study and homework tool,a MyProgrammingLab course consists of hundreds of small practice problems organized around the structure of this textbook.For students,the system automatically detects errors in the logic and syntax of their code submissions and offers targeted hints that enable students to figure out what went wrong-and why.For instructors,a comprehensive gradebook tracks correct and incorrect answers and stores the code inputted by students for review. MyProgrammingLab is offered to users of this book in partnership with Turing's Craft,the makers of the CodeLab interactive programming exer- cise system.For a full demonstration,to see feedback from instructors and students,or to get started using MyProgrammingLab in your course,visit www.myprogramminglab.com.viii Preface Dependency Chart The dependency chart on the next page shows possible orderings of chapters and subsections. A line joining two boxes means that the upper box must be covered before the lower box. Any ordering that is consistent with this partial ordering can be read without loss of continuity. If a box contains a section number or numbers, then the box refers only to those sections and not to the entire chapter. Summary Boxes Each major point is summarized in a boxed section. These boxed sections are spread throughout each chapter. Self-Test Exercises Each chapter contains numerous Self-Test Exercises at strategic points. Complete answers for all the Self-Test Exercises are given at the end of each chapter. VideoNotes VideoNotes are designed for teaching students key programming concepts and techniques. These short step-by-step videos demonstrate how to solve problems from design through coding. VideoNotes allow for self-paced instruction with easy navigation including the ability to select, play, rewind, fast-forward, and stop within each VideoNote exercise. Online Practice and Assessment with MyProgrammingLab MyProgrammingLab helps students fully grasp the logic, semantics, and syntax of programming. Through practice exercises and immediate, personalized feedback, MyProgrammingLab improves the programming competence of beginning students who often struggle with the basic concepts and paradigms of popular high-level programming languages. A self-study and homework tool, a MyProgrammingLab course consists of hundreds of small practice problems organized around the structure of this textbook. For students, the system automatically detects errors in the logic and syntax of their code submissions and offers targeted hints that enable students to figure out what went wrong—and why. For instructors, a comprehensive gradebook tracks correct and incorrect answers and stores the code inputted by students for review. MyProgrammingLab is offered to users of this book in partnership with Turing’s Craft, the makers of the CodeLab interactive programming exercise system. For a full demonstration, to see feedback from instructors and students, or to get started using MyProgrammingLab in your course, visit www.myprogramminglab.com. VideoNote