Skip to main content
Engineering LibreTexts

4.5.2: Review Questions

  • Page ID
    118448
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\dsum}{\displaystyle\sum\limits} \)

    \( \newcommand{\dint}{\displaystyle\int\limits} \)

    \( \newcommand{\dlim}{\displaystyle\lim\limits} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Review Questions

    1 .
    What is the difference between machine code and assembly language?
    1. Machine code is written in a textual format, while assembly language is written in hexadecimal.
    2. Machine code is executed directly by the CPU, while assembly language must be interpreted.
    3. Machine code is written in binary, while assembly language is written in a textual format.
    4. Machine code and assembly language both require a compiler to be executed.
    2 .
    Why are middle-level programming languages like C important?
    1. They are used exclusively for Web development.
    2. They are used to create systems software, such as operating system kernels.
    3. They do not allow access to hardware features.
    4. They are used only for academic purposes.
    3 .
    What is an advantage of high-level programming over low-level programming?
    1. High-level programming languages are less time-consuming for the programmer.
    2. High-level programming languages are slower.
    3. High-level programming languages have a lower level of abstraction.
    4. High-level languages offer less security and reliability.
    4 .
    What defines the order of code execution in the imperative programming paradigm?
    1. the compiler
    2. data flow and transformations
    3. the steps in the code
    4. There is no specific order of execution.
    5 .
    What is the difference between an IDE and a development environment that is not an IDE?
    1. An IDE is a single tool for coding, while a non-IDE environment requires no tools.
    2. An IDE bundles all of the tools into one app with a graphical interface, while a non-IDE environment is a collection of several tools.
    3. An IDE uses only command-line programs, while a non-IDE environment uses graphical tools.
    4. A non-IDE environment uses graphical tools only.
    6 .
    What is a critical step that a programmer must focus on when participating in the development of a C program?
    1. planning the development
    2. documenting the code
    3. fully testing the code
    4. generating code
    7 .
    What is “ELF” in C programming?
    1. a function library for C programs
    2. an error logging framework in C
    3. a coding standard for writing C programs
    4. a file format for object code
    8 .
    Why is linking necessary in C programming?
    1. to combine separate object files into a single executable or library
    2. to compile the source code into object code
    3. to debug the program before it is executed
    4. to run the compiled program on the operating system
    9 .
    What is a core?
    1. a type of memory used for storing data in a computer
    2. an individual processor in a CPU chip that can execute instructions
    3. a program that runs on a computer
    4. a software module that manages system resources
    10 .
    What is a thread in the context of computing?
    1. a single task that executes on a core
    2. a component that stores data in a database
    3. a network connection between two computers
    4. a type of memory used in parallel computing
    11 .
    What are the roles of a parent thread and child thread in parallel computing?
    1. The child thread starts other threads and manages the program’s execution.
    2. The parent thread performs tasks assigned by the child thread.
    3. The parent thread starts child threads, monitors them, and cleans the program.
    4. Both parent and child threads perform the same tasks simultaneously.
    12 .
    What are examples of parallel programming models?
    1. single-threaded and multi-threaded
    2. interpreter and compiler
    3. input/output and file systems
    4. shared memory and message passing
    13 .
    What is firmware?
    1. a code that interacts with hardware devices
    2. a type of high-level software with high abstraction
    3. an operating system that runs on embedded devices
    4. a hardware component that updates software
    14 .
    Why is it recommended to start with simple hardware kits when learning embedded systems engineering?
    1. Simple kits provide advanced processors.
    2. Simple kits are intended for industrial use and can be used for complex processes.
    3. Simple kits allow users to build digital circuit design and explore firmware development.
    4. Simple kits require extensive prior knowledge of x86-64 architecture.
    15 .
    What features does the Rust programming language offer that makes Rust more desirable then C?
    1. Since the language is object oriented, there is higher level data types.
    2. Rust is a high-level language, so it tends to be more readable.
    3. Rust provides a standard library and C does not.
    4. Has the same positive features of C and includes new features supporting higher level data types and parallel programming.

    This page titled 4.5.2: Review Questions is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by OpenStax via source content that was edited to the style and standards of the LibreTexts platform.

    • Was this article helpful?