‹‹ All zyBooks

Fundamental Programming Concepts


Frank Vahid

Professor of Computer Science and Engineering / Univ. of California, Riverside

Roman Lysecky

Professor of Electrical and Computer Engineering / Univ. of Arizona


  • Introduction
  • Variables / Assignments
  • Branches
  • Loops
  • Arrays
  • User-Defined Functions
  • Software Topics
  • Troubleshooting Process

Complete Table of Contents


  • Provides an exceptionally approachable introduction to programming concepts using flowcharts and pseudocode.
  • Introduces a simple (executable) pseudocode language, Coral, and shows the relationship between flowcharts and pseudocode.
  • Defines a flowchart language, Coral-Charts, painstakingly designed to ease the learning of programming.
  • Describes basic programming concepts including variables, data types, assignment statements, arithmetic operations, decisions, loops, arrays, and functions.
  • Teaches basic troubleshooting/debugging techniques.
  • Provides an overview of program design methods, including waterfall and agile design processes, UML, libraries, and more.
  • Includes a built-in Coral simulator, 100s of learning questions, and numerous auto-generated auto-graded homework exercises.

The zyBooks Approach

Many teachers realize that students in introductory programming courses not only have to learn fundamental programming concepts, but also have to learn non-ideal detailed syntax and semantics of a specific industry programming language. An alternative approach, used in this zyBook, is to first teach programming concepts in a language-neutral manner, thereby enabling students to master those concepts before having to learn details of a specific programming language. This material teaches programming using a flowchart language, which is more approachable yet maintains the rigor of a programming language. The material also teaches how to convert a flowchart to a simple pseudocode language, Coral, enabling a gradual learning path from flowcharts to pseudocode to an industry programming language.

The zyBook contains animations of most concepts, helping readers to “see” the concepts and build an intuitive understanding. The zyBook also makes extensive use of our web-based graphical flowchart simulator, so that nearly every example can be run by the student.