Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Document preview thumbnail
Preview 3 out of 20 pages
Exam (elaborations)

Computer Science 1033 Final Examination, 2026/2027 – 75-Question Introductory Programming and Computational Thinking Assessment

Document preview thumbnail
Preview 3 out of 20 pages

This document covers the Computer Science 1033 Final Examination for the 2026/2027 academic cycle. It includes 75 questions designed to assess introductory programming knowledge and computational thinking competencies through conceptual, problem-solving, and application-based items. The material supports exam preparation by reinforcing programming fundamentals, algorithms, control structures, functions, data handling, debugging, logical reasoning, and foundational software development concepts.

Content preview

Computer Science 1033 Final Examination 2026/2027

COMPUTER SCIENCE 1033 FINAL EXAMINATION — 2026/2027
Introductory Programming & Computational Thinking Competency Assessment
75 Questions | Testing Time: 120–150 Minutes | Passing Score: 70–75%


Instructions: This examination consists of 75 multiple-choice questions distributed across ten domains of
introductory programming and computational thinking. Each question has four options (A–D) with one
correct answer. Read each question carefully before selecting your response. Code-tracing questions require
you to determine the output or behavior of the given code snippet. Scenario-based questions present real-
world contexts requiring integration of multiple concepts. The correct answer and a detailed rationale are
provided for each question to support self-assessment and targeted review. Manage your time to allocate
approximately 1.5–2 minutes per question.



Domain 1: Algorithms & Problem-Solving Fundamentals

1. Which of the following best describes stepwise refinement?
A. Writing code from bottom to top
B. Breaking a problem into smaller, more manageable subproblems
C. Testing code after every line
D. Compiling code in multiple stages
Correct Answer: B
Rationale: Stepwise refinement is a problem-solving strategy that involves breaking a complex problem
into smaller, more manageable subproblems. Each subproblem is then solved individually, often through
further decomposition, until the solutions are simple enough to implement directly. This approach aligns
with top-down design methodology and produces modular, maintainable code.

2. In a flowchart, what shape is used to represent a decision point?
A. Rectangle
B. Oval
C. Diamond
D. Parallelogram
Correct Answer: C
Rationale: In standard flowchart notation, a diamond shape represents a decision point where the flow
can branch based on a condition (typically yes/no or true/false). Rectangles represent processes, ovals
represent start/end terminals, and parallelograms represent input/output operations.

3. Consider the following pseudocode:

SET sum = 0
FOR i = 1 TO 5
sum = sum + i
ENDFOR
PRINT sum

What value is printed?
A. 10
B. 15
C. 5
D. 20
Correct Answer: B
Rationale: The loop iterates with i taking values 1, 2, 3, 4, and 5. The sum accumulates as 0+1=1, 1+2=3,
3+3=6, 6+4=10, and 10+5=15. This is computing the sum of the first 5 natural numbers, which equals 15.

4. What is the primary characteristic of a recursive algorithm?
A. It uses a loop to repeat operations
B. It calls itself with a smaller or simpler version of the problem
C. It always runs faster than an iterative solution


1

, Computer Science 1033 Final Examination 2026/2027

D. It cannot have a base case
Correct Answer: B
Rationale: A recursive algorithm is defined by its self-referential nature: it calls itself with a modified
(typically smaller or simpler) input. Every correct recursive algorithm must have at least one base case
that terminates the recursion and at least one recursive case that moves toward the base case. Recursion
does not inherently run faster than iteration, and it must have a base case to avoid infinite recursion.

5. Which problem-solving approach begins with the most general description of a task and
progressively adds detail?
A. Bottom-up design
B. Top-down design
C. Agile development
D. Spiral model
Correct Answer: B
Rationale: Top-down design starts with a high-level overview of the entire system and then breaks it down
into smaller, more detailed components. This contrasts with bottom-up design, which starts with individual
components and combines them. The top-down approach naturally aligns with stepwise refinement and is
the dominant methodology taught in introductory programming courses for structuring solutions.

