Programming Paradigms
Language Levels
C Programming
Computing Systems
IoT & Parallel Computing
100

What programming paradigm involves giving a series of specific steps for the computer to follow?

Imperative programming

100

What type of programming language has a high level of abstraction?

High-level language

100

What command process takes C source code and produces assembly code?

Compiler

100

What open-source organization developed the GCC compiler?

GNU Project

100

What does IoT stand for?

Internet of Things

200

What programming paradigm organizes code into reusable “objects” that contain data and functions?

Object-oriented programming

200

Give an example of a high-level language.

Javascript

200

What process happens after compiling and before linking?

Assembling

200

What low-level code provides a direct interface to hardware?

Firmware

200

Give an example of an IoT device.

Smart thermostat, motion sensor, or light bulb

300

Which type of programming allows multiple tasks to run at the same time?

Concurrent programming

300

What is a low-level programming language example?

Assembly

300

What is the output of the linking process?

Executable program

300

What type of processor helps render real-time graphics in games?

GPU

300

What computing approach uses multiple processors working together simultaneously?

Parallel computing

400

What is a disadvantage of using GOTO statements in programming?

It can make code hard to read and maintain.

400

Which level of programming language is often used to build operating systems and kernels?

Middle-level

400

What type of variable in C stores the memory address of another variable?

Pointer

400

What happens when memory is allocated but never released?

Memory leak

400

Difference between high-level vs low-level languages & abstrction

High-level languages are less labor-intensive due to abstraction; programmers can focus on structure instead of hardware details. Low-level languages require managing specific architecture and hardware directly.

500

What paradigm is associated with executing parts of a program simultaneously to increase performance?

Parallel programming

500

Explain one advantage of high-level languages compared to low-level languages.

Easier to write and maintain; less hardware-specific.

500

Why might static libraries be less efficient than dynamic libraries?

They duplicate code in executables and must be re-linked for every update.

500

What type of file is provided when creating a library for other programs to integrate?

Shared object or dynamic linked library

500

Describe how parallel computing improves performance.

It allows multiple processes to execute at once, reducing runtime for large tasks.