Podcast
Questions and Answers
Text encodings are needed to map characters to ______ data.
Text encodings are needed to map characters to ______ data.
binary
UTF-8 can handle over ______ characters, making it far more versatile than ASCII.
UTF-8 can handle over ______ characters, making it far more versatile than ASCII.
1 million
We use an ______ address to identify a device on the internet.
We use an ______ address to identify a device on the internet.
IP
Processes are addressed using ______ numbers.
Processes are addressed using ______ numbers.
TCP ensures that all packets are delivered successfully and in the correct ______.
TCP ensures that all packets are delivered successfully and in the correct ______.
Error detection in TCP is accomplished through the use of ______.
Error detection in TCP is accomplished through the use of ______.
When dealing with non-English text or special characters, ______ is preferable to ASCII.
When dealing with non-English text or special characters, ______ is preferable to ASCII.
TCP prevents network congestion by adjusting the transmission rate based on network ______.
TCP prevents network congestion by adjusting the transmission rate based on network ______.
The HTTP request line includes the method, ______, and HTTP version.
The HTTP request line includes the method, ______, and HTTP version.
HTTP status codes are grouped by their ______, indicating different response categories.
HTTP status codes are grouped by their ______, indicating different response categories.
A status code of ______ indicates that the request succeeded and the server returned the requested resource.
A status code of ______ indicates that the request succeeded and the server returned the requested resource.
Proxies act on behalf of clients to improve performance or provide ______.
Proxies act on behalf of clients to improve performance or provide ______.
The ______ header informs the receiver about the data format of the message.
The ______ header informs the receiver about the data format of the message.
Character ______ ensures text data is correctly interpreted, especially for non-ASCII characters.
Character ______ ensures text data is correctly interpreted, especially for non-ASCII characters.
HTML organizes web content into semantic elements using ______.
HTML organizes web content into semantic elements using ______.
The ______ layer in web content formats is responsible for providing the look and feel.
The ______ layer in web content formats is responsible for providing the look and feel.
GET requests retrieve data while ______ requests send data to the server.
GET requests retrieve data while ______ requests send data to the server.
______ is the loopback address used for testing web servers and applications locally.
______ is the loopback address used for testing web servers and applications locally.
Wavelength Division Multiplexing (WDM) is used in ________.
Wavelength Division Multiplexing (WDM) is used in ________.
The name 'Internet' comes from the term '______-networking'.
The name 'Internet' comes from the term '______-networking'.
A node is any ________ connected to the network.
A node is any ________ connected to the network.
The arrangement of nodes and links in a network is known as ________.
The arrangement of nodes and links in a network is known as ________.
Reliable transmission in TCP is achieved through a three-way ______.
Reliable transmission in TCP is achieved through a three-way ______.
The OSI Model comprises ________ layers.
The OSI Model comprises ________ layers.
The receiver sends an ______ for each successfully received packet.
The receiver sends an ______ for each successfully received packet.
The maximum payload size for an IPv4 packet is ________ bytes.
The maximum payload size for an IPv4 packet is ________ bytes.
Each byte of data in TCP has a unique ______ number.
Each byte of data in TCP has a unique ______ number.
TCP ensures reliable transmission by using a ________ handshake.
TCP ensures reliable transmission by using a ________ handshake.
If an ACK is not received within a certain time, TCP performs ______.
If an ACK is not received within a certain time, TCP performs ______.
An IP address provides ________ information to help route a packet.
An IP address provides ________ information to help route a packet.
Data integrity in TCP is validated using ______.
Data integrity in TCP is validated using ______.
The address 127.0.0.1 refers to the ________ interface.
The address 127.0.0.1 refers to the ________ interface.
Applications that require low latency, such as ______, do not work optimally with TCP.
Applications that require low latency, such as ______, do not work optimally with TCP.
________ govern the rules of communication between devices on a network.
________ govern the rules of communication between devices on a network.
______ is often preferred over TCP for applications requiring fast, uninterrupted data transfer.
______ is often preferred over TCP for applications requiring fast, uninterrupted data transfer.
Latency refers to the ________ in transmitting data from the source to the destination.
Latency refers to the ________ in transmitting data from the source to the destination.
The Domain Name Service (DNS) translates human-readable domain names into ______.
The Domain Name Service (DNS) translates human-readable domain names into ______.
IP does not ensure that packets reach the receiver in the same ________ they were sent.
IP does not ensure that packets reach the receiver in the same ________ they were sent.
Bandwidth is defined as the maximum ________ rate a network link can handle.
Bandwidth is defined as the maximum ________ rate a network link can handle.
The client-side component that queries the DNS server is known as the ______.
The client-side component that queries the DNS server is known as the ______.
DNS uses a hierarchical structure that includes ______ DNS servers at the highest level.
DNS uses a hierarchical structure that includes ______ DNS servers at the highest level.
TLD servers are responsible for storing information about ______-level domains.
TLD servers are responsible for storing information about ______-level domains.
The ______ stores actual DNS records, providing the final answer to a query.
The ______ stores actual DNS records, providing the final answer to a query.
In binary numbers, the leftmost bit is referred to as the Most ______ Bit (MSB).
In binary numbers, the leftmost bit is referred to as the Most ______ Bit (MSB).
To convert the binary number 1101 to decimal, you calculate it as (1×2^3)+(1×2^2)+(0×2^1)+(1×2^0) = ______.
To convert the binary number 1101 to decimal, you calculate it as (1×2^3)+(1×2^2)+(0×2^1)+(1×2^0) = ______.
The system can continue functioning even if some nodes fail, known as ______ tolerance.
The system can continue functioning even if some nodes fail, known as ______ tolerance.
New nodes can be added to handle increased demand, a feature referred to as ______.
New nodes can be added to handle increased demand, a feature referred to as ______.
Examples of systems that illustrate these concepts include cloud computing platforms, web applications, and ______ systems.
Examples of systems that illustrate these concepts include cloud computing platforms, web applications, and ______ systems.
A ______ is a text-based interface where users interact with the operating system by typing commands.
A ______ is a text-based interface where users interact with the operating system by typing commands.
The receiver sends ______ to confirm the successful receipt of data.
The receiver sends ______ to confirm the successful receipt of data.
Each byte in the data stream is assigned a ______ number to ensure proper order.
Each byte in the data stream is assigned a ______ number to ensure proper order.
In the CLI, users execute tasks like file manipulation, process management, and ______ configuration.
In the CLI, users execute tasks like file manipulation, process management, and ______ configuration.
If an acknowledgment is not received within a timeout period, TCP ______ the data.
If an acknowledgment is not received within a timeout period, TCP ______ the data.
Signals can be classified as either ______ or digital.
Signals can be classified as either ______ or digital.
TCP uses ______ to verify data integrity during transmission.
TCP uses ______ to verify data integrity during transmission.
______ cables transmit electrical signals and are used for short to medium distances.
______ cables transmit electrical signals and are used for short to medium distances.
______ cables transmit light signals and are ideal for high-speed communication.
______ cables transmit light signals and are ideal for high-speed communication.
TCP is not ideal for applications that prioritize ______ and real-time performance over reliability.
TCP is not ideal for applications that prioritize ______ and real-time performance over reliability.
Modulation techniques are employed to encode binary data on an ______ signal.
Modulation techniques are employed to encode binary data on an ______ signal.
In video streaming, dropped packets are ______ as the content is time-sensitive.
In video streaming, dropped packets are ______ as the content is time-sensitive.
In Amplitude Modulation (AM), the ______ of the analog wave varies based on binary input.
In Amplitude Modulation (AM), the ______ of the analog wave varies based on binary input.
Real-time actions in online gaming require low ______.
Real-time actions in online gaming require low ______.
Voice over IP (VoIP) needs real-time audio to be delivered with minimal ______.
Voice over IP (VoIP) needs real-time audio to be delivered with minimal ______.
In Frequency Modulation (FM), the ______ of the analog wave changes based on binary input.
In Frequency Modulation (FM), the ______ of the analog wave changes based on binary input.
Phase-Shift Keying (PSK) represents binary data by changing the ______ of the analog wave.
Phase-Shift Keying (PSK) represents binary data by changing the ______ of the analog wave.
IPv4 addresses consist of four decimal numbers, each ranging from 0 to ______.
IPv4 addresses consist of four decimal numbers, each ranging from 0 to ______.
IPv6 addresses are written as eight groups of four ______ digits.
IPv6 addresses are written as eight groups of four ______ digits.
Multiplexing combines multiple signals to transmit them over a single ______ channel.
Multiplexing combines multiple signals to transmit them over a single ______ channel.
Time Division Multiplexing (TDM) allows signals to share the channel by taking turns in ______ slots.
Time Division Multiplexing (TDM) allows signals to share the channel by taking turns in ______ slots.
A ______ is a stateless, application-layer protocol that forms the foundation of data communication on the World Wide Web.
A ______ is a stateless, application-layer protocol that forms the foundation of data communication on the World Wide Web.
The ______ method is used to submit data to create or modify a resource.
The ______ method is used to submit data to create or modify a resource.
Frequency Division Multiplexing (FDM) allows signals to occupy separate ______ bands.
Frequency Division Multiplexing (FDM) allows signals to occupy separate ______ bands.
HTTP/2 uses ______ to improve performance by allowing multiple requests to be sent over a single connection.
HTTP/2 uses ______ to improve performance by allowing multiple requests to be sent over a single connection.
The ______ protocol improves performance, security, and efficiency over HTTP/1.1.
The ______ protocol improves performance, security, and efficiency over HTTP/1.1.
The parts of a URL include Scheme, Host, ______, Path, and Query String.
The parts of a URL include Scheme, Host, ______, Path, and Query String.
In One's Complement, negative numbers are represented by ______ all the bits of their absolute value.
In One's Complement, negative numbers are represented by ______ all the bits of their absolute value.
Two's complement simplifies arithmetic operations because it only has ______ representation of zero.
Two's complement simplifies arithmetic operations because it only has ______ representation of zero.
In floating point values, the part that determines the range of the value is called the ______.
In floating point values, the part that determines the range of the value is called the ______.
A character set includes letters, digits, special characters, and ______ characters.
A character set includes letters, digits, special characters, and ______ characters.
Character encoding maps characters from the character set to their corresponding ______ values.
Character encoding maps characters from the character set to their corresponding ______ values.
UTF-8 is better than ASCII because it supports over ______ million characters from multiple languages.
UTF-8 is better than ASCII because it supports over ______ million characters from multiple languages.
The instruction set of a CPU is the complete set of ______-level commands that the processor understands.
The instruction set of a CPU is the complete set of ______-level commands that the processor understands.
A program is a static set of instructions, while a ______ is a program in execution.
A program is a static set of instructions, while a ______ is a program in execution.
Operating systems manage CPU, memory, disk, and other ______.
Operating systems manage CPU, memory, disk, and other ______.
Programming languages allow developers to write ______ for computers to execute tasks.
Programming languages allow developers to write ______ for computers to execute tasks.
For +5 in an 8-bit binary, the representation is ______ (unchanged).
For +5 in an 8-bit binary, the representation is ______ (unchanged).
In the instruction set, commands like ADD, SUB, and ______ are used for data movement.
In the instruction set, commands like ADD, SUB, and ______ are used for data movement.
A significant feature of an Operating System is ______ management, which handles the creation and scheduling of processes.
A significant feature of an Operating System is ______ management, which handles the creation and scheduling of processes.
The ______ of floating point values determines their precision.
The ______ of floating point values determines their precision.
In ASCII, the character A is encoded as ______.
In ASCII, the character A is encoded as ______.
Flashcards
Text Encoding
Text Encoding
Transforming characters into binary data for computer processing and transmission.
UTF-8
UTF-8
Variable-length character encoding supporting all Unicode characters, backwards compatible with ASCII.
IP Address
IP Address
Unique numerical address identifying a device on the internet.
Port Number
Port Number
Signup and view all the flashcards
Socket Address
Socket Address
Signup and view all the flashcards
TCP Reliability
TCP Reliability
Signup and view all the flashcards
TCP Flow Control
TCP Flow Control
Signup and view all the flashcards
TCP Congestion Control
TCP Congestion Control
Signup and view all the flashcards
TCP Reliable Transmission
TCP Reliable Transmission
Signup and view all the flashcards
Three-Way Handshake
Three-Way Handshake
Signup and view all the flashcards
Acknowledgments (ACKs)
Acknowledgments (ACKs)
Signup and view all the flashcards
Sequence Numbers
Sequence Numbers
Signup and view all the flashcards
Retransmissions
Retransmissions
Signup and view all the flashcards
Checksums
Checksums
Signup and view all the flashcards
DNS
DNS
Signup and view all the flashcards
DNS Resolver
DNS Resolver
Signup and view all the flashcards
Boolean Algebra
Boolean Algebra
Signup and view all the flashcards
Boolean OR
Boolean OR
Signup and view all the flashcards
MSB
MSB
Signup and view all the flashcards
LSB
LSB
Signup and view all the flashcards
Binary to Decimal Conversion
Binary to Decimal Conversion
Signup and view all the flashcards
Binary Addition Rules
Binary Addition Rules
Signup and view all the flashcards
Signed Number Representation
Signed Number Representation
Signup and view all the flashcards
One's Complement
One's Complement
Signup and view all the flashcards
Two's Complement
Two's Complement
Signup and view all the flashcards
Floating Point Value
Floating Point Value
Signup and view all the flashcards
Character Set
Character Set
Signup and view all the flashcards
Character Encoding
Character Encoding
Signup and view all the flashcards
Why is UTF-8 better than ASCII?
Why is UTF-8 better than ASCII?
Signup and view all the flashcards
Instruction Set of a CPU
Instruction Set of a CPU
Signup and view all the flashcards
Program vs. Process
Program vs. Process
Signup and view all the flashcards
Operating System (OS)
Operating System (OS)
Signup and view all the flashcards
Resource Management by OS
Resource Management by OS
Signup and view all the flashcards
Process Management by OS
Process Management by OS
Signup and view all the flashcards
File System Management by OS
File System Management by OS
Signup and view all the flashcards
Programming Languages
Programming Languages
Signup and view all the flashcards
Benefits of Computer Networks
Benefits of Computer Networks
Signup and view all the flashcards
Fault Tolerance
Fault Tolerance
Signup and view all the flashcards
Scalability
Scalability
Signup and view all the flashcards
Command Line Interface (CLI)
Command Line Interface (CLI)
Signup and view all the flashcards
Signals
Signals
Signup and view all the flashcards
Analog Signal
Analog Signal
Signup and view all the flashcards
Digital Signal
Digital Signal
Signup and view all the flashcards
Copper Cables
Copper Cables
Signup and view all the flashcards
Fiber Optic Cables
Fiber Optic Cables
Signup and view all the flashcards
Wireless Mediums
Wireless Mediums
Signup and view all the flashcards
NRZ Encoding
NRZ Encoding
Signup and view all the flashcards
Amplitude Modulation (AM)
Amplitude Modulation (AM)
Signup and view all the flashcards
Frequency Modulation (FM)
Frequency Modulation (FM)
Signup and view all the flashcards
Phase-Shift Keying (PSK)
Phase-Shift Keying (PSK)
Signup and view all the flashcards
Multiplexing
Multiplexing
Signup and view all the flashcards
Time Division Multiplexing (TDM)
Time Division Multiplexing (TDM)
Signup and view all the flashcards
Frequency Division Multiplexing (FDM)
Frequency Division Multiplexing (FDM)
Signup and view all the flashcards
Networks: Facilitate Connectivity
Networks: Facilitate Connectivity
Signup and view all the flashcards
Networks: Share Resources
Networks: Share Resources
Signup and view all the flashcards
Networks: Enable Scalability
Networks: Enable Scalability
Signup and view all the flashcards
Networks: Ensure Reliability
Networks: Ensure Reliability
Signup and view all the flashcards
Networks: Enhance Communication
Networks: Enhance Communication
Signup and view all the flashcards
Network Nodes
Network Nodes
Signup and view all the flashcards
Network Links
Network Links
Signup and view all the flashcards
Network Topology
Network Topology
Signup and view all the flashcards
Network Protocols
Network Protocols
Signup and view all the flashcards
Network Bandwidth
Network Bandwidth
Signup and view all the flashcards
Network Latency
Network Latency
Signup and view all the flashcards
Internet Origins
Internet Origins
Signup and view all the flashcards
OSI Model: Key Idea
OSI Model: Key Idea
Signup and view all the flashcards
IP Layer (Network Layer) Role
IP Layer (Network Layer) Role
Signup and view all the flashcards
HTTP Request Line
HTTP Request Line
Signup and view all the flashcards
HTTP Status Code Groups
HTTP Status Code Groups
Signup and view all the flashcards
2XX: Success
2XX: Success
Signup and view all the flashcards
4XX: Client Error
4XX: Client Error
Signup and view all the flashcards
Proxy
Proxy
Signup and view all the flashcards
Content-Type
Header
Content-Type
Header
Signup and view all the flashcards
HTML Structure
HTML Structure
Signup and view all the flashcards
GET Request
GET Request
Signup and view all the flashcards
127.0.0.1
127.0.0.1
Signup and view all the flashcards
TCP Retransmissions
TCP Retransmissions
Signup and view all the flashcards
TCP Checksums
TCP Checksums
Signup and view all the flashcards
When is TCP not the best choice?
When is TCP not the best choice?
Signup and view all the flashcards
What is UDP?
What is UDP?
Signup and view all the flashcards
IPv4 Address Format
IPv4 Address Format
Signup and view all the flashcards
IPv6 Address Format
IPv6 Address Format
Signup and view all the flashcards
What is HTTP?
What is HTTP?
Signup and view all the flashcards
HTTP Statelessness
HTTP Statelessness
Signup and view all the flashcards
What are web resources?
What are web resources?
Signup and view all the flashcards
HTTP Methods
HTTP Methods
Signup and view all the flashcards
What is a URL?
What is a URL?
Signup and view all the flashcards
URL Components
URL Components
Signup and view all the flashcards
HTTP/2 Improvements
HTTP/2 Improvements
Signup and view all the flashcards
HTTP Message Structure
HTTP Message Structure
Signup and view all the flashcards
RESTful Architecture
RESTful Architecture
Signup and view all the flashcards
Study Notes
Text Encoding
- Text encodings map characters to binary data for computer processing and transmission.
- Standardization ensures text exchange across platforms without misinterpretation.
UTF-8
- UTF-8 encodes all Unicode characters with variable byte lengths (1 to 4 bytes per character).
- Supports multiple languages and symbols.
- Backward compatible with ASCII.
- Better than ASCII when handling non-English text or special characters.
Machine/Process Addressing
- IP addresses (IPv4, IPv6) identify devices on the Internet.
- Port numbers identify processes/applications on a machine.
- Combined IP address and port number form a socket address for routing.
TCP vs. IP
- TCP ensures reliable data transmission—packets delivered correctly in order.
- TCP handles error detection, flow control, and congestion control.
- IP is best-effort (unreliable); packets might be lost or out of order.
Reliable TCP Transmission
- Three-way handshake establishes connections.
- Acknowledgments (ACKs) confirm packet delivery.
- Sequence numbers ensure order and detect missing packets.
- Retransmissions compensate for lost packets.
- Checksums validate data integrity.
Applications Not Ideal for TCP
- Applications requiring low latency (e.g., video streaming, VoIP, online gaming) are better served by UDP.
- TCP’s reliability features introduce delays.
DNS
- DNS translates domain names (e.g., www.example.com) to IP addresses.
- Simplifies accessing websites by using human-friendly names rather than numerical IP addresses.
DNS Structure
- DNS Resolver: Queries DNS servers.
- Root DNS Servers: Point to TLD servers.
- TLD Servers: Handle specific top-level domains (e.g., .com).
- Authoritative DNS Servers: Store DNS records and provide answers.
- DNS Records: (e.g., A, AAAA, MX, CNAME, TXT).
Boolean Algebra
- Boolean Algebra uses two values: True (1) and False (0).
Boolean Operator OR
- The OR operator returns True if at least one input is True.
- Truth table shows possible outcomes.
Binary Numbers
- Most Significant Bit (MSB) is the leftmost bit with the highest value.
- Least Significant Bit (LSB) is the rightmost bit with the lowest value.
Binary to Decimal Conversion
- Convert binary 1101 to decimal 13 by using the place value of each bit in the binary number system.
Binary Addition Rules
- Describes the four basic rules for adding two binary digits and a carry.
Signed Binary Numbers
- Naive (Sign-Magnitude): First bit represents sign, rest is absolute value.
- One's Complement: Inverts bits of the positive representation.
- Two's Complement: Inverts bits and adds 1 (most common).
Floating-Point Values
- Floating-Point values represent real numbers (including fractions and decimals) using a sign, exponent, and mantissa.
Character Set
- A character set is a collection of recognizable characters (letters, digits, symbols).
Character Encoding
- Character encoding maps characters from a character set to their binary equivalents.
UTF-8 vs. ASCII/ISO-8859-1
- UTF-8 is more versatile than ASCII or ISO-8859-1.
- Can encode many different characters from numerous languages, including emojis.
- Backward compatible with ASCII; has variable-length encoding.
CPU Instruction Set
- The instruction set comprises commands interpreted by the CPU.
- Includes instructions for arithmetic, data movement, logic, and control flow.
Program vs. Process
- A program is a set of static instructions.
- A process is a program in execution, with allocated resources and state.
Operating Systems
- Manage computer resources (CPU, memory, disk).
- Handle processes (creation, scheduling, termination).
- Organize files and directories (file system).
- Protect system resources (security).
- Provide user interfaces (CLI, GUI).
Programming Languages
- Used to write instructions for computers.
- Python, C++ are examples.
Networks
- Facilitate communication between devices.
- Share resources (e.g., printers, data).
- Enable scalability and reliability.
- Client-server model is common for centralized data handling.
Signals
- Signals represent data for communication.
- Analog signals are continuous, digital signals are discrete.
- Transmission mediums (copper, fiber, wireless) affect the signal method (electrical, light, electromagnetic).
Binary Signal Encoding
- NRZ (Non-Return-to-Zero): 1 is high, 0 is low voltage.
- Other methods: Manchester Encoding, NRZ-Inverted.
Analog Signal Encoding
- Modulation techniques alter signal characteristics (amplitude, frequency, phase).
- AM (Amplitude Modulation): Amplitude changes based on binary input.
- FM (Frequency Modulation): Frequency changes based on binary input.
- PSK (Phase-Shift Keying): Phase changes represent binary input.
Multiplexing
- Combine multiple signals onto a single channel to improve resource usage and reduce costs.
- Time Division Multiplexing (TDM), Frequency Division Multiplexing (FDM), Wavelength Division Multiplexing (WDM).
Network Elements
- Nodes: Devices connected to the network (computers, routers).
- Links: Physical/logical connections between nodes (cables).
- Topology: Arrangement of nodes and links (star, bus).
- Protocols: Rules for communication (e.g., TCP/IP).
- Bandwidth: Maximum data rate over a network link.
- Latency: Delay in transmitting data.
Internet Protocol (IP)
- Internet originated from inter-networking projects.
- The OSI model is a conceptual framework to standardize networking.
- The Network Layer (IP) handles routing of packets across networks using IP addresses.
- IP packet includes header (source, destination, protocol) and payload (data).
IPv4 vs. IPv6
- IPv4 addresses are four decimal numbers.
- IPv6 addresses are eight groups of hexadecimal digits, with possible shortening rules for easier representation.
127.0.0.1
points to the local host on the device.
TCP
- TCP is a connection-oriented protocol for reliable data transmission.
- Uses mechanisms like acknowledgments (ACKs), sequence numbers, retransmissions, and checksums.
- TCP is suitable for applications that need reliability but not for low-latency operations.
HTTP
- HTTP (Hypertext Transfer Protocol) is used for communication on the Web.
- Uses methods (GET, POST, PUT, DELETE, HEAD, ... ) to interact with resources.
- URLs specify the location of resources (scheme, host, path, query params).
- HTTP/2 improvements include request pipelining, server push, and binary encoding.
HTTP Structures
- HTTP messages have a request or status line, headers, and an optional body (containing data).
- Headers provide metadata (Content-Type, Content-Length).
HTTP Status Codes
- Codes grouped by first digit (1xx-5xx) indicate response type (informational, success, redirection, client error, server error).
Character Encoding
- Character encoding is critical, especially for non-ASCII characters in HTTP.
Proxies/Gateways
- Proxies improve performance or security (e.g., caching, hiding IPs).
- Gateways encapsulate services or enforce security on the server side.
HTML Structure
- HTML uses tags to structure web content (headers, paragraphs, etc.).
- HTML is used to define document structure, embed multimedia, and provide links.
Web Content Layers
- HTML (content), CSS (style), and JavaScript (behavior) make up layers of web content formats.
GET vs. POST
- GET retrieves data; POST sends data to the server.
Loopback Address (127.0.0.1)
127.0.0.1
points to the local machine; used in testing web applications.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.