Updated Jun-2026 100% Cover Real Foundations-of-Computer-Science Exam Questions - 100% Pass Guarantee [Q37-Q54]

Share

Updated Jun-2026 100% Cover Real Foundations-of-Computer-Science Exam Questions - 100% Pass Guarantee

Use Real WGU Dumps - 100% Free Foundations-of-Computer-Science Exam Dumps

NEW QUESTION # 37
What happens if you try to create a NumPy array with different types?

  • A. The array will be created with no issues.
  • B. The array will contain a single type, converting all elements to that type.
  • C. The array will be split into multiple arrays, one for each type.
  • D. The array will be created, but calculations will not be possible.

Answer: B

Explanation:
When NumPy constructs an ndarray, it chooses a single data type called the dtype for the entire array. This is a defining feature of NumPy arrays: unlike Python lists, which can hold mixed object types freely, a NumPy array is designed for efficient numerical computation by storing values in a uniform, contiguous representation. Therefore, if you provide mixed types at creation time, NumPy will select a dtype that can represent all provided values and will convert elements as needed.
This process is commonly described as type promotion or coercion to a common type. For example, mixing integers and floats produces a float array because floats can represent integers without loss of generality.
Mixing numbers and strings often results in a string dtype (or, in some cases, an object dtype), because numbers can be converted to their string representations. Once the dtype is chosen, the array behaves consistently under vectorized operations appropriate for that dtype.
Option B correctly summarizes this textbook behavior: the array will contain a single type, converting all elements to that type. Option A is too absolute-many mixed-type arrays still support calculations depending on the resulting dtype. Option C is vague and misses the crucial fact that conversion occurs. Option D is not how NumPy works; it never automatically splits inputs into multiple arrays by type.
Understanding dtype coercion matters because it affects memory usage, performance, and whether numerical operations behave as expected.


NEW QUESTION # 38
What is a correct call to the linear search defined as def linear_search(customersList, search_value): ?

  • A. search_linear(customersList, search_value)
  • B. linear_search()(customersList)
  • C. find_linear(customersList)
  • D. print(linear_search(customersList, search_value))

Answer: D

Explanation:
A function definition in Python specifies a function name and a list of parameters. Here, def linear_search (customersList, search_value): defines a function named linear_search that requirestwo argumentswhen called: a list (or sequence) of customer items and the value being searched for. A correct call must therefore supply both arguments in the same order: linear_search(customersList, search_value). Option B is correct because it calls the function properly and then prints the returned result.
Textbooks describe linear search as scanning the list from the beginning to the end, comparing each element to search_value until a match is found or the list ends. The function typically returns an index (e.g., position of the match) or a Boolean, or possibly -1/None if not found. Wrapping the call in print(...) is a standard way to display the returned value for testing or demonstration.
Option A is incorrect because it calls a different function name, not linear_search. Option C is incorrect because linear_search() would attempt to call the function with zero arguments, which would raise a TypeError, and then it tries to call the result as if it were another function. Option D uses a different function name (search_linear) and also contains a spelling mismatch compared to the given definition.


NEW QUESTION # 39
The np_2d array stores information about multiple family members. Each row represents a different person, and the columns store family member attributes in the following order:
Age (years)
Weight (pounds)
Height (inches)
How is the weight of all family members selected from the np_2d array?

  • A. np_2d[:, 1]
  • B. np_2d[1, :]
  • C. np_2d[:, 2]
  • D. np_2d[2, :]

Answer: A

Explanation:
In a 2D NumPy array, rows and columns represent different dimensions of the data. The indexing form array
[row_selection, column_selection] allows you to select entire rows, entire columns, or submatrices. The slice :
means "all indices along this dimension." Since each row corresponds to a family member (a person), selecting weights forallfamily members means selectingall rowsfor the weight column.
The problem states the columns are ordered as: Age (column 0), Weight (column 1), Height (column 2).
Therefore, the weight column has index 1. The expression np_2d[:, 1] uses : to take every row and 1 to take the second column, producing a 1D array (or a column view) containing the weight values for all people.
Option A, np_2d[:, 2], would select the height column, not weight. Option C, np_2d[2, :], selects the third row (the third person) and all columns-age, weight, and height for just that one person. Option D, np_2d[1, :], selects the second person's entire row.
This column selection technique is fundamental in data analysis because datasets are often stored as
"rows = observations, columns = features," and extracting a feature vector is a frequent operation before computing statistics or building models.


