Notes, summaries, assignments, exams, and problems for Computers

Sort by
Subject
Level

Transport Layer Functions and TCP Flow Control Explained

Posted by Anonymous and classified in Computers

Written on in English with a size of 2.5 KB

The Transport Layer: OSI Model Layer 4

The Transport Layer is the 4th layer of the OSI model, providing process-to-process communication between applications running on different hosts. It ensures reliable, error-free, and ordered delivery of data.

Main Services of the Transport Layer

  • Process-to-Process Delivery: Uses port numbers to deliver data from a specific process on the sender to a specific process on the receiver.
  • Segmentation and Reassembly: Divides large messages into smaller segments for transmission and reassembles them at the destination.
  • Connection Control: Supports connection-oriented communication (TCP) and connectionless communication (UDP).
  • Flow Control: Prevents the sender from overwhelming the receiver with too much data by using
... Continue reading "Transport Layer Functions and TCP Flow Control Explained" »

Network Congestion Control and Traffic Shaping

Posted by Anonymous and classified in Computers

Written on in English with a size of 6 KB

Network Layer Design Issues

The network layer involves several critical design considerations, including store-and-forward switching, transport-layer services, the distinction between Virtual Circuits (VC) and Datagrams, and congestion management.

Understanding Network Congestion

Congestion occurs when too much traffic enters the network, leading to overloaded routers and a sharp drop in overall performance.

Congestion Control vs Flow Control

  • Congestion Control: A global issue involving all routers and hosts to manage total network load.
  • Flow Control: A point-to-point mechanism ensuring a sender does not overwhelm a specific receiver.

General Principles of Congestion Management

  1. Monitor the system to detect where and when congestion occurs.
  2. Distribute
... Continue reading "Network Congestion Control and Traffic Shaping" »

Java Network Programming: Server Implementation Patterns

Posted by Anonymous and classified in Computers

Written on in English with a size of 2.1 KB

Thread Pool Server Implementation

ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(10);
try (ServerSocket serverSocket = new ServerSocket(4444)) {
    while (true) {
        System.out.println("\n Listening for a client connection");
        Socket socketForClient = serverSocket.accept();
        System.out.println("\n New connection accepted: " + socketForClient.getRemoteSocketAddress());
        WorkerThread task = new WorkerThread(socketForClient);
        System.out.println("Task created: " + task);
        executor.submit(task);
    }
}

public WorkerThread(Socket socketForClient) {
    this.socketForClient = socketForClient;
}

Network Programming MCQ Answers

  • Q4: The interest set defines what operations the
... Continue reading "Java Network Programming: Server Implementation Patterns" »

Linux Shell Programming with Bash and the vi Editor

Posted by Anonymous and classified in Computers

Written on in English with a size of 6.71 KB

🐚 Introduction to Shell Programming in Linux

Shell programming is the process of writing shell scripts—sequences of commands executed by the command-line interpreter (the shell, typically Bash) to automate tasks. It leverages command-line utilities, variables, and control flow structures to create powerful programs.

✍️ The vi Editor

The vi (or vim) editor is a text-based, modal editor crucial for writing shell scripts and editing configuration files in Linux. It operates in distinct modes:

ModeFunctionKey Commands
Command ModeThe default mode used for navigation, deletion, copying, and pasting.h, j, k, l for cursor movement; dd to delete a line.
Insert ModeUsed for typing and editing text.i (insert before cursor), a (append after cursor)
... Continue reading "Linux Shell Programming with Bash and the vi Editor" »

Mastering Relational Algebra for Database Queries

Classified in Computers

Written on in English with a size of 4.53 KB

Relational Algebra Fundamentals

  • Relational Algebra is a mathematical query language used in databases.
  • The result of any operation is always another relation (table).

Relational Algebra Operations Explained

Unary Relational Operations

SELECT (σ) – Filters Rows

  • Retrieves specific rows from a table based on a condition.
  • Syntax: σ (condition) (Relation)
  • Example: σ (Dept_ID = 4) (EMPLOYEE)

PROJECT (π) – Filters Columns

  • Retrieves specific columns from a table.
  • Syntax: π (column1, column2) (Relation)
  • Example: π (Name, Salary) (EMPLOYEE)

RENAME (ρ) – Changes Table or Column Name

  • Syntax: ρ (NewTable (NewColumn1, NewColumn2), OldTable)
  • Example: ρ (Staff (Emp_ID, FullName), EMPLOYEE)

