A Balanced Introduction to Computer Science 3rd ed. represents a unique but proven approach to introductory computer science courses. In contrast with traditional texts that focus almost exclusively on either breadth (a survey of computing concepts) or depth (programming and problem-solving), this text provides a balanced view of computing. Breadth chapters cover concepts and issues in computing that are most relevant to the beginning student, including computer terminology, the Internet and Web, algorithms and software, and technology's impact on society. Mixed among these topics are depth chapters that introduce fundamental programming concepts and skills with hands-on, tutorials. Using HTML and the programming language JavaScript, students develop problem-solving skills as they design and implement interactive Web pages.

Breadth Chapters

  • Breadth-based chapters focus on topics that are most relevant to a beginning student, and are written in an engaging, easy-to-read style.
  • Illustrations and photographs are used whenever possible to illuminate key points.
  • Web-based visualization tools are provided to complement many of the chapters and support active learning.
  • Each chapter ends with a Chapter Summary and Review Questions that encourage reflection and the integration of content from that chapter.

Depth Chapters

  • Depth-based chapters are presented as hands-on tutorials, recognizing that the only way to learn programming and problem solving is to actually do it.
  • Tutorial exercises follow an incremental approach, allowing students to master programming concepts by first studying and modifying existing programs before designing and implementing new programs that solve interesting problems.
  • Each chapter contains at least one motivational application - a larger programming example that is familiar and relevant to students (such as rotating banner ads, embedded countdown clocks, and text encryption).
  • Program design and debugging advice is provided in special sections called Designer Secrets and Common Errors to Avoid....
  • Each chapter includes a Chapter Summary that identifies key concepts, and Supplemental Material and Exercises to facilitate further study.

David Reed is an Associate Professor and Chair of the Department of Computer Science at Creighton University in Omaha, Nebraska. He received his M.S. and Ph.D. in computer science from Duke University in 1992, and subsequently taught and conducted research at Duke University and Dickinson College before joining the faculty at Creighton in 2000. His primary interests are in artificial intelligence, programming languages, and computer science education, where he has published extensively on topics such as apprentice-based learning, Web-based programming, and innovative instructional methods in introductory computer science.