NEW QUESTION # 40
Which statement describes the data type restriction found in most NumPy arrays?

  • A. NumPy arrays adapt to the most complex data type on the fly.
  • B. NumPy arrays are restricted to string data types only.
  • C. NumPy arrays must be of the same type of data.
  • D. NumPy arrays can only hold integer data types.

Answer: C

Explanation:
Most NumPy arrays enforce a key constraint: all elements share the samedtype(data type). This uniform typing is foundational to NumPy's performance model. Because each element has the same size and representation, NumPy can store the array in a contiguous memory block and apply low-level, vectorized operations efficiently. This is why NumPy is widely used for numerical computing, statistics, and data analysis: operations like addition, multiplication, and reductions (sum/mean) can be implemented in optimized compiled code without per-element Python overhead.
Option B captures this textbook principle: elements in a typical ndarray are of the same data type. The other options are incorrect. NumPy is not restricted to strings (A), and it is not limited to integers (C); it supports floats, complex numbers, booleans, fixed-width strings, datetime types, and many others. Option D is misleading: NumPy does not continuously "adapt on the fly" during normal use. The dtype is generally fixed once the array exists. What NumPydoesdo is choose an appropriate common dtype when you create an array from mixed inputs (for example, mixing ints and floats yields floats). But after creation, assignments are cast into the existing dtype rather than dynamically changing the dtype to accommodate new values.
This restriction is precisely what differentiates NumPy arrays from Python lists and enables predictable memory layout and fast numerical computation.


NEW QUESTION # 41
Which statement describes the relationship between trees and graphs?

  • A. Trees cannot have cycles.
  • B. Trees can have unconnected nodes.
  • C. Trees do not have levels.
  • D. Trees can have cycles.

Answer: A

Explanation:
In discrete mathematics and computer science, atreeis a special kind ofgraph. The standard graph-theory definition is that a tree is aconnected, acyclicundirected graph. "Acyclic" means it containsno cycles, i.e., you cannot start at a vertex, follow a sequence of edges, and return to the starting vertex without repeating edges in a way that forms a loop. (Wikipedia) This property is exactly what makes option D correct.
The other options contradict the definition. If a structure has cycles, it is not a tree (though it may still be a graph). If it has unconnected nodes, it is not connected; such a structure is more like aforest(a disjoint union of trees) rather than a single tree. (Wikipedia) The idea of "levels" belongs to a particular computer-science representation called arooted tree, where one node is chosen as the root and nodes can be assigned depths
/levels based on distance from the root. But levels are not required in the abstract definition of a tree as a graph; they arise from choosing a root and orientation for convenience in algorithms like BFS/DFS, heaps, and parse trees.
So, the relationship is: every tree is a graph with extra structure-specifically, no cycles and (typically) connectivity-and the "no cycles" rule is the key distinguishing feature. (Discrete Mathematics)


NEW QUESTION # 42
What is the time complexity of a binary search algorithm?

  • A. O(2^n)
  • B. O(log n)
  • C. O(n)
  • D. O(n^2)

Answer: B