6. In algorithm design, what does 'problem decomposition' refer to?
A. Removing unnecessary code from a program
B. Dividing a complex problem into smaller, independent parts that can be solved separately
C. Decompressing compiled code back into source code
D. Deleting old versions of a program
Correct Answer: B
Rationale: Problem decomposition is the process of dividing a complex problem into smaller, more
manageable subproblems that can be solved independently. This is a fundamental strategy in
computational thinking and software engineering. Each subproblem can be designed, implemented, and
tested separately, which simplifies the overall development process and improves code maintainability.

7. Consider the following pseudocode:

FUNCTION factorial(n)
IF n <= 1 THEN
RETURN 1
ELSE
RETURN n * factorial(n - 1)
ENDIF
ENDFUNCTION
PRINT factorial(4)

What is the output?
A. 16
B. 24
C. 12
D. 4
Correct Answer: B
Rationale: The recursive factorial function computes factorial(4) as 4 * factorial(3), which expands to 4 * 3
* factorial(2) = 4 * 3 * 2 * factorial(1) = 4 * 3 * 2 * 1 = 24. The base case returns 1 when n reaches 1,
terminating the recursion. The full calculation is 4 * 3 * 2 * 1 = 24.

8. Which of the following is NOT a standard algorithm design pattern?
A. Divide and conquer
B. Greedy algorithm
C. Dynamic programming
D. Random compilation
Correct Answer: D
Rationale: Divide and conquer, greedy algorithms, and dynamic programming are all well-established
algorithm design patterns taught in computer science. 'Random compilation' is not a recognized algorithm


2

, Computer Science 1033 Final Examination 2026/2027

design pattern; compilation is a process of translating source code into machine code, not a strategy for
designing algorithms. The other three represent fundamental paradigms for structuring algorithmic
solutions.

Domain 2: Programming Language Syntax & Semantics

9. In Python, what is the result of the expression: ?
A. 3
B. 3.5
C. 3.0
D. 4
Correct Answer: B
Rationale: In Python 3, the single slash operator (/) always performs true division, returning a floating-
point result. Therefore, evaluates to 3.5, not 3. If integer division were desired, the double-slash
operator (//) would be used, yielding 3. This distinction between true division and floor division is an
important feature of Python 3's numeric semantics.

10. Consider the following Python code:

x = 10
y=3
result = x % y
print(result)

What is printed?
A. 3
B. 3.33
C. 1
D. 0
Correct Answer: C
Rationale: The modulo operator (%) returns the remainder of integer division. When 10 is divided by 3, the
quotient is 3 and the remainder is 1 (since 10 = 3 * 3 + 1). Therefore, 10 % 3 evaluates to 1. This operator is
commonly used for tasks such as checking divisibility, determining even/odd numbers, and implementing
circular buffer indexing.

11. Which of the following correctly describes the scope of a variable declared inside a
function?
A. It is accessible from anywhere in the program
B. It is accessible only within that function (local scope)
C. It is accessible from all functions defined after it
D. It is accessible only from the main program
Correct Answer: B
Rationale: A variable declared inside a function has local scope, meaning it is accessible only within that
function. Once the function finishes executing, the local variable is destroyed. This is a fundamental concept
in programming language semantics that supports encapsulation and prevents unintended side effects.
Variables with broader accessibility must be explicitly declared at a higher scope level.

12. Consider the following Python code:

def modify(lst):
lst.append(4)

my_list = [1, 2, 3]
modify(my_list)
print(my_list)

What is printed?
A. [1, 2, 3]
B. [1, 2, 3, 4]
C. [4]

3

Document information

Uploaded on
May 11, 2026
Number of pages
20
Written in
2025/2026
Type
Exam (elaborations)
Contains
Questions & answers
$15.50

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Seller avatar
Reputation scores are based on the amount of documents a seller has sold for a fee and the reviews they have received for those documents. There are three levels: Bronze, Silver and Gold. The better the reputation, the more your can rely on the quality of the sellers work.
BestSellerStuvia
3.6
(676)
Sold
4795
Followers
2078
Items
6190
Last sold
2 hours ago


Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions