RYP / src /data /csFundamentalsData.ts
Soumya79's picture
Upload 1361 files
f91a684 verified
export interface CSFundamentalsTopic {
title: string;
explanation: string;
}
export interface CSFundamentalsModule {
id: string;
title: string;
summary: string;
topics: CSFundamentalsTopic[];
}
export interface CSFundamentalsTrack {
id: string;
title: string;
description: string;
overview: string;
level: string;
duration: string;
focusAreas: string[];
modules: CSFundamentalsModule[];
}
export const csFundamentalsTracks: CSFundamentalsTrack[] = [
{
id: "database",
title: "Learning Database",
description: "A structured DBMS roadmap that starts from fundamentals and grows into SQL, transactions, optimization, scaling, and security.",
overview:
"This path is designed to help you build a clear database foundation for interviews, system design preparation, and real-world backend work. It starts with what a DBMS is, then moves through data modeling, relational design, SQL, transaction handling, and production-level performance concerns.",
level: "Beginner to Intermediate",
duration: "8 modules",
focusAreas: [
"DBMS Basics",
"Data Modeling",
"RDBMS Design",
"SQL",
"Transactions",
"Optimization",
"Scalability",
"Security",
],
modules: [
{
id: "intro-dbms",
title: "1. Introduction to DBMS",
summary: "Understand why databases exist, what problems they solve, and how different DBMS families are organized.",
topics: [
{
title: "What is DBMS & its purpose",
explanation:
"A Database Management System is software that stores, organizes, retrieves, and secures data. Its purpose is to let multiple users and applications work with the same data reliably without manually managing files.",
},
{
title: "File System vs DBMS",
explanation:
"A file system stores raw files, but it does not naturally enforce relationships, constraints, or concurrent access rules. A DBMS adds structured querying, indexing, transactions, and centralized data management.",
},
{
title: "Advantages of DBMS",
explanation:
"A DBMS reduces redundancy, improves consistency, enables backup and recovery, supports multiple users safely, and separates application logic from low-level data storage details.",
},
{
title: "Types of DBMS (Hierarchical, Network, Relational, NoSQL)",
explanation:
"Hierarchical DBMS stores data in a tree, Network DBMS supports graph-like links, Relational DBMS organizes data into tables, and NoSQL systems handle flexible models such as documents, key-value pairs, wide columns, or graphs.",
},
{
title: "Database Architecture (1-tier, 2-tier, 3-tier)",
explanation:
"In 1-tier architecture, the user directly works with the database on the same system. In 2-tier, a client talks directly to a database server. In 3-tier, presentation, application logic, and database layers are separated for better scale and maintainability.",
},
],
},
{
id: "data-models",
title: "2. Data Models",
summary: "Learn the main ways databases represent information and how abstraction helps designers reason about systems.",
topics: [
{
title: "Entity-Relationship (ER) Model",
explanation:
"The ER model captures entities, their attributes, and relationships. It is usually the first step in turning a business problem into a database schema.",
},
{
title: "Relational Model",
explanation:
"The relational model represents data as tables made of rows and columns. Relationships are expressed through keys, which makes this model the foundation of SQL databases.",
},
{
title: "Object-Oriented Data Model",
explanation:
"This model stores data as objects with properties and behaviors, similar to object-oriented programming. It is useful when dealing with complex data structures and inheritance-heavy domains.",
},
{
title: "Data Model Constraints & Abstraction Levels (Physical, Logical, View)",
explanation:
"Constraints define valid data and keep the model consistent. Physical level focuses on how data is stored, logical level defines the schema and relationships, and view level shows only the parts different users need.",
},
],
},
{
id: "rdbms",
title: "3. RDBMS",
summary: "Build the relational foundation required for designing clean schemas and understanding how structured databases behave.",
topics: [
{
title: "Concepts of Tables, Rows, Columns",
explanation:
"Tables store a collection of related data, rows represent individual records, and columns describe the attributes of those records. This structure makes data predictable and queryable.",
},
{
title: "Keys (Primary Key, Foreign Key, Candidate Key, Super Key)",
explanation:
"Keys uniquely identify rows and connect tables. A primary key is the chosen unique identifier, a foreign key references another table, a candidate key can qualify as a primary key, and a super key is any set of attributes that uniquely identifies a row.",
},
{
title: "Constraints (NOT NULL, UNIQUE, CHECK, DEFAULT)",
explanation:
"Constraints enforce business rules at the database level. They prevent invalid data from entering the system and reduce dependence on application-side validation alone.",
},
{
title: "Normalization (1NF, 2NF, 3NF, BCNF)",
explanation:
"Normalization reduces redundancy and update anomalies. 1NF removes repeating groups, 2NF removes partial dependency, 3NF removes transitive dependency, and BCNF strengthens the rules around determinants.",
},
{
title: "Denormalization",
explanation:
"Denormalization intentionally introduces redundancy to speed up reads or simplify heavy query patterns. It is usually a performance tradeoff, not the default design choice.",
},
{
title: "Relationships (1-1, 1-M, M-M)",
explanation:
"One-to-one links a single record to another single record, one-to-many connects one parent to many children, and many-to-many usually requires a junction table to map both sides cleanly.",
},
],
},
{
id: "sql",
title: "4. SQL",
summary: "Cover the core SQL operations used to define schemas, change data, and retrieve information from relational databases.",
topics: [
{
title: "DDL (CREATE, ALTER, DROP)",
explanation:
"Data Definition Language is used to define and modify database objects such as tables, indexes, and schemas. These commands shape the structure of the database.",
},
{
title: "DML (INSERT, UPDATE, DELETE)",
explanation:
"Data Manipulation Language changes the data inside tables. These commands are used for adding new records, updating existing ones, and removing obsolete data.",
},
{
title: "DQL (SELECT, WHERE, GROUP BY, HAVING, ORDER BY, JOINS)",
explanation:
"Data Query Language retrieves information. Filtering, grouping, sorting, and joining tables let you answer business questions from structured data efficiently.",
},
],
},
{
id: "transactions-concurrency",
title: "5. Transactions & Concurrency Control",
summary: "Understand how databases preserve correctness when many operations happen at the same time.",
topics: [
{
title: "Transaction Properties (ACID)",
explanation:
"ACID stands for Atomicity, Consistency, Isolation, and Durability. Together these properties ensure a transaction is fully applied, leaves the database valid, does not interfere incorrectly with others, and survives failures once committed.",
},
{
title: "Concurrency Problems (Dirty Read, Lost Update, Phantom Read)",
explanation:
"Dirty reads use uncommitted data, lost updates happen when concurrent writes overwrite one another, and phantom reads occur when the same query returns different matching rows during a transaction.",
},
{
title: "Locking Mechanisms (Shared Lock, Exclusive Lock)",
explanation:
"Shared locks allow multiple readers at the same time, while exclusive locks block others so a writer can safely modify data. Locking is one of the main ways databases enforce isolation.",
},
{
title: "Deadlock & Recovery Techniques",
explanation:
"Deadlock happens when transactions wait on each other in a cycle. Databases handle it using detection, timeout, rollback, logs, checkpoints, and recovery procedures that restore a consistent state after failure.",
},
],
},
{
id: "query-optimization",
title: "6. Query Optimization",
summary: "Learn how a database decides to run a query and why physical access paths matter for speed.",
topics: [
{
title: "Query Processing & Execution Plan",
explanation:
"A database parses SQL, rewrites it, and chooses a plan for scanning, joining, sorting, and filtering data. The execution plan shows the path the engine will actually use.",
},
{
title: "Indexing (B-Tree, Hash Indexing)",
explanation:
"Indexes speed up lookups by avoiding full table scans. B-Tree indexes are flexible and work well for ranges and sorting, while hash indexes are optimized for exact-match access patterns.",
},
{
title: "Cost-Based Optimization",
explanation:
"A cost-based optimizer compares possible execution plans using estimated row counts, I/O, memory, and CPU cost, then picks the plan expected to be cheapest.",
},
],
},
{
id: "scalability-performance",
title: "7. Scalability & Performance Optimization",
summary: "Move from single-instance thinking to production strategies that help databases handle growth.",
topics: [
{
title: "Vertical vs Horizontal Scaling",
explanation:
"Vertical scaling upgrades a single machine with more CPU, memory, or storage. Horizontal scaling distributes load across multiple machines, which improves capacity but adds coordination complexity.",
},
{
title: "Caching, Partitioning, Sharding",
explanation:
"Caching reduces repeated reads, partitioning splits large tables into manageable pieces, and sharding distributes data across multiple database nodes so the system can serve larger workloads.",
},
],
},
{
id: "integrity-security",
title: "8. Data Integrity & Security",
summary: "Finish with the rules and protections that keep stored data correct, trustworthy, and safe to access.",
topics: [
{
title: "Integrity Constraints (Entity, Referential)",
explanation:
"Entity integrity ensures each row has a valid primary key, and referential integrity keeps foreign key references valid so relationships between tables do not break.",
},
{
title: "Database Security (Authentication, Authorization, Encryption)",
explanation:
"Authentication verifies identity, authorization controls what actions a user or service may perform, and encryption protects data both at rest and in transit.",
},
],
},
],
},
{
id: "os",
title: "OS",
description: "A structured operating systems track covering core concepts from boot flow and processes to memory, files, I/O, and disk scheduling.",
overview:
"This path builds a strong operating systems foundation for interviews and systems work. It explains how the OS manages hardware, processes, memory, files, and devices, then connects those ideas to practical scheduling and protection concepts.",
level: "Beginner to Intermediate",
duration: "6 modules",
focusAreas: [
"OS Basics",
"Processes",
"Memory",
"File Systems",
"I/O",
"Storage",
],
modules: [
{
id: "os-intro",
title: "1. Introduction to OS",
summary: "Start with what an operating system does, how it is structured, and how control moves from boot to user programs.",
topics: [
{
title: "What is an Operating System",
explanation:
"An operating system is system software that acts as an interface between users, applications, and hardware. It provides an environment where programs can run safely and efficiently.",
},
{
title: "Functions of OS",
explanation:
"The OS manages processes, memory, files, I/O devices, storage, security, and scheduling. It also provides abstractions so applications do not need to directly control hardware.",
},
{
title: "Types of OS (Batch, Time-Sharing, Distributed, Real-Time)",
explanation:
"Batch systems process jobs in groups, time-sharing systems support interactive multi-user access, distributed systems coordinate multiple machines, and real-time systems guarantee fast, predictable responses for time-critical tasks.",
},
{
title: "OS Architecture (Monolithic, Microkernel, Hybrid)",
explanation:
"Monolithic kernels keep most services inside the kernel for speed, microkernels move many services to user space for modularity, and hybrid kernels combine ideas from both approaches to balance performance and flexibility.",
},
{
title: "System Calls & APIs",
explanation:
"System calls are the controlled entry points through which a program requests OS services such as file access or process creation. APIs give developers higher-level libraries that often wrap those system calls.",
},
{
title: "Kernel vs User Mode",
explanation:
"User mode is restricted and used by normal applications, while kernel mode has full hardware access and executes sensitive OS code. This separation improves protection and stability.",
},
{
title: "Booting Process",
explanation:
"During boot, the firmware initializes hardware, loads a bootloader, and transfers control to the kernel. The kernel then initializes drivers, memory structures, and services before user processes start.",
},
],
},
{
id: "process-management",
title: "2. Process Management",
summary: "Learn how the OS creates, tracks, schedules, and coordinates executing programs.",
topics: [
{
title: "Process vs Program",
explanation:
"A program is a passive set of instructions stored on disk, while a process is a program in execution with its own state, memory, and resources.",
},
{
title: "Process States & Process Control Block (PCB)",
explanation:
"Processes move through states such as new, ready, running, waiting, and terminated. The PCB stores key process metadata like process ID, state, registers, priority, and scheduling information.",
},
{
title: "Process Scheduling (FCFS, SJF, Round Robin, Priority)",
explanation:
"Scheduling decides which process gets CPU time. FCFS runs in arrival order, SJF prefers short jobs, Round Robin shares CPU using time slices, and Priority scheduling favors processes with higher importance.",
},
{
title: "Inter-Process Communication (IPC)",
explanation:
"IPC allows processes to exchange data and coordinate execution. Common IPC mechanisms include pipes, message queues, shared memory, sockets, and signals.",
},
{
title: "Threads & Multithreading",
explanation:
"Threads are smaller execution units inside a process that share the same address space. Multithreading improves responsiveness and resource sharing but requires careful synchronization.",
},
],
},
{
id: "memory-management",
title: "3. Memory Management",
summary: "Understand how the OS organizes physical and virtual memory so programs can run efficiently and safely.",
topics: [
{
title: "Memory Hierarchy",
explanation:
"Memory is organized from fastest and smallest to slower and larger layers, such as registers, cache, RAM, and disk. The hierarchy balances speed, cost, and capacity.",
},
{
title: "Contiguous Memory Allocation",
explanation:
"In contiguous allocation, each process gets one continuous block of memory. This approach is simple but can lead to external fragmentation over time.",
},
{
title: "Paging",
explanation:
"Paging divides logical memory into pages and physical memory into frames, allowing non-contiguous placement. It simplifies allocation and helps support virtual memory.",
},
{
title: "Segmentation",
explanation:
"Segmentation divides a program into logical units such as code, stack, and data. It matches the programmer's view of memory but can suffer from external fragmentation.",
},
{
title: "Virtual Memory",
explanation:
"Virtual memory gives each process the illusion of a large continuous address space, even if physical RAM is limited. It allows inactive pages to stay on disk until needed.",
},
{
title: "Page Replacement Algorithms (FIFO, LRU, Optimal)",
explanation:
"When memory is full, the OS chooses a page to evict. FIFO removes the oldest page, LRU removes the least recently used page, and Optimal removes the page that will not be needed for the longest time.",
},
{
title: "Thrashing",
explanation:
"Thrashing happens when the system spends more time swapping pages in and out than doing useful work. It usually occurs when too many active pages compete for too little physical memory.",
},
{
title: "TLB (Translation Lookaside Buffer)",
explanation:
"The TLB is a fast cache that stores recent virtual-to-physical address translations. It reduces the overhead of page table lookups and improves memory access speed.",
},
],
},
{
id: "file-systems",
title: "4. File Systems",
summary: "Cover how operating systems organize files, directories, and the on-disk structures used to store them.",
topics: [
{
title: "File Concepts & Attributes",
explanation:
"A file is a named collection of related data stored on secondary storage. File attributes commonly include name, type, size, permissions, timestamps, and ownership.",
},
{
title: "File Allocation Methods (Contiguous, Linked, Indexed)",
explanation:
"Contiguous allocation stores file blocks together, linked allocation chains blocks through pointers, and indexed allocation uses a separate index block to track a file's data blocks.",
},
{
title: "Directory Structures",
explanation:
"Directories organize files into manageable groups. Common structures include single-level, two-level, tree-based, and graph-based directory systems.",
},
{
title: "File System Implementation",
explanation:
"Implementation covers how metadata, directories, allocation tables, free-space management, and buffers are handled internally so files can be created, read, updated, and deleted efficiently.",
},
],
},
{
id: "io-systems",
title: "5. I/O Systems",
summary: "Study how the OS communicates with devices and handles external input and output efficiently.",
topics: [
{
title: "I/O Hardware Basics",
explanation:
"I/O hardware includes controllers, buses, ports, and devices such as disks, keyboards, and network cards. The OS coordinates access to this hardware through standard interfaces.",
},
{
title: "Interrupts & Polling",
explanation:
"With polling, the CPU repeatedly checks device status. With interrupts, the device signals the CPU only when service is needed, which usually improves efficiency.",
},
{
title: "Device Drivers",
explanation:
"Device drivers are software modules that let the OS communicate with specific hardware devices. They translate generic OS requests into device-specific operations.",
},
],
},
{
id: "storage-management",
title: "6. Storage Management & Data Protection",
summary: "Finish with the scheduling and reliability mechanisms used to manage disks and protect stored data.",
topics: [
{
title: "Disk Scheduling (FCFS, SSTF, SCAN, C-SCAN) + RAID basics",
explanation:
"Disk scheduling decides the order of I/O requests to reduce seek time. FCFS follows arrival order, SSTF serves the nearest request, SCAN moves like an elevator across tracks, and C-SCAN services requests in one direction for more uniform wait times. RAID combines multiple disks to improve performance, redundancy, or both.",
},
],
},
],
},
{
id: "computer-network",
title: "Computer Network",
description: "A complete networking track covering layered models, protocols, addressing, security, and troubleshooting fundamentals.",
overview:
"This path builds a strong computer networks foundation for interviews and real-world systems work. It starts with core networking concepts, then moves layer by layer through OSI and TCP/IP, and finishes with security and practical troubleshooting.",
level: "Beginner to Intermediate",
duration: "12 modules",
focusAreas: [
"Network Basics",
"OSI Model",
"TCP/IP",
"Addressing",
"Transport",
"Security",
],
modules: [
{
id: "cn-intro",
title: "1. Introduction to CN",
summary: "Start with the purpose of networks, common layouts, devices, and the metrics used to judge performance.",
topics: [
{
title: "What is Computer Network",
explanation:
"A computer network is a set of interconnected devices that communicate and share data, resources, and services. Networks make it possible for systems to exchange information locally or across the world.",
},
{
title: "Types of Networks (LAN, MAN, WAN)",
explanation:
"A LAN covers a small area like a home, lab, or office. A MAN connects networks across a city or campus-sized region. A WAN spans large geographic areas and links networks across countries or continents.",
},
{
title: "Network Topologies (Bus, Star, Ring, Mesh)",
explanation:
"Topology describes how devices are arranged. Bus connects nodes on a shared backbone, star connects them through a central point, ring forms a circular chain, and mesh creates multiple direct links for higher resilience.",
},
{
title: "Network Devices (Router, Switch, Hub, Bridge)",
explanation:
"Routers forward packets between networks, switches connect devices efficiently within a LAN, hubs broadcast data to every port, and bridges join similar network segments while filtering traffic.",
},
{
title: "Performance Metrics (Bandwidth, Latency, Throughput)",
explanation:
"Bandwidth is the maximum data-carrying capacity of a link, latency is the time taken for data to travel, and throughput is the actual rate of successful data transfer achieved in practice.",
},
],
},
{
id: "osi-model",
title: "2. OSI Model",
summary: "Understand the seven-layer conceptual model used to describe how network communication is organized.",
topics: [
{
title: "7 Layers Overview",
explanation:
"The OSI model has seven layers: Physical, Data Link, Network, Transport, Session, Presentation, and Application. Each layer handles a specific part of end-to-end communication.",
},
{
title: "Functions of Each Layer",
explanation:
"The Physical layer sends raw bits, Data Link handles framing and local delivery, Network handles addressing and routing, Transport provides end-to-end delivery, Session manages communication sessions, Presentation formats data, and Application offers network services to users and programs.",
},
],
},
{
id: "tcp-ip-model",
title: "3. TCP/IP Model",
summary: "Learn the practical Internet model and the protocol family that powers modern communication.",
topics: [
{
title: "TCP/IP Layers Overview",
explanation:
"The TCP/IP model is commonly described using four layers: Link, Internet, Transport, and Application. It is more implementation-focused than OSI and maps closely to the real Internet stack.",
},
{
title: "Comparison: OSI vs TCP/IP",
explanation:
"OSI is a reference model with seven clearly separated layers, while TCP/IP is a practical protocol suite with fewer layers. OSI is useful for understanding concepts, while TCP/IP reflects how real networks are commonly built.",
},
{
title: "Protocol Suite (IP, TCP, UDP, HTTP, FTP)",
explanation:
"IP handles logical addressing and packet delivery, TCP provides reliable transport, UDP offers lightweight connectionless delivery, HTTP supports web communication, and FTP is used for file transfer.",
},
],
},
{
id: "physical-layer",
title: "4. Physical Layer",
summary: "Focus on how raw bits move across physical media and how signals are represented.",
topics: [
{
title: "Transmission Media (Guided & Unguided)",
explanation:
"Guided media includes wired channels such as twisted pair, coaxial cable, and fiber optic cable. Unguided media includes wireless transmission through radio waves, microwaves, and infrared.",
},
{
title: "Signal Types (Analog vs Digital)",
explanation:
"Analog signals vary continuously over time, while digital signals use discrete values, usually binary 0s and 1s. Modern computer communication mainly uses digital signaling.",
},
{
title: "Data Encoding Techniques",
explanation:
"Encoding converts data into a signal format suitable for transmission. Common techniques help with synchronization, efficient bit representation, and reliable communication over physical media.",
},
],
},
{
id: "data-link-layer",
title: "5. Data Link Layer",
summary: "Study how frames are formed, local delivery is controlled, and LAN communication is managed.",
topics: [
{
title: "Framing",
explanation:
"Framing groups raw bits into structured units called frames so the receiver can identify boundaries, headers, payload, and error-checking information.",
},
{
title: "Error Detection & Correction (CRC, Parity)",
explanation:
"Parity and CRC help detect corruption during transmission. Some methods only detect errors, while more advanced schemes can also help correct them.",
},
{
title: "Flow Control (Stop & Wait, Sliding Window)",
explanation:
"Flow control prevents a fast sender from overwhelming a slow receiver. Stop-and-Wait sends one frame at a time, while Sliding Window allows multiple frames in transit for better efficiency.",
},
{
title: "MAC Protocols (ALOHA, CSMA/CD)",
explanation:
"Medium Access Control protocols decide how multiple devices share a common channel. ALOHA uses simple random access, while CSMA/CD checks the medium before sending and handles collisions in shared Ethernet environments.",
},
{
title: "Ethernet",
explanation:
"Ethernet is one of the most widely used LAN technologies. It defines how devices format frames and communicate over wired local networks.",
},
{
title: "Switching Techniques",
explanation:
"Switching techniques determine how data is moved through a network. Common approaches include circuit switching, message switching, and packet switching, with packet switching dominating modern networks.",
},
{
title: "ARP (Address Resolution Protocol)",
explanation:
"ARP maps an IPv4 address to a device's MAC address on a local network. It helps systems find the correct destination hardware address before sending a frame.",
},
{
title: "VLAN Basics",
explanation:
"A VLAN logically separates devices into different broadcast domains even when they share the same physical switch infrastructure. This improves security, organization, and traffic control.",
},
],
},
{
id: "network-layer",
title: "6. Network Layer",
summary: "Cover logical addressing, routing, forwarding, and the mechanisms used to move packets across networks.",
topics: [
{
title: "Logical Addressing (IP Addressing - IPv4, IPv6)",
explanation:
"Logical addressing gives devices unique network identities. IPv4 uses 32-bit addresses, while IPv6 uses 128-bit addresses to support a much larger address space and improved design features.",
},
{
title: "Subnetting & CIDR",
explanation:
"Subnetting divides a network into smaller logical parts to improve organization and address use. CIDR uses variable-length prefixes to allocate address ranges more flexibly and efficiently.",
},
{
title: "Routing Basics",
explanation:
"Routing is the process of selecting a path for packets to travel from source to destination across interconnected networks.",
},
{
title: "Routing Algorithms (Distance Vector, Link State)",
explanation:
"Distance Vector algorithms share route cost information with neighbors, while Link State algorithms build a fuller network map and compute best paths using broader topology knowledge.",
},
{
title: "Routing Protocols (RIP, OSPF, BGP)",
explanation:
"RIP is a simple distance vector protocol, OSPF is a link state protocol used within organizations, and BGP is the protocol that exchanges routing information between large networks on the Internet.",
},
{
title: "ICMP",
explanation:
"ICMP is used for network diagnostics and control messages. Tools like ping rely on ICMP to test reachability and response behavior.",
},
{
title: "NAT (Network Address Translation)",
explanation:
"NAT translates private internal addresses into public addresses so many devices can share fewer public IPs and communicate with external networks.",
},
{
title: "Packet Forwarding",
explanation:
"Packet forwarding is the router's local decision process of sending an incoming packet to the correct outgoing interface based on its forwarding table.",
},
{
title: "Fragmentation",
explanation:
"Fragmentation breaks a large packet into smaller pieces when it must cross a network with a smaller maximum transmission unit. The destination or an intermediate system then handles reassembly depending on the protocol context.",
},
],
},
{
id: "transport-layer",
title: "7. Transport Layer",
summary: "Learn how end-to-end communication reliability, ports, and connection control work above the network layer.",
topics: [
{
title: "TCP vs UDP",
explanation:
"TCP is connection-oriented and reliable, while UDP is connectionless and lightweight. TCP is used when correctness matters more, while UDP is used when speed and low overhead are priorities.",
},
{
title: "TCP Features (Reliable, Connection-Oriented)",
explanation:
"TCP establishes a connection, numbers segments, acknowledges delivery, and retransmits lost data. These features make it suitable for dependable communication.",
},
{
title: "Flow Control & Congestion Control",
explanation:
"Flow control prevents the sender from overwhelming the receiver, while congestion control prevents too much traffic from overloading the network itself.",
},
{
title: "Three-Way Handshake",
explanation:
"TCP uses a three-way handshake to establish a connection: the client sends SYN, the server replies with SYN-ACK, and the client responds with ACK.",
},
{
title: "Error Control & Retransmission",
explanation:
"Transport protocols detect lost or corrupted data using acknowledgments, timers, and checksums. Missing data can then be retransmitted to maintain reliability.",
},
{
title: "Ports & Socket Programming Basics",
explanation:
"Ports identify specific services on a host, while sockets combine an IP address and port to form a communication endpoint used by network programs.",
},
],
},
{
id: "session-layer",
title: "8. Session Layer",
summary: "Understand how ongoing communication sessions are created and managed between systems.",
topics: [
{
title: "Session Management (Establish, Maintain, Terminate)",
explanation:
"Session management coordinates the setup, maintenance, synchronization, and orderly termination of communication between two systems.",
},
],
},
{
id: "presentation-layer",
title: "9. Presentation Layer",
summary: "Focus on data formatting and transformation so communicating systems understand the same content.",
topics: [
{
title: "Data Representation, Encryption, Compression",
explanation:
"The Presentation layer handles translation of data formats, encryption for confidentiality, and compression for efficient transmission.",
},
],
},
{
id: "application-layer",
title: "10. Application Layer",
summary: "Cover the common protocols that applications use directly for web, naming, email, management, and configuration.",
topics: [
{
title: "HTTP & HTTPS",
explanation:
"HTTP is used for web communication, while HTTPS adds TLS-based security to protect confidentiality and integrity during data exchange.",
},
{
title: "FTP (File Transfer Protocol)",
explanation:
"FTP is an application-layer protocol used to transfer files between systems over a network.",
},
{
title: "DNS (Domain Name System)",
explanation:
"DNS translates human-readable domain names into IP addresses so users and applications can locate services on the network.",
},
{
title: "SMTP (Email Protocol)",
explanation:
"SMTP is used to send email between clients and mail servers or between mail servers themselves.",
},
{
title: "DHCP",
explanation:
"DHCP automatically assigns IP addresses and other network settings such as subnet mask, gateway, and DNS servers to devices joining a network.",
},
{
title: "SNMP Basics",
explanation:
"SNMP is used for monitoring and managing network devices such as routers, switches, and servers from centralized management systems.",
},
],
},
{
id: "network-security",
title: "11. Network Security",
summary: "Study the major security concepts, controls, and attack types involved in protecting network communication.",
topics: [
{
title: "Cryptography Basics (Symmetric vs Asymmetric)",
explanation:
"Symmetric cryptography uses one shared key for encryption and decryption, while asymmetric cryptography uses a public-private key pair for secure exchange and identity verification.",
},
{
title: "SSL/TLS",
explanation:
"SSL/TLS secures communication channels by encrypting data in transit and verifying identities through certificates and cryptographic handshakes.",
},
{
title: "Firewalls",
explanation:
"Firewalls filter incoming and outgoing traffic based on defined rules. They help block unauthorized access and enforce security boundaries.",
},
{
title: "VPN (Virtual Private Network)",
explanation:
"A VPN creates a secure encrypted tunnel over an untrusted network so remote users or sites can communicate privately.",
},
{
title: "IDS/IPS",
explanation:
"Intrusion Detection Systems monitor traffic for suspicious activity, while Intrusion Prevention Systems can also actively block or stop detected threats.",
},
{
title: "Common Attacks (DoS, Phishing, MITM)",
explanation:
"DoS attacks try to exhaust resources, phishing tricks users into revealing information, and man-in-the-middle attacks intercept or alter communication between two parties.",
},
{
title: "Authentication & Authorization",
explanation:
"Authentication verifies identity, while authorization determines what an authenticated user or system is allowed to do.",
},
{
title: "Hashing & Digital Signatures",
explanation:
"Hashing produces a fixed-size digest for integrity checking, while digital signatures use cryptography to verify authenticity and prove that data was not altered.",
},
],
},
{
id: "network-troubleshooting",
title: "12. Network Troubleshooting",
summary: "Finish with practical ways to identify, test, and isolate network problems methodically.",
topics: [
{
title: "Common Network Issues & Diagnostics (Ping, Traceroute)",
explanation:
"Common issues include packet loss, misconfiguration, DNS failures, and unreachable hosts. Tools like ping and traceroute help test connectivity, latency, and path behavior.",
},
{
title: "Troubleshooting Methodologies",
explanation:
"A good troubleshooting approach defines the problem, gathers facts, isolates likely causes layer by layer, tests hypotheses, applies a fix, and then verifies the result.",
},
],
},
],
},
];