Bird
Raised Fist0
Intro to Computingfundamentals~20 mins

How programs are compiled or interpreted in Intro to Computing - Practice Exercises

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Master of Compilation and Interpretation
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
What is the main difference between a compiler and an interpreter?

Imagine you want to translate a book from one language to another. Which of the following best describes how a compiler and an interpreter work?

AA compiler translates the entire book at once before you read it; an interpreter translates the book sentence by sentence as you read.
BA compiler translates only the first chapter; an interpreter translates the whole book at once.
CA compiler translates the book into pictures; an interpreter translates it into sounds.
DA compiler reads the book aloud; an interpreter writes the book down.
Attempts:
2 left
💡 Hint

Think about when the translation happens: all at once or bit by bit?

trace
intermediate
2:00remaining
Trace the output of an interpreted program

Consider this simple program interpreted line by line. What will be printed?

Intro to Computing
x = 5
print(x)
x = x + 3
print(x)
A5\n5
B8\n8
C8\n5
D5\n8
Attempts:
2 left
💡 Hint

Follow the program line by line and note the value of x at each print.

Comparison
advanced
2:00remaining
Which program runs faster and why?

Two programs do the same task. One is compiled, the other interpreted. Which runs faster and why?

AThe interpreted program runs faster because it skips some code lines.
BBoth run at the same speed because they do the same task.
CThe compiled program runs faster because it is translated into machine code before running.
DThe interpreted program runs faster because it translates code as it runs.
Attempts:
2 left
💡 Hint

Think about when the translation happens and how that affects speed.

identification
advanced
2:00remaining
Identify the step where compilation happens in this flowchart

Look at the flowchart below describing how a program runs. Which step is the compilation step?


Flowchart showing: Source Code -> Compiler -> Machine Code -> Execution
ACompiler
BSource Code
CMachine Code
DExecution
Attempts:
2 left
💡 Hint

The compiler is the tool that translates source code into machine code.

🧠 Conceptual
expert
3:00remaining
Why might a language use both compilation and interpretation?

Some programming languages use both compilation and interpretation. Why would this be done?

ABecause the compiler cannot translate all code, so the interpreter finishes the job.
BTo combine fast execution from compilation with flexibility from interpretation.
CTo confuse programmers and make debugging harder.
DBecause interpretation is always faster but less accurate than compilation.
Attempts:
2 left
💡 Hint

Think about the benefits of each method and how they might complement each other.

Practice

(1/5)
1. What is the main difference between a compiler and an interpreter?
easy
A. A compiler translates the whole program before running; an interpreter translates line by line during execution.
B. A compiler runs the program line by line; an interpreter translates the whole program first.
C. A compiler only checks for errors; an interpreter runs the program without translation.
D. A compiler and interpreter do the same thing in the same way.

Solution

  1. Step 1: Understand compilation

    A compiler translates the entire program into machine code before any part runs.
  2. Step 2: Understand interpretation

    An interpreter reads and executes the program line by line during runtime.
  3. Final Answer:

    A compiler translates the whole program before running; an interpreter translates line by line during execution. -> Option A
  4. Quick Check:

    Compilation = whole program first, Interpretation = line by line [OK]
Hint: Compiler = all at once; Interpreter = step by step [OK]
Common Mistakes:
  • Confusing which translates first
  • Thinking both do the same thing
  • Believing interpreters translate whole program first
2. Which of the following is the correct way to describe an interpreter's process?
easy
A. It only checks syntax without running the code.
B. It converts the entire program into machine code before execution.
C. It compiles code into an executable file.
D. It reads and executes code one line at a time.

Solution

  1. Step 1: Recall interpreter behavior

    An interpreter reads and executes code line by line during runtime.
  2. Step 2: Compare options

    Only It reads and executes code one line at a time. correctly describes this process.
  3. Final Answer:

    It reads and executes code one line at a time. -> Option D
  4. Quick Check:

    Interpreter = line-by-line execution [OK]
Hint: Interpreter = line-by-line execution [OK]
Common Mistakes:
  • Mixing up compilation and interpretation
  • Thinking interpreter creates executable files
  • Assuming interpreter only checks syntax
3. Consider this flowchart for running a program:



Which method does this flowchart represent?
medium
A. Interpreting
B. Scripting
C. Compiling
D. Debugging

Solution

  1. Step 1: Analyze flowchart steps

    The flowchart shows compiling the whole program before running it.
  2. Step 2: Match to method

    This matches the compiling process, not interpreting or others.
  3. Final Answer:

    Compiling -> Option C
  4. Quick Check:

    Compile = whole program first [OK]
Hint: Compile = whole program before run [OK]
Common Mistakes:
  • Confusing compile with interpret
  • Thinking debugging is shown
  • Assuming scripting means compiling
4. A student wrote this code to explain interpretation:
print('Hello')
print('World')

They said the interpreter runs both lines at once. What is the error?
medium
A. Interpreters run code line by line, not all at once.
B. Interpreters cannot run print statements.
C. The code has a syntax error.
D. Interpreters only run one line of code total.

Solution

  1. Step 1: Understand interpreter execution

    Interpreters execute code one line at a time, not simultaneously.
  2. Step 2: Identify student's mistake

    The student incorrectly said both lines run at once, which is wrong.
  3. Final Answer:

    Interpreters run code line by line, not all at once. -> Option A
  4. Quick Check:

    Interpreter = line-by-line execution [OK]
Hint: Interpreter = one line at a time [OK]
Common Mistakes:
  • Thinking interpreter runs all code simultaneously
  • Believing print can't run in interpreter
  • Confusing syntax errors with execution method
5. You have a program that must run on many different computers without installing extra software. Which method is better and why?

Options:
A) Compile the program into machine code for each computer.
B) Use an interpreter so the program runs line by line on any computer with the interpreter.
C) Compile once on your computer and send the executable.
D) Neither; rewrite the program in assembly language.
hard
A. Compile separately for each computer to ensure compatibility.
B. Use an interpreter so the program runs on any computer with the interpreter installed.
C. Compile once and send executable; it will run on all computers.
D. Rewrite in assembly language for best performance.

Solution

  1. Step 1: Consider compatibility needs

    Compiling creates machine code specific to one computer type, so compiling separately is needed for each.
  2. Step 2: Evaluate interpreter advantage

    An interpreter allows running the same code on any computer with the interpreter installed, improving portability.
  3. Step 3: Analyze other options

    Compiling once won't work on all computers due to different architectures; rewriting in assembly is complex and not portable.
  4. Final Answer:

    Use an interpreter so the program runs on any computer with the interpreter installed. -> Option B
  5. Quick Check:

    Interpreter = portability across computers [OK]
Hint: Interpreter = runs anywhere with interpreter installed [OK]
Common Mistakes:
  • Assuming one compiled file runs everywhere
  • Ignoring interpreter installation requirement
  • Thinking assembly is portable