Quiz 1 material
Question 1.1
Which of the following are not stored in binary in the computer?
- Colors
- Everything is stored in binary in the computer
- Folders
- Letters
- Programming commands
Question 1.2
Before the things we call computers were invented, the word computer
- Didn’t exist in English
- Had roughly the same meaning it has today, but only existed in fiction
- Referred to a profession
- Referred to an abacus or other mechanical arithmetic aid
Question 1.3
Which of these is not an encoding for colors?
- CMYK
- RGB
- Y2K
Question 1.4
In ASCII, characters are 8 bits, but the first bit is always 0. How many characters can be represented in ASCII?
Question 1.5
Which of these is not a power of 2?
- 1
- 124
- 2
- 256
- 64
- 8
Question 1.6
Which is a larger number, 0x111 or 0b111? (By larger, I mean greater in magnitude)
- 0b111
- 0x111
- They’re the same number
Question 1.7
There are ___ bits in a byte
Question 1.8
How many symbols are used in the binary number system?
Question 1.9
0111 1010 0001 1110 0000 0010 is a
- Color
- Computer instruction
- Letter
- Number
- We can’t know without knowing the encoding ahead of time
Question 1.10
Which of these is not a likely problem with numbers in computers?
- If you add numbers that are too large, the number will
overflow
and the result will be incorrect.
- It takes longer for the computer to process binary numbers than hexadecimal numbers because they have more digits, which can cause unexpected delays.
- When you compare two numbers with decimal points (aka
floats
like 0.1), you may get an incorrect result due to roundoff error.
Question 1.11
Moore’s law says that “Microchips have their ___ every two years.“
- cost double
- cost halve
- number of transistors double
- number of transistors halve
- speed double
- speed halve
Question 1.12
The following truth table is for what operation?
- AND
- OR
- XOR
- binary addition
- mux/multiplex
Question 1.13
How many bytes are in a megabyte?
- Eight billion
- Eight million
- One million
- One thousand
Question 1.14
Which of these is biggest?
- Exabyte
- Petabyte
- Terabyte
Question 1.15
Which of these is smallest?
- Exabyte
- Petabyte
- Terabyte
Question 1.16
What is not a difference between memory (RAM) and storage (SSD/HDD)?
- memory costs less per byte than storage, and hence tends to be smaller in most computers
- memory is faster to access than storage
- memory is volatile (data disappears when power is turned off) while storage is nonvolatile (data remains after power is lost)
- memory is where the processor keeps most data it works with
Question 1.17
The ___ is made up of the ___ and the ___
- The ALU is made up of the CPU and the CU
- The ALU is made up of the CPU and the RAM
- The ALU is made up of the CU and the RAM
- The CPU is made up of the ALU and the CU
- The CPU is made up of the ALU and the RAM
- The CPU is made up of the CU and the RAM
- The CU is made up of the ALU and the CPU
- The CU is made up of the ALU and the RAM
- The CU is made up of the CPU and the RAM
- The RAM is made up of the ALU and the CPU
- The RAM is made up of the ALU and the CU
- The RAM is made up of the CPU and the CU
Question 1.18
___ are made of ___
- Electrons are made of logic gates
- Electrons are made of transistors
- Logic gates are made of electrons
- Logic gates are made of transistors
- Transistors are made of electrons
- Transistors are made of logic gates
Question 1.19
The ___ the transistors the ___ the computer.
- The larger the transistors the faster the computer.
- The larger the transistors the more reliable the computer.
- The smaller the transistors the faster the computer.
- The smaller the transistors the more reliable the computer.
Question 1.20
Consider a circuit with the following components:
- Three input wires: A, B, and C
- A and B are input to an AND gate
- C and the output of the AND gate are input to an XOR gate
If A and C are 1 and B is 0, what is the output of this circuit?
Question 1.21
Which of the following is true?
- The job of a compiler (converting source code into assembly code) is reversible: given the assembly, we can get back the source code.
- The job of an assembler (converting assembly code to machine instructions) is reversible: given the instructions, we can get back the assembly code.
- The job of an interpreter (converting source code into actions) is reversible: given the actions of the computer, we can get back the source code.
Question 1.22
What part of the following description of a computer program (written in a human-targeted pseudo-code, not in a programming language) is an example of variables?
How to take INFO 102:
Do the following every week:
1. Attend Monday lecture
2. If you have a Tuesday lab, attend lab
3. Attend Wednesday lecture
4. If you have a Wednesday or Thursday lab, attend lab
5. Do the homework
6. If this is a quiz week, take the quiz
Otherwise, attend Friday lecture
Do the following every semester:
If your already took INFO 102, do not take INFO 102
Otherwise, if your minor is Informatics, take INFO 102
Otherwise, if INFO 102 sounds interesting, take INFO 102
Otherwise, do not take INFO 102
- The place it says
how to x
and the indented lines after that.
- The reference to
you
/your
.
- The several places it says
if
/otherwise
.
- The two defined
do the following every x
and the indented lines after that.
- The two places it says
take INFO 102
.
Question 1.23
What part of the following description of a computer program (written in a human-targeted pseudo-code, not in a programming language) is an example of repetition?
How to take INFO 102:
Do the following every week:
1. Attend Monday lecture
2. If you have a Tuesday lab, attend lab
3. Attend Wednesday lecture
4. If you have a Wednesday or Thursday lab, attend lab
5. Do the homework
6. If this is a quiz week, take the quiz
Otherwise, attend Friday lecture
Do the following every semester:
If your already took INFO 102, do not take INFO 102
Otherwise, if your minor is Informatics, take INFO 102
Otherwise, if INFO 102 sounds interesting, take INFO 102
Otherwise, do not take INFO 102
- The place it says
how to x
and the indented lines after that.
- The reference to
you
/your
.
- The several places it says
if
/otherwise
.
- The two defined
do the following every x
and the indented lines after that.
- The two places it says
take INFO 102
.
Question 1.24
What part of the following description of a computer program (written in a human-targeted pseudo-code, not in a programming language) is an example of selection?
How to take INFO 102:
Do the following every week:
1. Attend Monday lecture
2. If you have a Tuesday lab, attend lab
3. Attend Wednesday lecture
4. If you have a Wednesday or Thursday lab, attend lab
5. Do the homework
6. If this is a quiz week, take the quiz
Otherwise, attend Friday lecture
Do the following every semester:
If your already took INFO 102, do not take INFO 102
Otherwise, if your minor is Informatics, take INFO 102
Otherwise, if INFO 102 sounds interesting, take INFO 102
Otherwise, do not take INFO 102
- The place it says
how to x
and the indented lines after that.
- The reference to
you
/your
.
- The several places it says
if
/otherwise
.
- The two defined
do the following every x
and the indented lines after that.
- The two places it says
take INFO 102
.
Question 1.25
What part of the following description of a computer program (written in a human-targeted pseudo-code, not in a programming language) is an example of function definition?
How to take INFO 102:
Do the following every week:
1. Attend Monday lecture
2. If you have a Tuesday lab, attend lab
3. Attend Wednesday lecture
4. If you have a Wednesday or Thursday lab, attend lab
5. Do the homework
6. If this is a quiz week, take the quiz
Otherwise, attend Friday lecture
Do the following every semester:
If your already took INFO 102, do not take INFO 102
Otherwise, if your minor is Informatics, take INFO 102
Otherwise, if INFO 102 sounds interesting, take INFO 102
Otherwise, do not take INFO 102
- The place it says
how to x
and the indented lines after that.
- The reference to
you
/your
.
- The several places it says
if
/otherwise
.
- The two defined
do the following every x
and the indented lines after that.
- The two places it says
take INFO 102
.
Question 1.26
What part of the following description of a computer program (written in a human-targeted pseudo-code, not in a programming language) is an example of function invocation?
How to take INFO 102:
Do the following every week:
1. Attend Monday lecture
2. If you have a Tuesday lab, attend lab
3. Attend Wednesday lecture
4. If you have a Wednesday or Thursday lab, attend lab
5. Do the homework
6. If this is a quiz week, take the quiz
Otherwise, attend Friday lecture
Do the following every semester:
If your already took INFO 102, do not take INFO 102
Otherwise, if your minor is Informatics, take INFO 102
Otherwise, if INFO 102 sounds interesting, take INFO 102
Otherwise, do not take INFO 102
- The place it says
how to x
and the indented lines after that.
- The reference to
you
/your
.
- The several places it says
if
/otherwise
.
- The two defined
do the following every x
and the indented lines after that.
- The two places it says
take INFO 102
.
Question 1.27
In response to a class question and on text we mentioned JSON, which is a computer language but not a programming language. JSON is not a programming language because
- it doesn’t describe what a computer should do
- it is an assembly language instead
- it is interpreted instead of compiled
- it isn’t popular enough
Question 1.28
The C language is the only language we discussed in the lectures comparing programming languages that is not memory-managed. We noted that lacking memory management makes it
- less flexible and less secure
- less flexible and more secure
- more flexible and less secure
- more flexible and more secure
Question 1.29
The C language is the only language we discussed in the lectures comparing programming languages that is compiled with no interpreter. We noted that being compiled makes its programs
- easier to create and faster to run
- easier to create and slower to run
- harder to create and faster to run
- harder to create and slower to run
Question 1.30
Why is it wise to pick a popular programming language?
- Communication is key: it’s easier to support programs in languages many people speak.
- Strength in numbers: cyber criminals are unlikely to target your code out of all the other options.
- The wisdom of the masses: they are popular because they are the best.
Question 1.31
Which of the following is an example of the detail removal form of abstraction?
- Describing how to reach an example classroom without learning if its the correct classroom to reach.
- Describing how to reach any classroom on campus without without listing them all in advance.
- Describing how to reach our classroom using the word
walk
without describing how to walk.
- Describing how to reach our classroom without referring to the time of day class meets.
Question 1.32
Which of the following is an example of the generalization form of abstraction?
- Describing how to reach an example classroom without learning if its the correct classroom to reach.
- Describing how to reach any classroom on campus without without listing them all in advance.
- Describing how to reach our classroom using the word
walk
without describing how to walk.
- Describing how to reach our classroom without referring to the time of day class meets.
Question 1.33
Where does the name algorithm
come from?
- It’s an eponym based on the name al-Khwarizmi, who wrote an early book of algorithms.
- It’s an pun referring to US politician Al Gore’s sense of rhythm, inspired by his famous performance of the Macarena in the 1996 Democratic National Convention.
- It’s from the Latin root
alga
, the same root as algebra
and algae
, meaning to putrify, rot;
in this case referring to how algorithms rot away the complexity of the problem until only the answer remains.
Question 1.34
Which of the following best defines the word algorithm
?
- A precise series of instructions for computing an output from an input.
- A subroutine contained within a larger computer program.
- The rules used for base-10 place-value arithmetic.
- Those mathematical functions that can be computed by a Turing machine or an equivalently-powerful machine or language.
Question 1.35
Intractable
is a property of
- algorithms
- both algorithms and problems
- problems
Question 1.36
Intractable
generally pairs with which runtime?
- Constant O(1)
- Exponential O(2^n)
- Linear O(n)
- Logarithmic O(log n)
- Quadratic O(n^2)
Question 1.37
Which runtime suggests that only a few of the inputs are even looked at?
- Exponential O(2^n)
- Linear O(n)
- Logarithmic O(log n)
- Quadratic O(n^2)
Question 1.38
There is a famous, unsolved question of whether P = NP or P ≠ NP.
Much of modern computing is based on the assumption that
- P = NP
- P ≠ NP
Question 1.39
There is a famous, unsolved question of whether P = NP or P ≠ NP.
One way of framing this question is
- Are any problems impossible to solve in general?
- Are any problems impractical to solve for large inputs?
- Does every integer eventually reach one after repeated applications of 3n+1 when odd and n/2 when even?
- Does nanotechnology (N) change what a processor (P) can do?
Question 1.40
If a software developer tells you that your problem is NP-complete or NP-hard, but you need it for your application, you should
- Ask them how much hardware you’d need to buy to solve it anyway.
- Ask them to look into heuristics that approximate a solution instead.
- Explain the specific types of inputs you’re interested in and ask them to see if they can come up with something for just those cases.
- Rejoice! NP stands of
no problem,
you’re good to go.
- Weep! NP stands of
not possible,
your application can’t be done at all.
Question 1.41
If a software developer tells you that your problem is Undecidable, but you need it for your application, you should
- Ask them how much hardware you’d need to buy to solve it anyway.
- Ask them to look into heuristics that approximate a solution instead.
- Ask them why they can’t decide and what more you could tell them about the problem to help them make up their minds.
- Explain the specific types of inputs you’re interested in and ask them to see if they can come up with something for just those cases.
Question 1.42
If I have a reduction from A to B, or equivalently if I say that A reduces to B, that means:
- A and B solve the same problem, but A is simpler
- A and B solve the same problem, but B is simpler
- I have an algorithm that solves A and has
solve B
as a function call inside it
- I have an algorithm that solves B and has
solve A
as a function call inside it
- While solving A, I also solve B as a side effect or necessary step along the way
- While solving B, I also solve A as a side effect or necessary step along the way
Question 1.43
Convert this decimal number to binary: 137
Question 1.44
Convert this decimal number to binary: 117
Question 1.45
Convert this number into decimal: 0b100111
Question 1.46
Convert this number into decimal: 0b11100
Question 1.47
Convert this number into binary: 0xb0ba
Question 1.48
Convert this number into binary: 0xdead
Question 1.49
How many values can be represented by five bits?
Question 1.50
How many values can be represented by seven bits?
Question 1.51
Find C and D when A and B are 1 and 1
_____
A -+------| |
| | XOR |--------- C
B-----+---|_____|
| |
| | _____
| +---------| |
| _____ | |
| | | | AND |--- D
+-| NOT |----| |
|_____| |_____|
- C = A xor B
- D = B and (not A)
Question 1.52
Find C when A and B are 0 and 0
_____
A -----| |
| AND |--+
B--+---|_____| |
| | _____
| +---| |
| _____ | |
| | | | OR |--- C
+-| NOT |--------| |
|_____| |_____|
Question 1.53
How many gigabytes are there in a terabyte?
Question 1.54
How many megabytes are in a petabyte?
Question 1.55
Order from the fastest language to the slowest language:
- Assembly
- C
- Java
- Machine code
- Python
Question 1.56
Which of these languages are Turing Complete?
- Assembly
- C
- Java
- Machine code
- Python
Question 1.57
What are at least four factors you should consider when choosing a programming language?
Question 1.58
What is an algorithm?
Question 1.59
How do heuristics differ from other algorithms?
Question 1.60
How does data differ from information?
Question 1.61
What are some important characteristics that people should think about when choosing between different algorithms?
Question 1.62
What is the definition of intractable?
Question 1.63
What time complexity is always considered intractable?
Question 1.64
Draw a graph that represents these 4 cities and the distances between them. The nodes should represent the cities. The edges should represent the distance between the cities.
| Between Urbana |
54 miles |
93 miles |
92 miles |
| Between Bloomington |
|
38 miles |
68 miles |
| Between Peoria |
|
|
74 miles |
Question 1.65
What is the time complexity of the Traveling Salesman problem?
Question 1.66
Suppose I have a character encoding that uses 6 bits per character. How many characters can it represent?
Question 1.67
Which is larger: 17 or 0x17?
Question 1.68
Convert this number to decimal: 0b10101
Question 1.69
Convert this number to binary: 0xA51
Question 1.70
The following truth table is for what operation? Give its name (ADD, AND, MUX, NOT, OR, XOR)
Question 1.71
Which is larger: 32GB or 32MB?
Question 1.72
Which of ALU, CPU, HDD, RAM, or SSD performs multiplication? If several do, pick the most specific/focussed answer.
Question 1.73
Which of these seems most likely to work well?
- A decompiler that deduces the input to a compiler from its output or behavior.
- A disassembler that deduces the input to an assembler from its output or behavior.
- An uninterpreter that deduces the input to an interpreter from its output or behavior.
Question 1.74
Which of these names data in a program?
- Function
- Repetition
- Selection
- Variable
Question 1.75
Which of these is also called a loop?
- Function
- Repetition
- Selection
- Variable
Question 1.76
Which of the following is a valid reason to choose C over Java, Python, and R?
- Efficiency: I need the program to run as fast as possible.
- Programmer productivity: I want the program soon.
- Program scale: this is a many-developer multi-year project.
- Security: I don’t want to be hacked
Question 1.77
Which of the following is the best example of data (as opposed to information or data type)?
- ASCII, a mapping between letters and bytes.
- The byte 0x41, which is an upper-case A in ASCII.
- The letter A (or a) in either case.
- The upper-case letter A.
Question 1.78
CS 233 spends 4 months explaining processors but INFO 102 does so in one day by being more abstract. What form of abstraction is this?
- Detail removal
- Generalization
Question 1.79
If we discover that P = NP, that would suggest that
- Some exponential-time algorithms would become faster.
- Some intractable problems would become tractable.
- Some undecidable problems would become decideable.
Question 1.80
Heuristics are often used to work around
- Intractable problems
- Undecidable problems
Question 1.81
Put the following algorithm runtimes in order, from fastest to slowest on large inputs
- Constant
- Exponential
- Linear
- Logarithmic
- Quadratic
Quiz 2 material
Question 2.1
What is the difference between classical AI and machine learning (ML)?
- Classical AI is a broad field of which ML is one part.
- Classical AI is an old approach that has been replaced by ML.
- Classical AI uses human-designed algorithms to solve problems, ML uses machine-selected algorithms to solve problems.
- ML is an idea or objective, classical AI is the closest we’ve come to realizing that ideal thus far.
Question 2.2
When an AI algorithm is described as supervised or unsupervised, that is a comment about
- Whether a human is overseeing the AI’s work or the AI is working independently.
- Whether the algorithm is trained before it is used or the training happens incrementally as new training data becomes available.
- Whether the algorithm requires access to the Internet to operate or not.
- Whether the output of the trained function is made up of real numbers or selected discrete options.
- Whether the training data includes desired outputs for each input or not.
Question 2.3
When an AI algorithm is described as offline or online, that is a comment about
- Whether a human is overseeing the AI’s work or the AI is working independently.
- Whether the algorithm is trained before it is used or the training happens incrementally as new training data becomes available.
- Whether the algorithm requires access to the Internet to operate or not.
- Whether the output of the trained function is made up of real numbers or selected discrete options.
- Whether the training data includes desired outputs for each input or not.
Question 2.4
When an AI algorithm is described as continuous or categorical, that is a comment about
- Whether a human is overseeing the AI’s work or the AI is working independently.
- Whether the algorithm is trained before it is used or the training happens incrementally as new training data becomes available.
- Whether the algorithm requires access to the Internet to operate or not.
- Whether the output of the trained function is made up of real numbers or selected discrete options.
- Whether the training data includes desired outputs for each input or not.
Question 2.5
Which of the following are valid strategies for reducing overfitting?
- Switch to a less flexible function family that can capture fewer of the details of the training data
- Switch to a more flexible function family that can capture more of the shape of the training data
- Try again with a lot less training data
- Try again with a lot more training data
- Try again with a model with fewer parameters
- Try again with a model with more parameters
- Use a fine-tuning pass to remove the over-fitting
- Use a supervised approach to notice and remove the over-fitting
Question 2.6
The P in ChatGPT, one of the first highly-successful chatbots, stands for pretrained. This is suggests that ChatGPT
- Is a revision of an older trained model.
- Is provided in an untrained state, allowing users to train it by what they type into its prompt.
- Was trained by OpenAI so that its users don’t have to do the training themselves.
- Was trained twice: once to learn English, then a second time to learn what part of English answers questions.
Question 2.7
Both clustering and classification pick a label for each input, effectively breaking the input into groups that share a label. The difference between the two is
- Classification gives a class of related answers, while clustering gives a single answer.
- Clustering gives a cluster of related answers, while classification gives a single answer.
- Clustering is given the labels in the training data, while classification is trained without knowing what the labels it should produce are.
- Clustering is trained without knowing what the labels it should produce are, while classification is given the labels in the training data.
Question 2.8
The term generative AI refers to AI systems that
- Can act in creative ways, generating new ideas.
- Can generate the missing value in a pattern.
- Generate other AI systems.
- Have been generated as code, not just as abstract theory.
- Move data through several steps called
generations
before finding the final answer.
Question 2.9
Which best describes how LLMs like ChatGPT, Gemini, Claude, and CoPilot respond to something you type?
- The text you type is parsed into its semantic meaning.
- The LLM compares the meaning to what it knows to find an answer.
- The answer is converted into text to send back to you.
- The text you type is parsed into its semantic meaning.
- The LLM compares the meaning to what it knows to find one thought that expands on that meaning.
- That thought is added to the meaning and converted into text to send back to you.
- The LLM compares the expanded meaning to what it knows to find one thought that expands on that meaning.
- That thought is added to the meaning and converted into text to send back to you.
- Steps 5 and 6 repeat until there’s no additional thoughts to add.
- The text you type is placed in a pattern
Question: «your text». Answer:
- A fill-in-the-blank AI system tries to find one word that is most likely to follow that pattern; that word is shown to you and added to the pattern.
- A fill-in-the-blank AI system tries to find one word that is most likely to follow that now larger pattern; that word is shown to you and added to the pattern.
- Step 3 repeats until the word produced is a special
end of response
word.
- The text you type is placed in a pattern
Question: «your text». Answer: «blank».
- a fill-in-the-blank AI system tries to find the text that best fills that blank based on the patterns of all text online.
Question 2.10
Which best describes the human-designed component of LLMs like ChatGPT, Gemini, Claude, and CoPilot?
- Humans programmed how to break text into words and decide if words have similar meaning; training found patterns in words on the Internet without bothering with meaning.
- Humans programmed how to break text into words; training figured out what words mean and built an understanding of the world by reading the Internet.
- Humans programmed how to understand text’s meaning; training built an understanding of the world by reading the Internet.
- Humans programmed most of their behavior; training only provides a little extra detail.
- Humans programmed very little; training found what words are and patterns or meaning of words by reading the Internet.
Question 2.11
AIs hallucinate because
- They are not able to capture the full patterns in the data due to too few parameters or too little training.
- They are trained on human-generated data and humans say and do false things.
- They don’t understand what they’re being asked to do and can’t tell when they can’t do something.
Question 2.12
Asking an AI about how to interact with an AI
- Causes it to share relevant parts of its own documentation.
- Is handled like other questions, summarizing what people say about AI interaction online.
- Is pointless because AIs can’t tell you anything useful about this.
- Reveals insights only an AI could have about an AI.
Question 2.13
Which of the following most impacts the energy used by an LLM? Assume the LLM has already been trained and is now just being used to respond to user prompts.
- The length of the LLM’s reply (short answers require less work than longer ones)
- The length of your prompt (short prompts require less work than longer ones)
- The novelty of your prompt (common questions require less work than unusual ones)
- The simplicity of the LLM’s reply (plain text requires less work than fancier formatting)
Question 2.14
Which of the following most impacts the energy used by an LLM? Assume the LLM has already been trained and is now just being used to respond to user prompts.
- How many fine-tuning passes the LLM went through after being trained
- How many layers deep the ANN inside the LLM is
- The amount of training data used to create the LLM
- The number of parameters given values during the LLMs training
Question 2.15
We discussed two reasons that an LLM might give different responses if you keep giving it the same prompt. They are:
- The LLM considers not just your most recent prompt but also the prompts and replies that preceded it.
- The artificial neural network inside the LLM includes artificial hormones and neurotransmitters and gets tired or annoyed at repeated prompts the same way that humans do.
- The decoder might be randomized, picking any one of several likely words when converting from vector to text.
- The encoder might be randomized, picking any one of several likely vectors when converting from text to vector.
Question 2.16
If I ask an LLM if its response to my last question is correct, it might identify errors in what it said before. It does this because
- The LLM interface detects questions like this and switches to a more expensive and powerful model when they occur.
- The LLM is lazy and doesn’t check its work unless I specifically ask it to.
- The LLM is random in its ability to get things right; asking several times improves the chance that it randomly gets the right answer.
- The LLM is trying to please me; I wouldn’t have asked if I thought it was correct.
- The LLM matches the behavior of Internet communities, not single individuals, and members of communities often find problems other members’ work.
Question 2.17
Companies that provide LLMs typically offer several models: simple models, slower models that apply more reasoning, and agentic models that can do than just create responses.
The reasoning models typically differ from the simple models by
- Converting the outputs of the simple models into actions to take, using other programs to take those actions, then showing you the results
- Having more parameters
- Having more training data
- Repeatedly asking the simple models what needs to be done next and doing that, not engaging you again until the answer is either
nothing
or I don’t know
- Sending a series of prompts to the simple models, chosen to ask better questions that you did
Question 2.18
Companies that provide LLMs typically offer several models: simple models, slower models that apply more reasoning, and agentic models that can do than just create responses.
The agentic models typically differ from the simple models by
- Converting the outputs of the simple models into actions to take, using other programs to take those actions, then showing you the results
- Having more parameters
- Having more training data
- Repeatedly asking the simple models what needs to be done next and doing that, not engaging you again until the answer is either
nothing
or I don’t know
- Sending a series of prompts to the simple models, chosen to ask better questions that you did
Question 2.19
A biased algorithm
- Accidentally treats some groups of people better than others
- Gives answers that are incorrect in predictable ways
- Gives incorrect answers often
- Intentionally treats some groups of people better than others
Question 2.20
Which of the following are biases that are hard to avoid in machine learning?
- AIs are less accurate when faced with situations that are uncommon in their training data.
- AIs learn from the biases and bad habits of humans present in their training data.
- AIs pick the most common patterns in their training data every time, effectively hiding minority views and uncommon patterns.
Question 2.21
Which of the following is not a pick 2 of 3
trade-off in software?
- easy-to-use, secure, feature-rich
- good design, solid implementation, complete testing
- high quality, low cost, built quickly
Question 2.22
Which of the following are non-functional requirements for a texting/chat/IM app?
- Allow adding new parties to existing group chats.
- Auto-scroll to the most recent messages.
- Be ready by June 25th.
- Follow a Spiral development model.
- Run on both Android and iOS.
Question 2.23
In the time when laptops had good battery life but tablets were not yet common, student note taking on paper changed from having circles and colors and diagrams to being paragraphs and lists of text. This is an example of
- Beta testing
- Cultural change diving technical design
- Implicit bias
- Requirements spill-over
- Unintended consequences of design
Question 2.24
Suppose I report a bug with software I use to the developers and they reply with that’s an upstream problem.
They mean
- The bug has been identified as something that isn’t important; fixing it will be deferred until some distant future date.
- The bug has been identified as something that will be fixed soon.
- The bug is based on an old version of the program; if I update it will go away.
- The bug is caused by how that program is used by my computer; I should check the app that uses the software
- The bug is in one of the program’s libraries; I should report it to that library.
Question 2.25
If code is brittle, that means that
- It crashes easily.
- It is easy for cyber criminals to hack into.
- It is hard to maintain.
- It meets only a small set of requirements.
Question 2.26
We discussed three common things to do during maintenance. Which of the following is not one of those?
- Add new features.
- Fix bugs discovered after the product is released.
- Replace things that wear out.
- Update code to react to upstream changes.
Question 2.27
Technical debt typically accumulates because
- Accountants try to create technical debts (even if practically solvent) to claim as tax writeoffs.
- Adding features quickly is more appealing than taking more time and money, even if adding them hurts other things.
- Software is expensive to develop, so people take out loans to pay for it.
- There’s so much technical advancement, developer’s knowledge gets out of date easily.
Question 2.28
Suppose your development team tells you they’ll be spending the next two weeks refactoring. At the end of that time you should expect
- Bugs to have been removed
- Features to have been added
- Nothing to have changed
- Requirements to have been created
- Tests to have been written
Question 2.29
Suppose I am using software that is in beta
. That means
- It’s a secondary product; the premier product is the alpha.
- It’s not fully tested; I should be prepared for it to crash.
- It’s the second version of the software; the first version was alpha.
Question 2.30
What is the difference between Classical AI and Machine Learning?
Question 2.31
For the following types of machine learning, label each as either supervised or unsupervised, and as either categorical, continuous, or both. Discuss your answers and the meaning of those terms with your partner.
- Classification:
- Clustering:
- Generative:
- Regression:
Question 2.32
What is training data?
Question 2.33
What does it mean for a model to have many parameters?
Question 2.34
What is overfitting?
Question 2.35
How is overfitting related to training data and parameters?
Question 2.36
Write a description of the data that is passed between steps in LLM processing next to each arrow
- User
- ↓ ____
- Lexical Analysis
- ↓ ____
- Encoder
- ↓ ____
- Transformer
- ↓ ____
- Neural Network
- ↓ ____
- Decoder
- ↓ ____
- User
To create long responses, LLMs repeat some steps; add a ⭮-shaped arrow on the left showing that repetition.
Question 2.37
How does an LLM engage in reasoning?
Question 2.38
Is LLM reasoning an example of online learning? Explain your answer
Question 2.39
What is an agentic AI?
Question 2.40
Do agentic AIs engage in online learning? Explain your answer
Question 2.41
What are the five stages of software development in the Waterfall Model we learned in class?
- _____
- _____
- _____
- _____
- _____
Question 2.42
In scrum and other agile methods, the backlog is a list of things each called ______
Question 2.43
The scrum backlog matches which of the five waterfall stages?
Question 2.44
To know if an AI algorithm is supervised requires knowing
- If there’s a feedback mechanism in its user interface
- What its training data looks like
- What problems it can solve
- Whether it learned with human help
Question 2.45
What is the word used to describe AI systems that continue to learn after they are released?
Question 2.46
Which one more directly impacts LLM electricity consumption:
- Length of text I send to it
- Length of text it sends back
Question 2.47
What is the name of the problem where an AI can repeat its training data well, not respond well to inputs not present in its training?
Question 2.48
For each described AI system, identify what group of AI it is:
- Classification
- Clustering
- Generative
- Regression
- Given income and zip code, predict the value of owned vehicle(s).
- Given pictures of newly-discovered creatures, estimate how many species there are and which pictures are of each species
- Given satellite photographs of cities, pick out each tree in each photo.
- Given the past five days’ weather reports, predict today’s high temperature.
Question 2.49
Suppose an LLM response includes references to items from yesterday’s news. This most likely means it
- has been fine-tuned
- is agentic
- is reasoning
- learns as it is running
- was trained in the last 24 hours
Question 2.50
What are the five stages of the waterfall model we discussed in class?
Question 2.51
In software development, upstream
refers to
- An earlier stage in the waterfall model
- Brittleness
- Libraries being used
- Previous versions of the software
- Requested by management
Question 2.52
Which of the following is an example of refactoring?
- Adding a
preferred name
field to everyone’s user profile.
- Changing which algorithm is used to sort numbers to be more performant.
- Disabling a buggy feature to keep the program running.
- Changing a program crash to show an error message instead.
Question 2.53
A scrum backlog is a list of stories. In this context, a story is a description of
- an implementation of the scrum design
- how part of the software is designed
- one piece of a larger software system
- something the software did wrong
- something the software should be able to do
Question 2.54
If LLM agents start doing all software development, are human models like waterfall and scrum still relevant? Why or why not?
Quiz 3 material
Question 3.1
What kinds of bugs can be turned into security vulnerabilities?
- Fatal errors, where the program freezes or crashes.
- Logic errors, where a function runs but computes a slightly wrong result.
- Missing features not present in the program at all.
Question 3.2
Which of the following is a difference between a vulnerability and an exploit?
- A vulnerability is a specific type of exploit.
- An exploit is a specific type of vulnerability.
- Code has exploits that attackers use to create vulnerabilities.
- Code has vulnerabilities that attackers use to create exploits.
- They are synonyms.
Question 3.3
What’s the best security advice regarding updating software like operating systems and applications you use?
- Don’t update: updates used to reduce the security of old software to encourage people to buy newer devices and applications.
- Update after a delay: updates are sometimes buggy and waiting avoids getting a bad update.
- Update right away: delaying updates can open your computer to cyber attacks.
Question 3.4
Which of the following is the most secure way to manage your passwords?
- Come up with one long and unguessable password I can’t forget and use it everywhere.
- Have two passwords: one for important sites and another for unimportant sites.
- Just remember one password, the one for your email, and use
forgot your password
options for everything else.
- Use a password manager (either an app or a piece of paper) to keep track of a different password for each site.
Question 3.5
Could installing a browser extension be a security risk?
- Maybe, some extensions are malicious and create holes in the browser’s sandbox.
- No, extensions are contained by the browser’s sandbox and are as safe as the browser itself is.
- Yes, even well intentioned extensions weaken the browser’s sandbox.
Question 3.6
Signatures use public keys to authenticate websites. How do we know if the public key is authentic instead of being created by an attacker?
- Each computer comes with the public keys for all the major websites; we trust the computer manufacturers to give us the right keys.
- Each website gives us a certificate telling us its public key, signed by someone else we already know.
- If the public key can decrypt the signature, it is authentic.
- The first time we visit a website it tells us its key; we remember that for all future visits.
Question 3.7
Digital certificates have expiration dates. Why?
- To keep up with Moore’s law, which makes what used to be too hard to do become doable as new hardware comes along.
- To keep us buying new certificates.
- To make ensure time-consuming attacks on certificates don’t complete their work until after the certificate has expired.
- To protect against the possibility that quantum computers might break older certificate technology.
Question 3.8
The Diffie-Hellman key exchange is used to create
- Blockchains
- Digital certificates
- Hashes
- Keys for symmetric encryption
- Public and private keys for making signatures
- Signatures
Question 3.9
What is the difference between authentication and authorization?
- Authentication ensures a message hasn’t been altered, authorization ensures only intended recipients receive the message.
- Authentication ensures only intended recipients receive the message, authorization ensures a message hasn’t been altered, .
- Authentication tells me what you are allowed to do, authorization tells me who you are.
- Authentication tells me who you are, authorization tells me what you are allowed to do.
Question 3.10
Which of the following best describes the principle of least privilege?
- Granular rights systems, where each user has only those they absolutely need, are more secure.
- Simpler systems with fewer roles and sets of rights are more secure.
- The less you have to think about your rights, the more usable the system is.
- The usability of a system is dominated by the least-privileged user’s experience.
Question 3.11
Which cryptography tools are used by common blockchains such as BitCoin and Etherium?
- Hashes, used to ensure old transactions are never lost.
- Key exchange, used to ensure blockchain users agree on they keys used.
- Signatures, used to ensure only coin owners can give them away.
- Symmetric ciphers, used to keep others from eavesdropping on private transactions.
Question 3.12
Suppose a million users are on a blockchain and the blockchain contains 100 GB of data. How much of that data is stored by the average blockchain user?
- 100 GB
- 100 GB / 1 million = 100 KB
- 100 GB / sqrt(1 million) = 100 MB
- A fixed, constant amount; only a few users have data that scales with blockchain size
Question 3.13
IP (Internet Protocol) is used to route messages between computers. Which of the following are true of IP?
- It connects computers with the help of other intermediate computers.
- It identifies computers by their URL hostname (for example,
illinois.edu
).
- It reliably delivers messages if possible, or gives an error message if not possible.
Question 3.14
What best describes the security of IP traffic?
- Both who you are communicating with and what you are saying to them can be encrypted if you both agree to do so.
- Both who you are communicating with and what you are saying to them is always encrypted.
- Neither Who you are communicating nor what you are saying to them can be encrypted.
- Who you are communicating with cannot be encrypted, but what you are saying to them can be encrypted if you both agree to do so.
- Who you are communicating with cannot be encrypted, but what you are saying to them is always encrypted.
Question 3.15
Which best describes the computer you are using to access this homework right now?
- It is not part of the internet, but it is
on
the internet by being connected to a computer that is.
- It is part of the internet, but because it’s only attached to one other computer no messages are routed through it.
- It is part of the internet, participating routing messages between other computers.
Question 3.16
DNS is primarily used to
- Add security (authentication, integrity, and/or confidentiality) to internet communication.
- Connect two computers with the help of other intermediate computers.
- Convert URLs to IP addresses.
- Deal with connection failures.
Question 3.17
Suppose I want to have the URL https://info102.illinois.edu
be created and used for this course’s webpage. Who should I ask to do that?
- EDUCAUSE, the nonprofit association that controls .edu URLs.
- I ask the University; if they agree they then ask EDUCAUSE.
- I ask the University; if they agree they then ask IANA.
- IANA, the international agency that controls IP addresses.
- The University of Illinois Urbana-Champaign, the organization that owns the illinois.edu site.
Question 3.18
Which of the following could a hacker do if they owned a computer that helps route internet traffic?
This is one of two related questions that differ in what level of Internet access the attacker has.
- Look for an exploit vulnerabilities in other computers.
- Prevent access to certain websites by failing to deliver those requests.
- Read the contents of email between different email clients.
- Read the passwords users type into webpages.
Question 3.19
Which of the following could a hacker do if they connect through an internet service provider?
This is one of two related questions that differ in what level of Internet access the attacker has.
- Look for an exploit vulnerabilities in other computers.
- Prevent access to certain websites by failing to deliver those requests.
- Read the contents of email between different email clients.
- Read the passwords users type into webpages.
Question 3.20
TCP adds reliability on top of unreliable communication by using the digital equivalent of which two of the following human communication patterns?
- Adding page numbers to a stack of printed pages to help put them in order if they are dropped.
- Asking others to repeat themselves if what they said was hard to hear or nonsensical.
- Repeating yourself if the person you are talking to doesn’t respond.
- Saying the same thing in multiple ways to ensure it is understood.
- Using abbreviations like
it
to avoid repeating previously-stated items.
Question 3.21
When a program lives in the cloud
or is cloud native
, that means
- It’s still an idea, not yet realized as a concrete application.
- Its owners rent time on computers to run it instead of running it themselves.
- Its webpage doesn’t have a static URL or IP address.
- Users access it through the Internet.
Question 3.22
It is common for 1 hour of compute time using serverless computing to cost as much as 10 hours of compute time and wear-and-tear on servers you own yourself. Why is serverless computing still attractive?
- Many apps are used only sporadically; serverless models avoid paying for down time.
- Serverless computing can do more in 1 hour than commodity servers could do in 10 hours.
- Servers are bad for the environment; it’s worth paying extra to run without a server.
- Servers only work for online programs; programs that run locally need to be run in a serverless way.
Question 3.23
Which of the following is the primary reason why computer chip creation machines use a computer?
- Computers can be cheaper than building customized analog hardware.
- Computers can be communicate over the Internet or with wireless signals.
- Computers can be configured to handle many different tasks with one device.
- Computers can integrate multiple sensors to implement more involved decisions.
- Computers can solve math that is hard to build as an analog device.
Question 3.24
Which of the following is the primary reason why modern car tires use a computer?
- Computers can be cheaper than building customized analog hardware.
- Computers can be communicate over the Internet or with wireless signals.
- Computers can be configured to handle many different tasks with one device.
- Computers can integrate multiple sensors to implement more involved decisions.
- Computers can solve math that is hard to build as an analog device.
Question 3.25
Which of the following is the primary reason why microwave ovens use a computer?
- Computers can be cheaper than building customized analog hardware.
- Computers can be communicate over the Internet or with wireless signals.
- Computers can be configured to handle many different tasks with one device.
- Computers can integrate multiple sensors to implement more involved decisions.
- Computers can solve math that is hard to build as an analog device.
Question 3.26
If my devices uses an ASIC, which of the four defining properties of what we usually mean by computer
does it have?
- Computer
- Digital
- General-purpose
- Programmable
Question 3.27
Which two of the following are generally implied by describing a household device as smart
?
- Contains multiple actuators
- Contains multiple sensors
- Has a screen
- Has buttons or keys for direct input
- Is connected to the Internet
- Powers itself off when not in use
- Rechargeable
- Uses AI
Question 3.28
If you have a smart thermostat or other smart household appliance, it probably
- has been hacked, and will be used to harm you at some point in the future.
- has been hacked, but cybercriminals are using it to harm others not you.
- is safe from cybercriminals because it has few functions to be hacked.
- is safe from cybercriminals because it isn’t worth a hacker taking it over.
Question 3.29
The first Roomba from iRobot is often cited as the first commercially-viable household robot. Its success was in part due to
- Advanced sensors that helped it correctly tell furniture, walls, and feet apart.
- Advanced vision algorithms that helped it create a 3D map of the rooms it was cleaning.
- Planned motion that systemically cleaned everywhere efficiently.
- Randomized motion that cleaned everywhere eventually.
Question 3.30
Given what we shared about self-driving cars, which of the following seems likely to be the hardest for them to do?
- Avoid obstacles in the road
- Detour around road closures
- Drive in snow, rain, and other slippery conditions
- Follow directions of officers directing traffic by hand
- Navigate through narrow gaps and into tight spaces
- Parallel park
- Read road signs, traffic lights, and the like
Question 3.31
Define Authentication
Question 3.32
Define Confidentiality
Question 3.33
Define Integrity
Question 3.34
Define Authorization
Question 3.35
Define the principle of least privilege
Question 3.36
Why is it less secure to install a browser extension that changes how the window border looks than it is to visit a webpage that is running complicated code that you don’t understand or trust?
Question 3.37
What are the two most important tips for using computers safely?
Question 3.38
What is the primary purpose of IP?
Question 3.39
What is the primary purpose of DNS?
Question 3.40
What is the primary purpose of TCP?
Question 3.41
Your computer is online, but it is not part of the Internet. Which of the following operations can it do?
- Send data to other machines
- Send DNS requests
- Receive data from other machines
- Respond to DNS requests sent by others
- Route data between two other machines
- Use TCP
Question 3.42
Recently U of I announced (https://massmail.illinois.edu/massmail/1486908145.html) a plan to find a cloud‑based platform
to handle student registration. What does cloud-based
mean?
Question 3.43
A robot was defined in lecture as having three components and in lab as what those three components do. Give either list here.
Question 3.44
On April 2nd ago it was revealed that the most commonly-used digital certificate checker let people take over computers if they included a comma in the input they sent to the certificate authority. Given that,
- Adding a comma is an exploit
- Adding a comma is a vulnerability
- Both
- Neither
Question 3.45
Having your browser remember your passwords is
- Safe, like other password managers
- Unsafe, it weakens the browser
- Unsafe, passwords should stay in human memory not computer
Question 3.46
If key K decrypts signature S to the hash of message M then
- K’s owner wrote M
- M describes K’s owner
- M was signed by K’s owner
- S is invalid
Question 3.47
If I figure out how to log in as if I were you, that is a failure of
- Authentication
- Authorization
- Confidentiality
- Integrity
Question 3.48
I want to send you a secret, using IP to get it to you.
- I should also use a digital certificate to keep it secret
- I should also use a hash to keep it secret
- I should also use a symmetric cipher to keep it secret
- None of the above; IP keeps messages secret for me
Question 3.49
Question 6: Suppose the IP address of courses.grainger.illinois.edu changed. How would your computer find that out? It doesn’t need to find it out The courses webserver would tell it The edu DNS server would tell it The grainger DNS server would tell it You’d have to tell it yourself Your ISP would tell it
Question 3.50
What is something an IP routing server can do without any exploits of vulnerabilities, just using IP’s basic structure?
- Add you to a botnet
- Control what websites you can see
- Read your email
- See passwords you type in websites
Question 3.51
The following are all true of the cloud; which one makes cloud computing more energy efficient than local computing? Answer for the total energy usage of all apps, not the specific energy usage of a single app developer.
- Apps can change which servers they run on as they run
- Apps rent, not own, servers
- Less-used apps cost less
- Servers each hosts multiple apps
Question 3.52
Why do battery chargers include computers?
- To control actuators
- To interpret sensors
- To provide customization or settings
- To perform complex computation
Question 3.53
Smart devices are often added to botnets because they are rarely updated and they
- Are on the Internet
- Are powerful computers for bitcoin mining
- Can be used to extort money from their owners
- Have access to multiple sensors
Question 3.54
What are the two most important tips for computer security?
Question 3.55
I should use TCP if I want to
- communicate reliably
- communicate securely
- use URLs instead of IP addresses
- use IP addresses instead of URLs
Question 3.56
Which of the following can you send but not receive because you have an ISP instead of being part of the Internet?
- Digital certificates
- Diffie-Helmen key exchanges
- DNS requests
- Messages over IP
- TCP packets