Starting Out with Alice: A Visual Introduction to Programming presents a fun and motivational way for novice programmers to learn the basic tenets of programming. Using Alice, an innovative and increasingly popular teaching tool, readers from a variety of backgrounds create virtual programming worlds of animations and computer games. In the successful style of Tony Gaddis' texts, useful examples and detail-oriented explanations allow students to become comfortable with fundamental concepts of programming without dealing with frustrating syntax errors and complex design techniques. With the knowledge acquired using Alice, students gain confidence in their skills to transition into Java or other programming languages.Using Alice,program structures are displayed as tangible objects, and students use a drag-and-drop interface to move tiles-people, animals, fantasy creatures, and vehicles-into an editor. Students can "flip a switch" to see the Java programming structures hidden behind the scenes. The Gaddis style, supported by Alice's simplistic learning methodology, eases students into programming language and helps them recognize and avoid errors as they develop their skills. The full-color design complements the virtual Alice world, helping students to relate the text's step-by-step explanations to the on-screen environment through screen shots. Concept boxes throughout the chapter focus students' attention on key topics. Notes explain interesting or often misunderstood points relevant to the topic at hand. Tutorials guide students through several exercises per chapter, ensuring student understanding of the material. Tips advise students on the best techniques for particular actions. Warnings alert students to common missteps or problems they may encounter. Checkpoints at key locations in each chapter check students' understanding of important lessons. This text can be used in a variety of courses, from a standalone introductory course using Alice, as the initial teaching tool in a CS1 course, or for programming in a fluency course.