Set Theory Operations

UNION (∪) – Combines Two Tables

  • Combines tuples
... Continue reading "Mastering Relational Algebra for Database Queries" »

C Programming: Tokens, Operators, and Logic

Classified in Computers

Written on in English with a size of 2.55 KB

Tokens

In programming, a token is the smallest meaningful element in code. They are the building blocks of a language's syntax. Common token types include:

  • Keywords: Reserved words like if, else, while, and int (for declaring integers).
  • Identifiers: Names given to elements like variables (e.g., sum), functions, and arrays.
  • Constants: Unchanging values during program execution (e.g., 3.14 for pi).
  • Operators: Symbols for mathematical or logical operations (e.g., + for addition).
  • Separators: Punctuation like commas (,), semicolons (;), and braces ({}).

Example: int sum = 10 + 5;

In this line, int is a keyword, sum is an identifier, = is an operator, 10 and 5 are constants, and ; is a separator.

Arithmetic Operators

C has nine arithmetic operators for basic... Continue reading "C Programming: Tokens, Operators, and Logic" »

Python Fundamentals: Variables, Data Types, and Control Flow

Posted by Anonymous and classified in Computers

Written on in English with a size of 14.36 KB

Keywords and identifiers are fundamental elements in programming languages used to define variables, functions, and other constructs, with keywords being reserved words that have special meanings, and identifiers being names given to user-defined entities.

Comments in programming serve the essential purpose of making the source code more understandable and maintainable by providing textual annotations that explain the logic, purpose, or any additional information about the code. They help programmers and collaborators to read, debug, and update the code efficiently without affecting its execution.

There are two main types of comments:
- Single-line comments start with specific symbols like // in languages such as C, Java, and JavaScript, and they... Continue reading "Python Fundamentals: Variables, Data Types, and Control Flow" »

C Programming: Numerical Algorithms and Control Flow

Posted by Anonymous and classified in Computers

Written on in English with a size of 18.07 KB

Unit 3: Core C Programming Concepts

Extracting Digits of a Number

Extracting digits of a number is a fundamental programming task used in various computational problems, such as reversing a number, checking for palindromes, or performing digit-based calculations. There are two main approaches: right-to-left extraction and left-to-right extraction.

Right-to-Left Extraction

In right-to-left extraction, the modulus operator (%) is used to obtain the last digit of the number, while integer division (/) removes the last digit after processing. For example, for the number 1234:

  • 1234 % 10 gives 4.
  • 1234 / 10 gives 123.

This process is repeated until the number becomes zero, allowing each digit to be handled individually.

Left-to-Right Extraction

Left-to-right... Continue reading "C Programming: Numerical Algorithms and Control Flow" »

Understanding Email Systems and Cybersecurity Threats

Posted by Anonymous and classified in Computers

Written on in English with a size of 10.97 KB

Electronic Mail (Email) Fundamentals

Email is a method of exchanging digital messages from an author to one or more recipients. 📧

Introduction to Email

Email works similarly to physical mail, but electronically. It uses the internet to deliver messages almost instantaneously to an address on a global network. Key protocols like Simple Mail Transfer Protocol (SMTP) handle sending mail, while Post Office Protocol (POP3) or Internet Message Access Protocol (IMAP) handle receiving it.

Advantages of Email

  • Speed: Messages are delivered almost instantly, even across vast distances.
  • Cost-Effective: It's virtually free compared to traditional postal services or long-distance calls.
  • Accessibility: You can send and receive emails from almost any internet-
... Continue reading "Understanding Email Systems and Cybersecurity Threats" »

Core Concepts in AI, Machine Learning, and Industrial Automation Systems

Posted by Anonymous and classified in Computers

Written on in English with a size of 422.57 KB

Linear Regression Fundamentals

In regression, a set of records containing X and Y values is used to learn a function. This learned function can then be used to predict Y from an unknown X. In regression, we aim to find the value of Y, so a function is required which predicts Y given X. Y is continuous in the case of regression.

Here, Y is called the criterion variable and X is called the predictor variable. There are many types of functions or models which can be used for regression. The linear function is the simplest type of function. Here, X may be a single feature or multiple features representing the problem.

P37C38P9ECJqqvMXffAAAAAElFTkSuQmCC

Applications of Linear Regression in AI

  • Predictive Analysis: Forecasting sales, stock prices, or house prices based on historical data.
... Continue reading "Core Concepts in AI, Machine Learning, and Industrial Automation Systems" »