Explanation:
Binary search is a classic algorithm for finding a target value in asortedlist or array. Its key idea is to eliminate half of the remaining search space at each step. The algorithm compares the target with the middle element. If the target is smaller, it continues searching in the left half; if larger, it searches the right half.
Because each comparison reduces the problem size from n to approximately n/2, the number of steps grows with the number of times you can halve n before reaching 1 element.
This repeated halving leads to a logarithmic running time. Formally, the recurrence is often written as T(n) = T (n/2) + O(1), which solves to T(n) = O(log n). (GeeksforGeeks) Textbooks emphasize that this is dramatically faster than linear search (O(n)) for large datasets, but only when the data is already sorted (or can be sorted once and searched many times).
The other options do not match binary search behavior: O(n^2) is typical of certain nested-loop algorithms, and O(2^n) is associated with exponential-time brute force in combinatorial problems.
Binary search's hallmark is its logarithmic growth in comparisons, making it a foundational technique in algorithms courses. (GeeksforGeeks)


NEW QUESTION # 43
Which is the most powerful command line interface on Windows systems?

  • A. PowerShell
  • B. Command Prompt
  • C. Control Panel
  • D. Task Manager

Answer: A

Explanation:
On Windows,PowerShellis generally regarded as the most powerful command-line environment because it is both a shell and a scripting language designed for system administration and automation. Traditional Command Promptfocuses on running console commands and batch files with plain-text input and output.
PowerShell, by contrast, uses an object-oriented pipeline: commands (calledcmdlets) output structured objects rather than raw text. This enables more reliable scripting and data manipulation, since you can filter, sort, and transform results without fragile text parsing.
Textbooks covering operating systems and administration emphasize automation and management at scale.
PowerShell integrates tightly with Windows management technologies, such as WMI/CIM, the registry, services, event logs, and Active Directory environments. It also supports remote management, scripting modules, robust error handling, and modern security features. This makes it particularly suitable for tasks like provisioning users, configuring machines, auditing systems, and orchestrating deployments.
The other options are not command-line interfaces in the same sense. Task Manager is a GUI tool for viewing processes and performance. Control Panel is also GUI-based for system configuration. Command Prompt is a command line interface, but it is less capable for complex administration compared to PowerShell's scripting and object pipeline.
Therefore, from a computer science and systems perspective, PowerShell is the most powerful Windows CLI environment among the choices.


NEW QUESTION # 44
What is another term for the inputs into a function?

  • A. Outputs
  • B. Variables
  • C. Procedures
  • D. Arguments

Answer: D

Explanation:
In programming, a function takes inputs, performs computation, and may return an output. The standard term for a function's inputs isarguments(also commonly discussed alongside the closely related termparameters).
Textbooks typically distinguish the two:parametersare the names listed in the function definition, while argumentsare the actual values supplied when the function is called. For example, in def f(x, y):, x and y are parameters. In the call f(3, 5), 3 and 5 are arguments. Many introductory materials use "arguments" informally to refer to the inputs overall, which matches the wording of this question.
Options A, B, and C do not fit the textbook definition. "Variables" is too broad; inputs can be literals, expressions, or variables, but the conceptual role is "arguments." "Procedures" are callable units of code (often used in some languages to mean functions without return values), not the inputs. "Outputs" refers to returned results, not what you pass in.
Understanding arguments is important because it connects to call semantics, scope, and correctness.
Different languages support positional arguments, keyword arguments, default values, and variadic arguments (e.g., *args, **kwargs in Python). This flexibility shapes API design and influences how programmers structure reusable code.


NEW QUESTION # 45
What is a key advantage of using NumPy when handling large datasets?

  • A. Built-in machine learning algorithms
  • B. Interactive visualizations
  • C. Efficient storage and computation
  • D. Automatic data cleaning

Answer: C

Explanation:
NumPy's key advantage for large datasets isefficient storage and fast computation. Unlike Python lists, which store references to objects and can have per-element overhead, NumPy arrays store data in a compact, homogeneous format (single dtype) in contiguous or strided memory. This reduces memory usage and improves cache locality, which is crucial for performance on large arrays. Additionally, NumPy operations are vectorized: many computations run in optimized compiled code rather than interpreted Python loops. This enables large speedups for arithmetic, linear algebra, statistics, and transformations over entire arrays.
Option A is incorrect because NumPy itself does not provide full machine learning algorithms; those are typically found in libraries like scikit-learn, though they build on NumPy. Option B is incorrect because NumPy does not automatically clean data; data cleaning is usually done with pandas or custom logic. Option D is incorrect because interactive visualizations are typically handled by libraries like matplotlib, seaborn, or plotly, not by NumPy.
Textbooks in scientific computing highlight that NumPy forms the computational foundation of the Python data ecosystem. Its array model supports broadcasting, slicing, and efficient aggregations, all of which are essential when working with millions of numeric values. By combining compact memory layout with compiled numerical kernels, NumPy enables scalable analysis and simulation workloads that would be slow or memory-heavy using pure Python lists.


