Buckets:
mxz/PresentBench-bucket / education /CSAPP-Lectures_2015Fall /Lecture20 /generation_task /judge_prompt.json
| { | |
| "material_dependent_checklist_1": [ | |
| "\n**Title & Agenda**\n\n**Completeness of the Title and Identification**\n* Does the presentation clearly identify the course context (e.g., \"15-213/18-213: Introduction to Computer Systems\") and the specific topic \"Network Programming\"?\n* Is the \"Client-Server Programming Model\" identified as the central theme of the chapter?\n Note: Check only for presence. If missing, specify which identifiers are absent.\n", | |
| "\n**Coverage of Key Technical Domains**\n* Does the material explicitly outline the following four foundational domains?\n * The Client-Server Model\n * The Hardware (LANs, WANs, Internets)\n * The Global IP Internet (Protocols, Addressing, Naming)\n * The Sockets Interface (System calls for networking)\n Note: Check for presence. If no, indicate which domain is omitted.\n", | |
| "\n**The Client-Server Programming Model**\n\n**Process-Centric Definition**\n* Does the content define clients and servers explicitly as *processes* rather than machines or hosts?\n* Is the fundamental operation defined as a \"transaction\" consisting of four specific steps (Request -> Interpret/Manipulate -> Response -> Process Response)?\n If no, specify if the model falsely implies a hardware-only relationship.\n", | |
| "\n**Resource Management**\n* Is the server defined as a process that manages a specific resource (e.g., files, display, spool files)?\n If no, specify if the role of the server is undefined.\n", | |
| "\n**Network Hardware Hierarchy**\n\n**LAN and Ethernet Structure**\n* Is the hierarchy of network hardware explained, starting from the lowest level (LAN/Ethernet)?\n* Does it distinguish between the function of a **Hub** (slavishly copies bits to all ports) and a **Bridge** (selectively copies frames based on destination)?\n If no, specify if the mechanism of local data transfer is missing.\n", | |
| "\n**WANs and Routers**\n* Is the connection between incompatible LANs via **Routers** and WANs explained?\n* Is the concept of an \"internet\" (lowercase) defined generally as an interconnected network of LANs and WANs?\n", | |
| "\n**The Global IP Internet (Protocol & Encapsulation)**\n\n**Protocol Software Capabilities**\n* Does the content explain the two basic capabilities provided by protocol software: **Naming Scheme** (Uniform addresses) and **Delivery Mechanism** (Packets)?\n* Is the concept of **Encapsulation** visually or textually described (e.g., putting an Internet packet inside a LAN frame header)?\n If no, specify if the method of transferring data across incompatible networks is omitted.\n", | |
| "\n**IP Standards**\n* Is the focus explicitly on IPv4 (32-bit addresses) while acknowledging IPv6 (128-bit) exists but has low adoption (at the time of writing)?\n* Is the distinction made between IP (unreliable datagrams), UDP (unreliable process-to-process), and TCP (reliable connections)?\n", | |
| "\n**IP Addresses and Domain Names**\n\n**Address Representation**\n* Are the three forms of IP address representation covered: Binary (32-bit integer), Dotted-Decimal, and Hexadecimal?\n* Is the **DNS (Domain Name System)** described as a distributed database mapping domain names to IP addresses?\n If no, specify if the mechanism for human-readable naming is missing.\n", | |
| "\n**Mapping Complexities**\n* Does the material cover the different mapping types: One-to-One, Many-to-One (multiple domains to one IP), and One-to-Many (load balancing)?\n", | |
| "\n**Internet Connections**\n\n**Connection Properties**\n* Are connections defined by three key properties: Point-to-point, Full-duplex, and Reliable?\n* Is a **Socket** defined as an endpoint of a connection, represented by a `address:port` tuple?\n If no, specify if the basic unit of connection is undefined.\n", | |
| "\n**Port Distinction**\n* Does the content distinguish between **Ephemeral Ports** (assigned automatically to clients) and **Well-known Ports** (permanently associated with services, e.g., port 80)?\n" | |
| ], | |
| "material_dependent_checklist_2": [ | |
| "\n**Hardware & Data Representation Accuracy**\n\n* **Byte Order Rules:** Is **Network Byte Order** explicitly defined as **Big-Endian**, regardless of the host's native byte order?\n * *Detail Check:* Verify if functions like `htonl` (host-to-network long) and `ntohs` (network-to-host short) are introduced for conversion.\n", | |
| "\n* **Struct Definitions:** Is the distinction between the generic `struct sockaddr` and the IPv4-specific `struct sockaddr_in` correctly explained?\n * *Detail Check:* Ensure the necessity of casting `sockaddr_in` pointers to `sockaddr` pointers for system calls (like `bind` and `connect`) is mentioned.\n", | |
| "\n**Protocol & Routing Mechanics**\n\n* **Routing Logic:** Is the router's role correctly described as stripping the old LAN header and prepending a new LAN header before forwarding?\n * *Detail Check:* Ensure the content does not falsely claim the *packet header* changes; only the *frame header* changes during hops.\n", | |
| "\n* **Encapsulation Flow:** Does the diagram or explanation accurately show the nesting: Data → Internet Packet (Header + Data) → LAN Frame (Header + Packet)?\n\n", | |
| "\n**The Sockets Interface Logic**\n\n* **Function Sequence:** Is the sequence of function calls for the client and server accurate according to Figure 11.12?\n * *Detail Check:* Server sequence: `socket` → `bind` → `listen` → `accept`.\n * *Detail Check:* Client sequence: `socket` → `connect`.\n", | |
| "\n* **Listening vs. Connected Descriptors:** Is the critical distinction made between the **Listening Descriptor** (exists for server lifetime) and the **Connected Descriptor** (exists only for a specific connection)?\n * *Detail Check:* Does the content explain *why* this distinction exists (to allow concurrent servers to handle multiple clients)?\n", | |
| "\n**Helper Functions & Modern Practices**\n\n* **Protocol Independence:** Does the content promote the use of `getaddrinfo` and `getnameinfo` over the obsolete `gethostbyname` and `getservbyport`?\n * *Detail Check:* Check if the `addrinfo` structure implies protocol independence (working for both IPv4 and IPv6) without code changes.\n", | |
| "\n* **Wrapper Functions:** Are the helper functions `open_clientfd` and `open_listenfd` described as thread-safe (reentrant) wrappers?\n * *Detail Check:* Verify if `open_listenfd` includes the `setsockopt` call with `SO_REUSEADDR` to allow immediate server restart.\n", | |
| "\n**Echo Server Implementation Details**\n\n* **Iterative Limitation:** Is the example Echo Server explicitly identified as an **Iterative Server**?\n * *Detail Check:* Does the content explain the limitation that it can only handle one client at a time, blocking others until the current client closes the connection?\n", | |
| "\n* **EOF Handling:** Is the concept of **EOF (End of File)** in networking correctly defined?\n * *Detail Check:* Ensure it is described as a condition detected by the kernel (returning 0 from `read`) when the peer closes the connection, not as a specific character.\n" | |
| ] | |
| } | |
Xet Storage Details
- Size:
- 7.13 kB
- Xet hash:
- 14e7c1087b67693d3e0d832c4be314f41046667d94caaf1d09dda1b876fc071f
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.