A Balanced Introduction to Computer Science 2nd 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, photographs, and Web-based visualization tools are used extensively to illuminate key points.
  • 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.
  • 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. He is a member of the Liberal Arts Computer Science Consortium and the Chief Reader for the Advanced Placement® Computer Science exam since 2004.