Escrito por estudiantes que aprobaron Inmediatamente disponible después del pago Leer en línea o como PDF ¿Documento equivocado? Cámbialo gratis 4,6 TrustPilot
logo-home
Document preview thumbnail
Vista previa 3 fuera de 20 páginas
Examen

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

Document preview thumbnail
Vista previa 3 fuera de 20 páginas

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.

Vista previa del contenido

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

Información del documento

Subido en
11 de mayo de 2026
Número de páginas
20
Escrito en
2025/2026
Tipo
Examen
Contiene
Preguntas y respuestas
$15.50

¿Documento equivocado? Cámbialo gratis Dentro de los 14 días posteriores a la compra y antes de descargarlo, puedes elegir otro documento. Puedes gastar el importe de nuevo.
Escrito por estudiantes que aprobaron
Inmediatamente disponible después del pago
Leer en línea o como PDF

Seller avatar
Los indicadores de reputación están sujetos a la cantidad de artículos vendidos por una tarifa y las reseñas que ha recibido por esos documentos. Hay tres niveles: Bronce, Plata y Oro. Cuanto mayor reputación, más podrás confiar en la calidad del trabajo del vendedor.
BestSellerStuvia
3.6
(676)
Vendido
4795
Seguidores
2078
Artículos
6190
Última venta
4 horas hace


Por qué los estudiantes eligen Stuvia

Creado por compañeros estudiantes, verificado por reseñas

Calidad en la que puedes confiar: escrito por estudiantes que aprobaron y evaluado por otros que han usado estos resúmenes.

¿No estás satisfecho? Elige otro documento

¡No te preocupes! Puedes elegir directamente otro documento que se ajuste mejor a lo que buscas.

Paga como quieras, empieza a estudiar al instante

Sin suscripción, sin compromisos. Paga como estés acostumbrado con tarjeta de crédito y descarga tu documento PDF inmediatamente.

Student with book image

“Comprado, descargado y aprobado. Así de fácil puede ser.”

Alisha Student

Preguntas frecuentes