NEW QUESTION # 46
What is the correct way to represent a boolean value in Python?

  • A. true
  • B. "True"
  • C. True
  • D. "true"

Answer: C

Explanation:
Python has a built-in boolean type named bool, which has exactly two values: True and False. These are language keywords/constants and are case-sensitive. Therefore, the correct representation of a boolean value is True (capital T, lowercase rest) or False (capital F). This is consistently taught in introductory programming textbooks because it affects conditional statements (if, while), logical operations (and, or, not), and comparisons.
Option A, "True", is a string literal, not a boolean. While it visually resembles the boolean constant, it behaves differently: non-empty strings are "truthy" in conditions, but "True" == True is false because they are different types (str vs bool). Option B, "true", is also a string, and it differs in casing as well. Option D, true, is not valid in Python; it will raise a NameError unless a variable named true has been defined.
Textbooks also stress that boolean values often result from comparisons, such as x > 0, and that booleans are a subtype of integers in Python (True behaves like 1 and False like 0 in arithmetic contexts). Still, their primary use is representing logical truth values for control flow and decision- making.


NEW QUESTION # 47
What is an ndarray in Python?

  • A. An n-dimensional array object provided by the NumPy library.
  • B. A built-in Python data array used to store collections of items.
  • C. A module that provides network socket functions similar to XML.
  • D. A native Python object that represents a tree-like hierarchical data structure.

Answer: A

Explanation:
An ndarray is NumPy's fundamental data structure: ann-dimensional arraydesigned for efficient numerical computation. The term stands for "N-dimensional array," and it is implemented as numpy.ndarray. Unlike Python's built-in list, an ndarray stores elements in a compact, homogeneous format defined by its dtype (such as integers or floating-point numbers). This uniform representation enables fast, vectorized operations and efficient use of memory, which is why ndarray is central in scientific computing and data analysis.
An ndarray supports multiple dimensions: a 1D array behaves like a vector, a 2D array like a matrix (rows and columns), and higher-dimensional arrays represent tensors. Textbooks emphasize that ndarray operations are typically element-wise by default (for example, a + b adds corresponding elements), and that slicing and broadcasting allow powerful computations without explicit loops. This approach is both expressive and efficient because the heavy lifting happens in optimized low-level code.
Option A is incorrect because ndarray is not built into core Python; it comes from NumPy. Option B describes a tree, which is a different data structure entirely. Option D is incorrect because sockets and XML-related functionality belong to other parts of Python's standard library, not to NumPy or ndarray.
In short, an ndarray is the primary array object of NumPy, providing high-performance multi- dimensional numerical storage and computation.


NEW QUESTION # 48
What Python code would return the value 40 from np_2d, where np_2d = np.array([[1, 2, 3, 4], [10, 20, 30,
40]])?

  • A. np_2d[1, 3]
  • B. np_2d[4, 1]
  • C. np_2d[0, 4]
  • D. np_2d[3, 1]

Answer: A

