Glossary
--------

.. glossary::
    Bug
      An error in a program.

    Central Processing Unit
      The heart of any computer. It is what runs the software that we
      write; also called "CPU" or "the processor".

    Compile
      To translate a program written in a high-level language into a
      low-level language all at once, in preparation for later execution.

    High-level Language
      A programming language like Python that is designed to be easy for
      humans to read and write.

    Interactive Mode
      A way of using the Python interpreter by typing commands and
      expressions at the prompt.

    Interpret
      To execute a program in a high-level language by translating it one
      line at a time.

    Low-level Language
      A programming language that is designed to be easy for a computer to
      execute; also called "machine code" or "assembly language".

    Machine Code
      The lowest-level language for software, which is the language that
      is directly executed by the central processing unit (CPU).

    Main Memory
      Stores programs and data. Main memory loses its information when the
      power is turned off.

    Parse
      To examine a program and analyze the syntactic structure.

    Portability
      A property of a program that can run on more than one kind of
      computer.

    Print Function
      An instruction that causes the Python interpreter to display a value
      on the screen.

    Problem Solving
      The process of formulating a problem, finding a solution, and
      expressing the solution.

    Program
      A set of instructions that specifies a computation.

    Prompt
      When a program displays a message and pauses for the user to type
      some input to the program.

    Secondary Memory
      Stores programs and data and retains its information even when the
      power is turned off. Generally slower than main memory. Examples of
      secondary memory include disk drives and flash memory in USB sticks.

    Semantics
      The meaning of a program.

    Semantic Error
      An error in a program that makes it do something other than what the
      programmer intended.

    Source Code
      A program in a high-level language.

.. dragndrop:: intro1-dnd-glossary1
  :feedback: Look above for these terms.
  :match_1: Bug|||An error in a program.
  :match_2: Problem Solving|||The process of formulating a problem, then finding and expressing a solution.
  :match_3: Semantics|||The meaning of a program.
  :match_4: Semantic Error|||An error in a program that makes it do something other than what the programmer intended.

  Match each term with its definition.

.. dragndrop:: intro1-dnd-glossary2
  :feedback: Look above for these terms.
  :match_1: Central Processing Unit|||Part of the computer that runs the software.
  :match_2: Machine Code|||The lowest-level language for software.
  :match_3: Main Memory|||Stores programs and data and loses its information when there isn't a power source.
  :match_4: Secondary Memory|||Stores programs and data and retains its information even when the power is turned off.

  Match each term with its definition.

.. dragndrop:: intro1-dnd-glossary3
  :feedback: Look above for these terms.
  :match_1: Compile|||To translate a program written in a high-level language into a low-level language all at once, in preparation for later execution.
  :match_2: High-level Language|||A programming language like Python that is designed to be easy for humans to read and write.
  :match_3: Low-level Language|||A programming language that is designed to be easy for a computer to execute.
  :match_4: Source Code|||A program in a high-level language.

  Match each term with its definition.

.. dragndrop:: intro1-dnd-glossary4
  :feedback: Look above for these terms.
  :match_1: Interactive Mode|||A way of using the Python interpreter by typing commands and expressions at the prompt.
  :match_2: Parse|||To examine a program and analyze the syntactic structure.
  :match_3: Print Function|||An instruction that causes the Python interpreter to display a value on the screen.
  :match_4: Prompt|||When a program displays a message and pauses for the user to type some input to the program.

  Match each term with its definition.

.. dragndrop:: intro1-dnd-glossary5
  :feedback: Look above for these terms.
  :match_1: Interpret|||To execute a program in a high-level language by translating it one line at a time.
  :match_2: Portability|||A property of a program that can run on more than one kind of computer.
  :match_3: Program|||A set of instructions that specifies a computation.

  Match each term with its definition.
