Networking Fundamentals: From Basics to Advanced Concepts
Chapter 2: Elements of Network Communication
- Elements of Communication
- Segmentation and Multiplexing
- Network Components: Devices (end and intermediary), facilities, and services
- LAN, WAN, and Internet
- Protocol Suite: Collection of protocols
- Models Based on Protocol Layers: Advantages
- Difference Between Model and Reference Model Protocol
- OSI Model and TCP/IP: Layers, encapsulation, differences
- PDU: Protocol Data Unit names for each layer
- Routing Mechanisms: How messages are routed in each layer
Chapter 3: Application
Read MoreGraph Algorithms: Depth-First Search, Bellman-Ford, and Euler
Depth-First Search (DFS)
Code:
def _dfs(G, node, verts):
# Add node to visitedverts.add(node)# For each neighborfor neigh in G[node]:# If neighbor not visitedif neigh not in verts:# Start exploration from neighborverts = _dfs(G, neigh, verts)return verts
Connected Components
Code:
def cnx(G):
components = []visited = set()# For every node (so we guarantee that every node is visited even if not connected)for node in G:if node in visited: continue # If already visited, next# Explore (e.g. with DFS) from
Telecom Signal Processing: PCM, Quantization, Multiplexing
Digitalization of Telephone Channels and Quantization Distortion
The telephone channel, a unidirectional path with a bandwidth of 3100 Hz (300 Hz to 3400 Hz), can be digitalized using Pulse Code Modulation (PCM). When combined with Time Division Multiplexing (TDM), it enhances the efficiency of transmission paths. PCM converts analog samples into digital forms, improving noise immunity during transmission. The analog signal undergoes three operations in an Analog-to-Digital (A/D) converter before
Read MoreWeb Search Engines: Key Concepts and Evaluation Metrics
What is Web Search?
Web search provides access to heterogeneous, distributed information that is publicly available on the World Wide Web.
- Key Elements: User, Web, Crawler/Spider, Indexer, Ads, Query Processor
The spider builds the corpus, collecting web pages recursively. The indexer creates inverted indexes, with various policies regarding which words are indexed, capitalization, and support for Unicode. The query processor serves query results. The front end handles query reformulation, word stemming,
Read MoreJava Hashtable Implementation: Methods and Usage
Java Hashtable Implementation Details
toString Method
The toString method returns a string representation of the hashtable’s contents:
public String toString() {
StringBuffer sb = new StringBuffer();
Entry1 tab[] = table;
for (int i = 0; i < tab.length; i++) {
for (Entry1 e = tab[i]; e != null; e = e.getNext()) {
sb.append(e + " ");
}
}
return sb.toString();
}
Mayor Method
The Mayor method finds the largest key (assuming keys are integers) in the hashtable:
Microcontroller Architecture and Communication Protocols
Microcontroller Architecture
MCU Components: CPU, RAM, Flash, Bus, Peripherals, Pin Mux, Interrupts, Clocks.
Peripheral Examples
Timers, GPIO, UART, I2C, SPI, ADC, DAC, DMA.
I/O Types and Mechanisms
- Programmed I/O:
- CPU polls the device continuously in a loop, checking for readiness.
- Wastes CPU cycles, useful for simple, non-time-critical applications.
- Interrupt-driven I/O:
- Device sends an interrupt signal to the CPU when it’s ready.
- CPU can perform other tasks while waiting.
- Direct Memory Access (DMA):
- DMA