Explanation:
In a 2D NumPy array, indexing is written as array[row_index, column_index] using zero-based indices. The array np_2d = np.array([[1, 2, 3, 4], [10, 20, 30, 40]]) has two rows (indices 0 and 1) and four columns (indices 0, 1, 2, 3). The value 40 is located in the second row and the fourth column. Using zero-based indexing, that corresponds to row index 1 and column index 3. Therefore, np_2d[1, 3] returns 40.
Option A attempts to access row 3, which does not exist and would raise an IndexError. Option C attempts to access column 4 in row 0, but valid column indices are only 0 through 3, so it would also error. Option D likewise refers to a non-existent row 4. Only option B uses valid indices and points to the correct location.
Textbooks emphasize multi-dimensional indexing because it underlies matrix operations, dataset manipulation, and feature extraction in data science. Correctly interpreting rows and columns is essential when rows represent observations (like people) and columns represent attributes (like age, weight, height). This question tests precise control over row/column addressing, which prevents subtle bugs in numerical analysis.


NEW QUESTION # 49
What is the layer of programming between the operating system and the hardware that allows the operating system to interact with it in a more independent and generalized manner?

  • A. The file system layer
  • B. The hardware abstraction layer
  • C. The task scheduler layer
  • D. The boot loader layer

Answer: B

Explanation:
TheHardware Abstraction Layer (HAL)is a software layer that sits between the operating system kernel and the physical hardware. Its purpose is to hide hardware-specific details behind a consistent interface, allowing the OS to be more portable and easier to maintain across different hardware platforms. Textbooks explain that without abstraction, the OS would need extensive device- and architecture-specific code scattered throughout the kernel, making updates and cross-platform support far more difficult.
The HAL typically provides standardized functions for interacting with low-level components such as interrupts, timers, memory mapping, and device I/O. With a HAL, the OS can call general routines (for example, to configure an interrupt controller) while the HAL handles the platform-specific implementation.
This supports a key systems principle: separate policy (what the OS wants to do) from mechanism (how hardware accomplishes it).
The other options are not correct. A boot loader runs at startup to load the operating system into memory; it is not the general interface layer during normal operation. The task scheduler is a kernel subsystem that manages CPU time among processes, not a hardware-independence layer. The file system layer manages storage organization and access semantics; it is not the general abstraction for all hardware interactions.
Therefore, the programming layer that enables generalized OS interaction with hardware is the hardware abstraction layer.


NEW QUESTION # 50
What is the likely cause if a default Python configuration does not recognize a NumPy array as an allowed data structure?

  • A. The Python version is outdated.
  • B. The array module is not imported.
  • C. The Python interpreter is misconfigured.
  • D. The NumPy package is not present.

Answer: D

Explanation:
NumPy arrays are not a built-in Python data structure. In a default Python installation, the interpreter includes core types such as int, float, str, list, tuple, dict, and set, plus the standard library. A NumPy array, typically created as numpy.ndarray, is provided by the third-party NumPy library. Therefore, if a "default Python configuration" does not recognize a NumPy array, the most likely cause is thatNumPy is not installed or not available in the active environment. This happens often when a user has multiple Python environments (system Python, virtual environments, conda environments) and installs NumPy into one environment while running code in another.
Option B is incorrect because Python's standard-library array module is different from NumPy. Importing array does not create or enable NumPy's ndarray type. Option C is possible in rare cases,but the typical, textbook-aligned explanation is missing dependencies rather than an incorrectly configured interpreter. Option D is also unlikely: while very old Python versions may cause compatibility issues with modern NumPy releases, the symptom described-NumPy arrays not being recognized at all-more directly indicates the package is absent in the running environment.
In practice, verifying import numpy and checking the installed packages for the current interpreter resolves the issue.


NEW QUESTION # 51
What is the main advantage of using NumPy arrays over regular Python lists for data analysis?

  • A. NumPy arrays can only hold elements of the same type.
  • B. NumPy arrays can bring different types into the array at the same time.
  • C. NumPy arrays can concatenate lists by default.
  • D. NumPy arrays can perform calculations over entire collections of values.

Answer: D

