Week 1 — Quiz (auto-graded) · Intro to Computing & Computational Thinking
Course: Introduction to Computer Science — CS1 / Programming Fundamentals in Python (CSCI 1101) · Silver Oak University (fictional sample) · Prof. Okafor
Objective tested: Objective 1 — computational thinking; writing & running a first program; tracing print output; reading errors.
Points: 10 (1 each) · Assignment group: Quizzes (10% of grade) · Due: end of Module 1.
This is the human-readable quiz with its vetted answer key and feedback. The import-ready Classic QTI is in
F-quiz-week-01-qti.xml(generated by the shared validated script — parses with 10 items, every single-answer item exactly one correct). Execution gate: PASS — every "what does this print?" key below was produced by actually running the code in Python, not hand-traced. The Canvas placement block is at the bottom of this file.
Blueprint
| # | Type | Concept | Objective |
|---|---|---|---|
| 1 | Multiple choice | What a program / algorithm is (computational thinking) | 1 |
| 2 | Multiple choice | Programs run top-to-bottom (predict output order) | 1 |
| 3 | Multiple choice | Predict the output — operator precedence (2 + 3 * 4) |
1 |
| 4 | Multiple choice | Predict the output — string join vs. add ("2" + "3") |
1 |
| 5 | Multiple answer | True statements about print, strings, and running code |
1 |
| 6 | Matching | Term → meaning (algorithm / string / comment / NameError) | 1 |
| 7 | Multiple choice | Debugging — Print("hello") (case sensitivity) |
1 |
| 8 | True / False | "print and Print are the same" misconception |
1 |
| 9 | Multiple choice | Predict the output — print with commas |
1 |
| 10 | Multiple choice | Reading an error — missing ) is a SyntaxError |
1 |
No trick questions; distractors are plausible mis-traces (left-to-right arithmetic, string-vs-number confusion, wrong error type).
Questions, key, and feedback
Q1 (MC). In programming, an algorithm is best described as —
- A. a programming language like Python
- B. a step-by-step plan for solving a problem ✅
- C. an error message the computer displays
- D. a piece of computer hardware
Feedback: An algorithm is the step-by-step plan for solving a problem, independent of any language. Writing that plan in Python (or any language) is coding. (A is a language; C is an error; D is hardware.)
Q2 (MC). What does this program display?
print("first")
print("second")
- A.
secondthenfirst - B.
firstthensecond(on two lines) ✅ - C.
first secondon one line - D.
firstsecond
Feedback: A program runs its statements top to bottom, and eachprintputs its text on its own line. So you getfirst, thensecond. (Order matters — the computer does exactly what you wrote, in order.)
Q3 (MC). What does this program print?
print(2 + 3 * 4)
- A.
20 - B.
14✅ - C.
24 - D.
9
Feedback: Operator precedence: multiplication happens before addition, so3 * 4 = 12, then2 + 12 = 14— not left-to-right (which would wrongly give 20). (Run-verified: the program prints14.)
Q4 (MC). What does this program print?
print("2" + "3")
- A.
5 - B.
23✅ - C.
2 + 3 - D. an error
Feedback: The quotes make these strings, and+joins strings instead of adding them, so"2" + "3"is"23". (Without quotes,print(2 + 3)would print5. The quotes change the meaning. Run-verified:23.)
Q5 (Multiple answer — select all that apply). Which of the following statements are true?
- A. print() displays text on the screen ✅
- B. A program runs its statements from top to bottom ✅
- C. print(2 + 3) displays 23
- D. Text inside quotation marks is called a string ✅
- E. Python ignores capitalization, so Print and print both work
Feedback: print displays output (A), programs run top-to-bottom (B), and quoted text is a string (D). C is false — print(2 + 3) prints 5 (numbers add). E is false — Python is case-sensitive, so Print is not the command.
Q6 (Matching). Match each term to its meaning.
| Term | Correct meaning |
|---|---|
| Algorithm | A step-by-step plan for solving a problem |
| String | Text inside quotation marks |
| Comment | A note after # that Python ignores |
| NameError | Using a name Python doesn't recognize (e.g., a forgotten quote) |
Feedback: An algorithm is the plan; a string is quoted text; a comment (#) is a note for humans that Python skips; a NameError happens when you use a name Python doesn't know (often a forgotten pair of quotes).
Q7 (MC). This program does not run:
Print("hello")
What is wrong, and how do you fix it?
- A. Nothing is wrong; it prints hello
- B. Print is capitalized; Python is case-sensitive, so use lowercase print ✅
- C. The quotation marks are wrong; remove them
- D. You must add a semicolon at the end
Feedback: Python is case-sensitive — only lowercase print is the built-in command, so Print("hello") raises NameError: name 'Print' is not defined. The fix is print("hello"). (Removing the quotes (C) would cause a different error; Python doesn't need semicolons (D).)
Q8 (True / False). "In Python, print and Print mean the same thing."
- True
- False ✅
Feedback: False. Python is case-sensitive: print is the built-in command, but Print is an unknown name (it raises a NameError). Capitalization matters everywhere in Python.
Q9 (MC). What does this program print?
print("CS", "is", "fun")
- A.
CSisfun - B.
CS is fun✅ - C.
"CS", "is", "fun" - D.
CS,is,fun
Feedback: When you giveprintseveral values separated by commas, it displays them with a single space between each, so you getCS is fun. (The quotes aren't printed, and the commas become spaces, not commas. Run-verified:CS is fun.)
Q10 (MC). You run this line:
print("hi"
Python refuses to run it and reports an error. What type of error is this?
- A. a NameError, because hi is undefined
- B. a SyntaxError, because the closing parenthesis ) is missing ✅
- C. no error; it prints hi
- D. a TypeError, because strings can't be printed
Feedback: A missing ) breaks Python's grammar, so Python reports a SyntaxError ('(' was never closed) and won't run any of the code. The fix is to add the ). (A NameError is for unknown names — not the issue here; strings print fine.)
Answer key (quick reference)
| Q | Answer |
|---|---|
| 1 | B |
| 2 | B |
| 3 | B (14) |
| 4 | B (23) |
| 5 | A, B, D |
| 6 | Algorithm→plan / String→quoted text / Comment→note after # / NameError→unknown name |
| 7 | B |
| 8 | False |
| 9 | B (CS is fun) |
| 10 | B (SyntaxError) |
Quality gate (self-checked): each single-answer item has exactly one correct option; the multiple-answer item keys A, B, D (and requires C and E unselected); the matching item pairs four terms to four distinct meanings. Execution gate: PASS — the keys for the predict-the-output items (Q2 first/second; Q3 14; Q4 23; Q9 CS is fun) and the error items (Q7 NameError; Q10 SyntaxError) were each produced by running the code in Python, not hand-traced. Distractors are plausible mis-traces (Q3 20 = left-to-right; Q4 5 = treating strings as numbers).
Item-bank entries (for variants + the midterm/final)
All ten items are tagged course=CSCI1101 · week=1 · objective=1 · topic=computational-thinking-and-first-program and deposited in Item Bank: Week 1 — Intro to Computing. The midterm (Week 8) and the per-term variant updates draw fresh items from this bank. (Tags: q1 algorithm, q2 top-to-bottom, q3 precedence, q4 string-join, q5 true-statements, q6 vocab-match, q7 debug-case, q8 case-sensitive, q9 print-commas, q10 syntaxerror.)
Canvas placement block
canvas_object = Quizzes::Quiz
title = "Week 1 Quiz — Intro to Computing & Computational Thinking"
assignment_group = "Quizzes"
points_possible = 10
grading_type = points
due_offset_days = 6 # 6 days after module start
published = true
shuffle_answers = true
ai_permitted = false # AI is not permitted on quizzes
provenance = "~ Prof. Okafor's edition · Fall 2026 · built with thecoursemaker.com"
F-quiz-week-01-qti.xml) ships inside the course's .imscc package — it lands in the Canvas gradebook on import.~ Prof. Okafor's edition · Fall 2026 · built with thecoursemaker.com