Bird
Raised Fist0
Intro to Computingfundamentals~20 mins

Algorithm design (planning solutions) in Intro to Computing - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Algorithm Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding Algorithm Steps
Which of the following best describes the first step in designing an algorithm to sort a list of numbers?
AIdentify the input and output clearly
BWrite the code directly without planning
CIgnore edge cases to save time
DTest the algorithm with random data first
Attempts:
2 left
💡 Hint
Think about what you need to know before starting to solve a problem.
❓ trace
intermediate
2:00remaining
Tracing Algorithm Execution
Given the flowchart below for finding the maximum number in a list, what is the value of the maximum after processing the list [3, 7, 2, 9, 5]?
Intro to Computing
Start -> Set max to first element -> For each element in list: If element > max, set max = element -> End
A5
B7
C9
D3
Attempts:
2 left
💡 Hint
Compare each number with the current max and update if larger.
❓ Comparison
advanced
2:00remaining
Comparing Algorithm Efficiency
Which algorithm design approach is generally more efficient for sorting large datasets?
ARandomly swapping elements until sorted
BBubble sort with nested loops
CChecking each element one by one without sorting
DDivide and conquer approach like merge sort
Attempts:
2 left
💡 Hint
Think about how breaking problems into smaller parts helps.
❓ identification
advanced
2:00remaining
Identifying Algorithm Components
In the algorithm design process, which component is responsible for deciding the next step based on a condition?
ADecision or conditional statement
BInput
CLoop
DOutput
Attempts:
2 left
💡 Hint
This component helps the algorithm choose between different paths.
🚀 Application
expert
3:00remaining
Designing an Algorithm for a Real-World Problem
You need to design an algorithm to help a librarian find a book by its title in a large unsorted collection. Which approach is best to plan the solution?
AAsk the librarian to remember the position of each book
BScan each book one by one until the title is found
CSort the books by title first, then use binary search
DRandomly pick books until the correct title is found
Attempts:
2 left
💡 Hint
Consider the collection is unsorted and you want to find a specific item.

Practice

(1/5)
1. What is the main purpose of designing an algorithm before coding?
easy
A. To plan clear steps to solve a problem
B. To write the final program code
C. To test the program output
D. To choose the programming language

Solution

  1. Step 1: Understand the role of an algorithm

    An algorithm is a step-by-step plan to solve a problem before coding.
  2. Step 2: Differentiate algorithm from coding and testing

    Coding is writing the program, testing checks output, but algorithm is planning steps.
  3. Final Answer:

    To plan clear steps to solve a problem -> Option A
  4. Quick Check:

    Algorithm = plan steps [OK]
Hint: Algorithms are plans, not code or tests [OK]
Common Mistakes:
  • Confusing algorithm with coding
  • Thinking algorithm is testing output
  • Believing algorithm chooses language
2. Which of the following is the correct way to start an algorithm for finding the largest number in a list?
easy
A. Set largest to 0
B. Set largest to the first number in the list
C. Print the list
D. Sort the list alphabetically

Solution

  1. Step 1: Understand initialization in algorithms

    To find the largest number, start by assuming the first number is the largest.
  2. Step 2: Evaluate other options

    Setting largest to 0 may fail if all numbers are negative; printing or sorting alphabetically is unrelated.
  3. Final Answer:

    Set largest to the first number in the list -> Option B
  4. Quick Check:

    Initialize largest with first list item [OK]
Hint: Initialize with first list item, not zero [OK]
Common Mistakes:
  • Starting largest at 0 without checking list values
  • Sorting list alphabetically instead of numerically
  • Printing list instead of initializing variable
3. Consider this algorithm to sum numbers from 1 to 4:
sum = 0
for i in range(1, 5):
  sum = sum + i
print(sum)

What will be the output?
medium
A. 10
B. 15
C. 0
D. Error

Solution

  1. Step 1: Understand the loop range

    The loop runs with i = 1, 2, 3, 4 (range(1,5) excludes 5).
  2. Step 2: Calculate sum step-by-step

    sum = 0+1=1, 1+2=3, 3+3=6, 6+4=10.
  3. Final Answer:

    10 -> Option A
  4. Quick Check:

    1+2+3+4 = 10 [OK]
Hint: Sum numbers 1 to 4 = 10 quickly [OK]
Common Mistakes:
  • Including 5 in the sum
  • Confusing range end as inclusive
  • Forgetting to add all numbers
4. This algorithm is meant to find the smallest number in a list:
numbers = [3, 1, 4]
smallest = 0
for num in numbers:
  if num < smallest:
    smallest = num
print(smallest)

What is the error in this algorithm?
medium
A. The print statement is missing parentheses
B. The loop should use 'while' instead of 'for'
C. The comparison should be 'num > smallest'
D. smallest should start as the first list number, not 0

Solution

  1. Step 1: Check initialization of smallest

    Starting smallest at 0 fails if all numbers are positive and greater than 0.
  2. Step 2: Correct initialization

    Set smallest to the first number in the list (3) to compare properly.
  3. Final Answer:

    smallest should start as the first list number, not 0 -> Option D
  4. Quick Check:

    Initialize smallest with first list item [OK]
Hint: Initialize smallest with first list item, not zero [OK]
Common Mistakes:
  • Using wrong comparison operator
  • Confusing for and while loops
  • Ignoring initialization importance
5. You want to design an algorithm to count how many words in a sentence start with the letter 'a'. Which step should you include in your algorithm?
hard
A. Sort the words alphabetically before counting
B. Count all letters 'a' in the sentence regardless of position
C. Split the sentence into words and check each word's first letter
D. Replace all 'a's with 'b's before counting

Solution

  1. Step 1: Break sentence into words

    Splitting the sentence into words allows checking each word individually.
  2. Step 2: Check first letter of each word

    Count only words whose first letter is 'a' to meet the problem requirement.
  3. Final Answer:

    Split the sentence into words and check each word's first letter -> Option C
  4. Quick Check:

    Check first letter of each word [OK]
Hint: Split sentence, check first letter of each word [OK]
Common Mistakes:
  • Counting all 'a's, not just word starts
  • Sorting words unnecessarily
  • Replacing letters before counting
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard