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

Network Topologies, Protocols, and Architectures

Computers2.42 KB

Network Topologies

Ring Topology

Connects hosts in a physical ring. The last host connects to the first.

Star Topology

Connects all cables to a central point.

Extended Star Topology

Connects individual stars using hubs or switches, extending network coverage.

Hierarchical Topology

Similar to extended star, but uses a computer to control traffic instead of hubs/switches.

Mesh Topology

Provides maximum protection by connecting each host to others, ensuring service continuity.

Network Communication Methods

Broadcast

Each host sends data to all others on the network. Access is first-come, first-served (e.g., Ethernet).

Transmission Tokens

Controls access via sequential token transmission. Hosts send data when they have the token (e.g., Token Ring, FDDI).

Network

...
Continue reading "Network Topologies, Protocols, and Architectures" »

Computer Character Encoding Standards: ASCII and EBCDIC

Computers4.06 KB

Computer Character Encoding Standards

ASCII Code: American Standard Code for Information Interchange

The ASCII Code is the most popular coding method used by computers to convert characters (letters, numbers, punctuation, etc.) to digital form. The standard ASCII has 128 positions, represented by 7 binary digits. There is also an extended version with 256 characters.

EBCDIC Code: Extended Binary Coded Decimal Interchange Code

The EBCDIC Code is used by IBM for its business systems, including the IBM PC series. Each character is represented by 8 bits, allowing for the representation of $2^8 = 256$ characters.

The Standard IEEE 754

The IEEE 754 Standard is a computer program specification that dictates how arithmetic instructions for floating-point...

Continue reading "Computer Character Encoding Standards: ASCII and EBCDIC" »

TCP/IP Model and Comparison with OSI Model

Computers2.68 KB

Components

DNS Client, DNS Servers, Zones of Authority

Transport Layer Model: TCP/IP

TCP

The Transmission Control Protocol (TCP) ensures reliable communication between the sender and receiver of a message.

UDP

The User Datagram Protocol (UDP) offers a lower guarantee of packet delivery compared to TCP because it doesn't use acknowledgments.

Implementation Level of the TCP/IP Model

The application layer is the level where common programs communicate over a network.

ICMP

The Internet Control Message Protocol (ICMP) is a sub-protocol for diagnostics and error reporting within the Internet Protocol (IP).

FTP

The File Transfer Protocol (FTP) is part of the TCP/IP suite and provides file transfer services.

HTTP

The HyperText Transfer Protocol (HTTP) is the foundation...

Continue reading "TCP/IP Model and Comparison with OSI Model" »

Mastering MySQL User Management and Privilege Control

Computers2.75 KB

Users and Privileges

The root user is the administrator and possesses all privileges in MySQL. It is not recommended to grant all users full server access; maintaining data and structural integrity requires restricting specific tasks to authorized users only.

Users and privileges are intimately related. You can create users without immediately assigning privileges. MySQL allows you to define distinct users and assign specific permissions at various levels.

Privilege Levels

  • Global: Applies to all databases on a server. This is the highest and most general level of privilege.
  • Database: Applies to individual databases and, by extension, all contents within them.
  • Table: Applies to individual tables and all columns within those tables.
  • Column: Applies
...
Continue reading "Mastering MySQL User Management and Privilege Control" »

Java Programming Fundamentals: Key Concepts and Best Practices

Computers3.03 KB

Java Programming Fundamentals

Variables and Data Types

  • Which of the following options is not a variable? Literal
  • A block of related data elements is called a table.
  • According to convention, the dollar sign character is never used to start a variable name.
  • An object is a software bundle related to its state.
  • Using 16-bit Unicode.
  • You can use the short data type to save memory in large tables.
  • You do not need to assign a value when a field is declared.
  • Each item in a table is called an element.
  • Parameters are always variables.
  • The length of a table is set when the table is created.

Operators and Expressions

  • The operator with the highest priority is evaluated before operators with lower priority.
  • Operators on the same line have equal priority.
  • If the name of
...
Continue reading "Java Programming Fundamentals: Key Concepts and Best Practices" »

Understanding Assembly Language: Instructions and Assemblers

Computers2.8 KB

Understanding Assembly Language

Assembly language is a low-level programming language where instructions are written using mnemonic codes rather than binary machine language. An assembler translates these instructions into executable machine code.

Classification of Assembly Instructions

Assembly language instructions are categorized into three primary types:

  • Imperative Statements (IS): Specify operations for the processor to perform. These generate executable machine code. Examples include: STOP, ADD, SUB, MULT, MOVER, MOVEM, COMP, BC, DIV, READ, and PRINT.
  • Declarative Statements (DL): Used for memory allocation and data definition. DS (Define Storage) reserves memory locations, while DC (Define Constant) stores a constant value in memory.
  • Assembler
...
Continue reading "Understanding Assembly Language: Instructions and Assemblers" »

Computer Graphics: Clipping, 3D Modeling, and Projections

Computers396.44 KB

Cohen-Sutherland Line Clipping Algorithm

As covered briefly in our previous discussion, the Cohen-Sutherland algorithm is a highly efficient line-clipping method that uses a 4-bit binary region code (Outcode) to categorize where the endpoints of a line lie relative to a rectangular window.

The 9-Region Outcode Breakdown

The clipping window boundaries (xmin, xmax, ymin, ymax) divide the 2D world space into 9 distinct regions. Each region is assigned a 4-bit code [Bit 1, Bit 2, Bit 3, Bit 4] defined by coordinate comparisons:

  • Bit 1 (Top): Set to 1 if y > ymax
  • Bit 2 (Bottom): Set to 1 if y < ymin
  • Bit 3 (Right): Set to 1 if x > xmax
  • Bit 4 (Left): Set to 1 if x < xmin

Mathematical Intersection Formulas

When a line cannot be trivially accepted...

Continue reading "Computer Graphics: Clipping, 3D Modeling, and Projections" »

Mastering Topic Modeling, Anomaly Detection, and PageRank

Computers12.48 KB

Topic Modeling: LSI vs LDA

Latent Semantic Indexing (LSI)

Use LSI for semantic similarity, retrieval, short/sparse documents, and synonymy problems. It uses Singular Value Decomposition (SVD) to find latent concept axes from term-document co-occurrence. Concepts are mathematical directions, not clean probability-based topics. It is better when the goal is to “find similar documents.”

Latent Dirichlet Allocation (LDA)

Use LDA for discovering hidden themes and topic percentages. In this model, each document is a mixture of topics, and each topic is a distribution over words. It is better when the goal is to determine “what themes exist in this corpus?”

Key Distinction

  • LSI finds latent concept dimensions.
  • LDA explicitly models probabilistic topics.
...
Continue reading "Mastering Topic Modeling, Anomaly Detection, and PageRank" »

Software Engineering Principles and UML Modeling

Computers5.55 KB

What is Software Engineering?

Software Engineering is the application of engineering principles, methods, and tools to the design, development, testing, deployment, operation, and maintenance of software systems in a systematic, disciplined, and measurable way.

Software Process Flows

A software process defines the approach used to develop a system. Common process flows include:

  • Linear/Sequential: Activities are performed one after another in a fixed order. Each phase must be completed before the next begins.
  • Iterative: The development process is repeated in cycles. Each iteration improves the software based on feedback.
  • Evolutionary: The system is developed in versions or increments, where each version adds new features and improves the previous
...
Continue reading "Software Engineering Principles and UML Modeling" »

Python Data Structures for Customer Analytics

Computers2.84 KB

Experiment 5: Customer Analytics Database

This Python experiment demonstrates the practical application of core data structures: Tuples, Lists, Sets, and Dictionaries to build a basic Customer Analytics System.

# Experiment Code:
# Tuple: Fixed dataset structure (immutable)
dataset_schema = ("CustomerID", "Name", "PurchaseAmount", "Segment")
# List: Stores purchase amounts (mutable, ordered)
purchase_amounts = []
# Set: Stores unique customer IDs
unique_customers = set()
# Dictionary: Stores complete customer records
customer_records = {}

while True:
    print("\n--- Menu Customer Analytics ---")
    print("1. Add Customer Data")
    print("2. View Purchase Amounts (List)")
    print("3. View Dataset Schema (Tuple)")
    print("4. View Unique
...
Continue reading "Python Data Structures for Customer Analytics" »