Quiz for the course "Software Technology for Internet of Things" F 2025.
Click the button to start the quiz
What's the definition of IoT?
According to this course
A cyber-physical system consisting of a large number of individually and globally addressable devices which have a significant portion of their logic running elsewhere
What are often some of the consequences with IoT?
Siloed access
Lots of external dependencies
Lack of security
What is the definition of big data?
According to this course
A class of processing regimes which primary property is that it relies on a body of data which expands at a rate where processing has become nontrivial
In cloud,fog,edge and mist, what is correct?
According to this course
When going from edge to cloud, processing power increases
When going from cloud to edge, latency decreases
When going from cloud to edge, privacy improves
What languages are typical classified as high-level languages?
According to this course
DSL
Elixir
Erlang
What languages are typical classified as low-level languages?
According to this course
Assembly
Zig
C
Rust
What are typical requirements for programming languages used in IoT, in terms of cloud and fog?
According to this course
Handle high amount of concurrency
Have a high degree of availability
Offer robust low response times
Be mature
Access to frameworks for modeling information (graphs, ontologies)
What are popular BEAM-based languages for IoT, in Cloud and Fog
According to this course
Elixir
Erlang
Back in the 80's, what was some of the properties needed for new platforms?
According to this course
Distribution
Soft real-time properties
Close to zero downtime
What are some of the imperative programming traits?
According to this course
Focus on data
Code is an recipe, data is the ingredients
You tell the steps and how it should be executed
The focus is how the result is reached
What are some of the declarative programming traits?
According to this course
The focus is on what the program shall achieve
Focus on result
Control flow is not explicitly described
You define what the result is
What form is functional programming?
According to this course
Declarative programming
What are some properties of functional programming?
According to this course
Data are immutable
Everything is an expression
Functions are values
Functions are composable through their arguments
Function calls are cheap
There are no loop (in principle)
Functions are first class citizens
When is a functional language considered pure?
According to this course
Only supports pure functions
No side-effects
No randomness
What are pure functions?
According to this course
Functions whose results are depends only on the value of their parameters
When they are idempotent
What are some properties of pure functions?
According to this course
Two functions that are pure, cannot affect each other
Functions can be executed in parallel
Easy to compile
Easy to test
Hard to write
What is one of the key elements highlighted about Elixir?
Pattern matching
Pipelines
Anonymous functions
Higher-Order functions
What is the convention of functions with naming "function"?
Returns a tuple, with the first element being an atom indicating success or failure
What is the convention of functions with naming "function!"?
Returns the result directly, or raises an exception if it fails
What is the convention of functions with naming "function?"?
Returns a boolean indicating success or failure
Works as a "test"
What is an actor in the context of Elixir?
According to this course
A process
Consists of state
Consists of Functionality
Consists of a message queue
What are some properties of actors in the actor model?
According to this course
Actors are isolated from each other
Actors run concurrently
Actors communicate through message passing
Actors are inactive as long as their inbox is empty
Messages are consumed FIFO-style and processed strictly sequentially
Actor is an "Unit of concurrency"
In elixir and actor model, what is synchronous communication?
According to this course
A call
Waits for other process to respond
In elixir and actor model, what is asynchronous communication?
According to this course
A cast
Does not wait for other process to respond
What is a supervisor in the context of Elixir?
According to this course
A type of process
responsible for administrating the lifecycle of a number processes
Starts and stops processes
Handle crashes of processes
What type of restart strategies are available in for the supervisor in Elixir?
According to this course
One for one
One for all
Rest for one
In regards to restart strategies, what does "one for one" mean?
According to this course
Only the crashed process is restarted
Other processes are not affected
In regards to restart strategies, what does "one for all" mean?
According to this course
If one child process crashes, all other child processes are restarted
In regards to restart strategies, what does "rest for one" mean?
According to this course
The process that crashed is restarted
All process listed after the crashed process are restarted
Where is the state of processes stored in Elixir?
According to this course
In a sandboxed process
What is defensive programming and its traits?
According to this course
Handling errors gracefully
Handling errors using if statements
Handling errors using exception handling
What is offensive programming and its traits?
According to this course
Let it fail
It's okay for your code to fail
In terms of cyber-physical systems, what is the approach "A narrow waist"?
According to this course
Having a common interface and interface model between applications and buildings
What is a timeseries database?
According to this course
Persists a values, which are indexed by timestamps
Typically stored as a B+ tree
Used for fast range lookups
What is an ontology?
According to this course
Formal naming and definition of types, properties and interrelationships of entities
Exists in a particular domain
What is correct about ontologies?
According to this course
Formalized language
Things are defined through the type, parameters and relationships to other things
Limited coverage
Focus on a particular field
Models can span multiple ontologies
The ontology in a model
What are some of the challenges when defining ontologies
According to this course
Envisioning how it will be interpreted
How writing to the model affects model consistency
Think in terms of lower abstractions
What do you have to think of, when producing the representation model of an ontologi?
According to this course
Envisioning how it will be interpreted
What do you have to think of, when producing the data, adhering to the data model of an ontology?
According to this course
How writing to the model affects model consistency
What do you have to think of, querying a model of an ontology?
According to this course
Think in terms of lower abstractions
What does RDF stand for?
According to this course
The Resource Description Framework
What is RDF?
According to this course
An ontology defined through triples
Defined through Subject, predicate & object
Namespaces
Subclasses and subproperties
The information lies in the triple
Why does RDF use namespaces for entities?
According to this course
To avoid naming collisions
How are RDF namespaces done?
According to this course
Realized through compact URI (CURI)
Through prefixes
To work with RDF, what query language is used?
According to this course
SparQL
In RDFS and OWL (Ontologies), how are relationships defined in the DAG of types?
According to this course
Through their use
Through their place
In SparQL, what happens if you drop RDF support, when you support RDF and OWL?
According to this course
Removes the ability for any entity to take any role in a triple
Allows modeling the data as a graph
When working with ontologies and RDF, what does Closed world assumption mean?
According to this course
The presumption that any statement that is true is also know to be true
Require all facts to be known
It is possible to validate that all properties hold
When working with ontologies and RDF, what does Open world assumption mean?
According to this course
The assumption that the truth value of a statement may be true irrespective of wheter or not it is known to be true
Accept that you don't know all facts
A property that needs to be satisfied could reside outside the set of known facts
Impossible to verify that properties hold
Possible to check that no restrictions are violated
When looking at ontology schemas, what classifies RDF?
According to this course
Concept
Model
When looking at ontology schemas, what classifies RDFS?
According to this course
Open World
Classification
When looking at ontology schemas, what classifies SHACL?
According to this course
Closed World
Validation
What is a validator in RDF ontologies?
According to this course
Tests the stated rules of the applied ontologies
What can happen, if you don't have a validator in RDF ontologies?
According to this course
Spelling mistakes are accepted
Entities can be connected in any way
Entities can be floating
What is a reasoner in RDF ontologies?
According to this course
An element that applies rules
When can you apply a reasoner in RDF ontologies?
According to this course
When inserting
On triple store before querying
While querying
When is a graph a weighted graph?
According to this course
When all edges have a weight
When is a graph query language a real graph query language?
According to this course
The level of abstraction refers to nodes, edges, properties and labels
Paths can be matched
A suite of graph algoritms can be referenced
In Neo4J, what is the data model of nodes?
According to this course
A set of labels
A key-value store containing named properties
A map from relationship type to set of outgoing relationships
A map from relationship type to set of incoming relationships
I nNeo4J, what is the data model of edges (relationships)?
According to this course
A single type
A key-value store containing named properties
A source node
A destination node
What are some of the reasons to use C in IoT?
According to this course
Garbage collection is problematic in embedded systems
Fast
Low memory footprint
Easy to access low-level operations
Include important high-level abstractions
Simple language
What are the build phases in C?
According to this course
Pre-compilation
Compilation
Linking
Execution
In C, what is the issue if you just make an array, without using systems, such as malloc?
According to this course
The array may contain garbage values
In C, what is a pointer?
According to this course
Variable contains only an address
Contains an integer value
Can be obtained by using the & operator
Can be dereferenced by using the * operator
What is the definition of Voltage?
According to this course
The difference in electric potential
Measured between two points
Measured in Volts (V)
What is the definition of transducer?
According to this course
A device which converts energy from one form to another
What is the definition of serial communication?
According to this course
A way of transferring a chunk of data one bit after the other
In RS232, what are the different wires used for?
According to this course
Communication in one direction
Communication in the other direction
Ground
In RS232, what are the elements in the frame format?
According to this course
1 start bit
A character spanning 7-8 bits
1 parity bit
Stop bits
When choosing machine-readable formats in serial communication, what is correct?
According to this course
Makes it simple to parse
When choosing human-readable formats in serial communication, what is correct?
According to this course
Makes it simple to debug
What are some of the options for dispatch mechanisms in serial communication?
According to this course
Lookup using table
Lookup using map
Chain of branches
Deterministic finite automaton
What is the definition of sampling interval or sampling period (T)?
According to this course
The time between two samples
What is the definition of sampling frequency or sampling rate (f_s)?
According to this course
The number of samples obtained within 1 second
How frequent do you have to sample to be guaranteed to be able to reconstruct a signal?
According to this course
Twice as fast as the fastest frequency contained in the original signal
What is the theorem called, which requires double the sampling frequency to reconstruct a signal?
According to this course
Nyquist Theorem
What are possible resampling methods?
According to this course
Downsampling
Upsampling
What are some errors that can occur in resampling?
According to this course
Aliasing
Cutting off extreme values
Remove fluctuations
In analog to digital conversion, what are some of the steps?
According to this course
Flush
Wait
Sample
Hold
Compare
In analog to digital converters, what are some of the sources of noise?
According to this course
The sensor itself
Electromagnetical signals
AD conversion
What is the noise floor?
According to this course
The inherent noise in a given situation
The minimum signal that can be detected
What is signal to noise ratio (SNR)?
According to this course
A measurement that tells us how large a fraction of a signal consists of noise
What happens if you average two samples?
According to this course
The signal is doubled
Many types of noise will cancel out
Signal to noise ratio (SNR) goes up
Signal to noise ratio (SNR) is improved
What is an outlier?
According to this course
An observation which lies 'far' away from the brunt of distribution
What can happen, if you remove important outliers?
According to this course
Data about an unexpected event is lost
Information about something thought impossible is lost
A black swan event is lost
Given a 12 bit ADC, with a 3 bit noise floor, how many bits should be used for the signal?
According to this course
9 bits
Given a 12 bit ADC, with a 3 bit noise floor, sampling at 10 kHz, what is the theoretical required bandwidth?
According to this course
90 kbps
How are radio waves classified?
According to this course
Frequency
Wavelength
When working with wireless communication, what is true?
According to this course
Lower frequency gives longer range
Higher frequency gives shorter range
There exists and open and closed spectrum
The signal extends according to the inverse square law
Media is shared
It is not possible to avoid collisions
What are some of the consequences of the inverse square law?
According to this course
The intensity of a signal drops polynomially with distance
It is infeasible to send a signal over a long distance
What happens when there is not enough signal strength to noise ratio (SNR)?
According to this course
Bit errors start to occur
What is the definition of a collision in wireless communication?
According to this course
Happens when two or more signals overlap in both time and space
High probability of one, some or all signals are lost at the place of collision
What are possible network topologies in wireless communication?
According to this course
Line
Star
Ring
Tiered
Tree
Mesh
What is true about packets in wireless communication?
According to this course
Packets are usually made up of individual frames
Frames are ofted dropped due to detected corruption
Frames are often dropped due to complete lack of reception
ACK can be used to acknowledge that a frame has been received
In the OSI model, what is the Physical layer do?
Also known as Layer 1
Electrical link
Audio link
Radio link
In the OSI model, what is the Data link layer do?
Also known as Layer 2
Reliable delivery of frame to local named receiver
In the OSI model, what is the Network layer do?
Also known as Layer 3
Multi-node routing
In the OSI model, what is the Transport layer do?
Also known as Layer 4
Connection-orientation
Multiplexing
Flow control
In the OSI model, what is the Session layer do?
Also known as Layer 5
Session management of connections
In the OSI model, what is the Presentation layer do?
Also known as Layer 6
Convenient translation
Encryption
Coding
In the OSI model, what is the Application layer do?
Also known as Layer 7
API
In the OSI model (expanded), what is the individual layer?
Also known as Layer 8
Application user
In the OSI model (expanded), what is the organization?
Also known as Layer 9
Organizational framework
In the OSI model (expanded), what is the government layer?
Also known as Layer 10
Rules for organizations and compliance
What are some key properties of a typical IoT cloud?
According to this course
Large number of incoming data streams
Large number of customers
Similar processing across multiple customers
Expectation of privacy
Small number of processing products presented to the customer
Possibly large number of outgoing data streams
What is a stream process?
According to this course
An independent piece of logic
Associated with a state
Associated with zero or more input streams
Associated with zero or more output streams
What is true about stream processing?
According to this course
A node consumes inputs in order to produce outputs
A source, is a node only producing output streams
A sink, is a node only consuming input streams
What are some specific properties of stream processing, that you should think of, when designing?
According to this course
Flow control
Consumability
Trigger condition
Trigger arbitrarity
Batch size
Fault tolerance
What are some concerns that can arise in stream processing?
According to this course
Context switching
Side effects
Networking
What are some of the steps, that data has to go through, when being ingested?
According to this course
Categorization
Validation
Sanity check
What is a typical issue with message queues?
According to this course
If one element is down, it may break the entire pipeline
What is true about the publish-subscribe pattern?
According to this course
A communication pattern
Messages can be published through some name on a broker
Clients can subscribe to names on a broker
Whenever a message is published, all clients subscribed to that name are notified
Contains a publisher, broker and client
There exists dumb brokers and smart brokers
There exists dumb clients and smart clients
In regards to dumb and smart brokers and clients, what is true?
According to this course
Kafka is close to dumb broker, smart client
MQTT is in between a dumb broker and a smart broker, and a dumb client and a smart client
"Data Portal" is close to smart broker, dumb client
In regards to publish-subscribe and message queues, what is true?
According to this course
Kafka subscribe to exact topics
MQTT subscribe using query over topic pattern
sMAP subscribe using query over per-stream key-value store
Why is Kafka not often used in IoT?
According to this course
Due to its large client footprint
Due to its complexity
Due to complexity in topic discovery
What is true about MQTT?
According to this course
Subscribes through topic patterns
Use / as a separator in topics
The + wildcard matches a single level
The # wildcard matches all levels
Supports QoS 0, 1 and 2
Support last will and testament
Support persistent sessions
To get messages for the following topics in MQTT, what is the correct subscription for retrieving all temperature measurements?
Topics:
- "home/temperature/sensor1",
- "home/temperature/sensor2",
- "home/humidity/sensor1",
- "home/humidity/sensor2",
- "home/pressure"
"home/temperature/#"
"home/temperature/+"
To get messages for the following topics in MQTT, what is the correct subscription for retrieving all measurements from sensor1?
Topics:
- "home/temperature/sensor1",
- "home/temperature/sensor2",
- "home/humidity/sensor1",
- "home/humidity/sensor2",
- "home/pressure"
"home/+/sensor1"
"home/+/sensor1/#"
What is correct about system failures?
According to this course
As the number of machines in a system goes towards infinity the time to one of them breaking goes to zero
You have to deal with failures
Built redundancy across systems and machines
BEAM can be used for homogeneous and high-granularity systems
Kubernetes, Ceph, Docker swarm can be used for heterogeneous and low-granularity systems
What is a system?
According to this course
A collection of independent components that has been combined in a particular configuration in order to solve some problem
What is true about hypothesis and hypothesis testing?
According to this course
Expectations can be formulated as a set of hypothesis
Hypothesis testing is the act of testing to which degree a hypothesis is true
Results of hypothesis testing is usually boolean, floats or probabilistic
Hypothesis testing has its roots in statistics
Hypothesis testing may be done on a subset of a system
What is true about tests in hypothesis testing?
According to this course
They are designed to highlight relevant performance metrics of the phenomenon of interest
They are administered using experimental setup sorrounding the apparatus
They can be done manually or automatically
They need to be repeatable
What is a full-factorial experiment?
According to this course
Examining all combinations of factors
Use all possible parameters for the experiment
An computationally expensive type of test
What is some elements an experiment should
According to this course
Include the stubs necessary to execute the system as defined
Operate instances of the relevant components according to fixed values for all parameters
Include stub implementation for all dependencies to the system
Produce the needed workload
Iterate over relevant factors and workloads
Instrument relevant components to observe and log relevant metrics
Not influence the system under experimentation
When testing, what is true about time?
According to this course
High-resolution timing is expensive
High-resolution timing is often not critical
Timestamps across machines are often not directly comparable
Timestamps across a single machine may not be directly comparable
Monotonic clocks can be helpful for short periods of time
It is important to understand and document how large the time difference is between multiple systems
What are some key things about presenting plots?
According to this course
Any presented plot of data should be self-contained
Context or context reference should be obvious
Any axis in the plot should be labeled with metric and unit
Ensure axis starts at appropriate zero or known value
In IoT, what is the definition of "budget"
According to this course
Represents the availability of a scarce ressource
Can be consumed
Some get replenished
Can be a defining factor for operation of a device
What are some restrictions in regards to radio budgets?
According to this course
Number of packets sent throughout a day
Rate of transmission
Maximum packet size
What are some restrictions in regards to memory budgets?
According to this course
Available size of RAM
Available size of ROM
Available size of flash
Number of per-cell write cycles
Size of erase unit
What is true about budget management?
According to this course
There are lots of budgets
There are lots of tradeoffs
It is hard to reason about the relative/absolute magnitudes of tradeoffs
It is hard to reason about how design choices affect budgets
There is no one-size-fits-all solution for budget management
You should experiment with different budgets, to identify the best tradeoffs for your system
What is true about data throttling?
According to this course
If one or more values are not sent, the data may not be able to be reconstructed
Blowing the budget, may cause data to not be sent
Which of the following is correct about sending aggregated values?
According to this course
You will get a sum curve that grows indefinitely
You will transmit the same number of values
You will be able to easily derive the original values from the aggregated values
What happens when you send aggregated values, and loose a value?
According to this course
Data degrades gracefully in temporal resolution
What is adaptive sampling?
According to this course
The frequency of sampling is adjusted based on the current state of the system
The frequency is adjusted when changes in the system are detected
When working with data throttling, what is true?
According to this course
Batch transmission can be used to limit number of empty packets
Batch transmission can limit power usage
Batch transmission can increase latency of data
It takes time going from sleep to active state
In order to reduce power when operating radio communication, what can be done?
According to this course
Low power listening
Receiver listens in short intervals for transmissions
Transmitter waits for receiver to be ready before transmitting
Of the following, what is correct?
According to this course
Naming has everything to do with being able to reference something
Identity is the same as a name
A device may have multiple identities
What are some sources of identity?
According to this course
Unique device number
User provided
Physical location
Network-derived
Context-derived
What are possible places to store identity?
According to this course
Node - By the device itself (self-aware)
Cloud - Central knowledge base
Private - Stored with the user
When are possible points to get a timestamp?
According to this course
When sampling on device
When transmitting
When receiving
When pushing to cloud
When receiving in the cloud
When receiving from the cloud
What is Spread spectrum and frequency hopping?
According to this course
Originally invencted to communicate bewtween controllers and torpedoes more robust
Signal spread over multiple spectrums
Used in satelite communication
Enchances robustness against interference
What are some of the pros and cons of using Spread spectrum and frequency hopping?
According to this course
Security increased
Less subsceptible to interference
More robust against jamming
Limits detection of communication
Short range
What is beamforming?
According to this course
Antenna array that can focus the signal in a specific direction
Focussing done by controlloing signal phases and amplitude across multiple antennas
Utalizes constructive and destructive interference
What are some of the pros and cons of using beamforming
According to this course
Improved signal strength
Energie efficient
Reduced interference
Greater range
Faster data rates
Cost
Complexity
What is backscattering, and what is it used for?
According to this course
A technique to communicate by reflecting existing signals
Reflected signal is modulated in amplitude
Used in RFID
What is SDR?
According to this course
Software-Defined Radio
Allows for programmable hardware
Allows for operating on multiple frequencies and protocols
Where can low power listening be found?
According to this course
Zigbee
Bluetooth Low Energy (BLE)
When is mesh network topology usefull?
According to this course
Remote and difficult environments
Disaster recovery and emergency situations
Large events and festivals
Military operations
Smart cities and IoT applications
What is correct about eventual consistency?
According to this course
It's okay that different nodes have different versions of the same data
All nodes will eventually converge to correct version of the data
Quries might return old data
PRoblem: Maintaining data consistency across nodes