Explanation:
The primary advantage of NumPy arrays in data analysis is their support for fast, vectorized computation over whole collections of numeric data. A NumPy `ndarray` stores elements in a contiguous memory block with a single, fixed data type, enabling efficient low-level operations implemented in optimized C/Fortran code. As a result, expressions like `arr + 5`, `arr * arr`, or `np.mean(arr)` operate over the entire array without explicit Python loops. This style is commonly called **vectorization**, and it is a central theme in scientific computing textbooks because it is both clearer to read and significantly faster for large datasets.
Option A describes a property of Python lists, not NumPy arrays. Python lists can mix types freely, but this flexibility comes with overhead. Option B is true-NumPy arrays typically hold a single dtype-but it is not the main advantage; it is more of an implementation feature that enables speed and memory efficiency.
Option D is not a defining advantage; both lists and arrays can be concatenated, and NumPy provides dedicated functions such as `np.concatenate`, but concatenation is not the core reason NumPy dominates data analysis workflows.
# Because NumPy operations are applied element-wise across entire arrays and can leverage CPU vector instructions and efficient memory access patterns, they form the foundation for higher-level tools like pandas, SciPy, and many machine learning libraries. This is why the best answer is that NumPy arrays can perform calculations over entire collections of values.


NEW QUESTION # 52
What is the output of print(employees[3]) when employees = ["Anika", "Omar", "Li", "Alex"]?

  • A. "Omar"
  • B. "Alex"
  • C. "Li"
  • D. "Anika"

Answer: B

Explanation:
Python lists are ordered sequences indexed starting from 0. This zero-based indexing is standard in many programming languages and is a core concept in data structures. For the list `employees = ["Anika", "Omar",
"Li", "Alex"]`, the mapping of indices to elements is: index 0 # "Anika", index 1 # "Omar", index 2 # "Li", index 3 # "Alex". Therefore, the expression `employees[3]` selects the element at index 3, which is `"Alex"`, and `print(employees[3])` outputs `Alex` (strings print without quotes in normal output).
Option A would be correct for `employees[1]`, option D would be correct for `employees[2]`, and option C would be correct for `employees[0]`. This kind of question tests understanding of list indexing, which is essential for iteration, slicing, and algorithm implementation.
# Textbooks also note the difference between indexing and slicing: indexing returns a single element, while slicing returns a sublist. Here, because square brackets contain a single integer index, it is indexing. If you attempted an index that is out of range, Python would raise an `IndexError`, which reinforces careful reasoning about list length and positions. Understanding these fundamentals is critical for correctly manipulating datasets, where row/column positions and offsets frequently matter.


NEW QUESTION # 53
What stores the location of the next node in a linked list?

  • A. The pointer
  • B. The header
  • C. The value
  • D. The index

Answer: A

Explanation:
A linked list is a dynamic data structure made up of nodes, where each node typically contains two components: a data field (the value being stored) and a link field (commonly called a pointer or reference).
The pointer's role is to store the memory address (or reference) of the next node in the sequence, thereby maintaining the logical order of the list even though nodes may be scattered throughout memory. This is a key contrast with arrays, which store elements contiguously and rely on index arithmetic to locate the next element.
Because each node explicitly points to the next node, linked lists support efficient insertion and deletion operations compared with arrays. To insert a node, you allocate it and then adjust pointers so it fits into the chain. To delete a node, you redirect the pointer of the previous node to skip over the removed node.
Traversal is performed by starting at the head node and repeatedly following the pointer until a null reference indicates the end of the list.
The other options do not correctly describe what stores the location of the next node. An index is used in array-like structures, not in a standard linked list node. The value is the payload data, not the link.
The "header" (often called the head pointer) is an external reference to the first node, not the field inside each node that links to the next. Therefore, the correct answer is the pointer.


NEW QUESTION # 54
......

Foundations-of-Computer-Science Dumps PDF - Foundations-of-Computer-Science Real Exam Questions Answers: https://www.certkingdompdf.com/Foundations-of-Computer-Science-latest-certkingdom-dumps.html

Realistic Foundations-of-Computer-Science Dumps Latest Practice Tests Dumps: https://drive.google.com/open?id=1-fikr5c-q7hBfe7Dv2p2nq9e6CGy_3ij