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

Sort by
Subject
Level

Core Concepts in Computer Architecture and Assembly

Posted by Anonymous and classified in Computers

Written on in English with a size of 3.56 KB

CPU Fundamentals and Timing

Clock Cycles and Frequency

A clock that oscillates 1 million times per second (1 MHz) produces a clock cycle of 1 microsecond (1 μs), which equals 10-6 seconds per cycle.

Instruction Execution Pipeline

The steps for executing a machine instruction are:

  1. Fetch the instruction.
  2. Decode the instruction.
  3. Fetch the operand (if any).
  4. Execute the instruction.
  5. Store the result or output.

Cache Memory Operations

Cache memory is a small, fast memory used to temporarily store frequently accessed data or instructions to speed up CPU operations.

  • A cache hit occurs when the CPU finds the required data in cache memory.
  • A cache miss occurs when the data is not found and must be fetched from main memory.

Assembly Language Basics

General-Purpose

... Continue reading "Core Concepts in Computer Architecture and Assembly" »

Essential Data Structure Operations and Java Implementations

Classified in Computers

Written on in English with a size of 3.95 KB

Inserting the First Element into a Tree Structure

Method to add the first element (root) to a Tree Structure:

public void insertFirstNode(Object item)
{
    // If the tree is empty, the new node becomes the root of the tree
    if (theRoot == null)
    {
        Node theNewNode = new Node(item);
        theRoot = theNewNode;
    }
}

Deleting an Element from a Linked List

Method to remove an element at a specific index in a Linked List:

public void remove(int index) {
    // Special case: removing at the head of the list
    if (index == 1) {
        head = head.getNext();
    } else {
        // Find the previous and current node
        setCurrent(index);
        prev.setNext(curr.getNext());
    }
    size = size - 1;
}

Steps for Inserting an Element

... Continue reading "Essential Data Structure Operations and Java Implementations" »

Cybersecurity Threat Landscape: Actors, Vectors, and Defenses

Posted by Anonymous and classified in Computers

Written on in English with a size of 9.76 KB

🔎 Threat Actors & Their Attack Paths

Who is attacking?

Threat Actors are the people or groups launching attacks. Mnemonic: “NO HIS” (Nation-State, Organized Crime, Hacktivists, Insiders, Script Kiddies).

Actor TypeMotivationTactics
Nation-State (APT Groups)Espionage, warfareAdvanced, persistent attacks
Organized CrimeFinancial gainRansomware, phishing
HacktivistsSocial justice, ideologyWebsite defacement, data leaks
InsidersRevenge, profitData theft, sabotage
Script KiddiesFun, fameLow-skill attacks using existing tools

How do threats reach systems?

Threat Vectors are the attack paths used by threat actors. Mnemonic: “MFWDVN” (Messages, Files, Websites, Devices, Vendors, Networks).

Attack PathExampleHow It Works
Message-BasedPhishing, smishingTrick
... Continue reading "Cybersecurity Threat Landscape: Actors, Vectors, and Defenses" »

C++ Concepts: Exception Handling to Friend Functions

Classified in Computers

Written on in English with a size of 3.16 KB

Exception Handling

#include <iostream>
#include <stdexcept>
using namespace std;
int main() {
    try {
        int numerator = 10;
        int denominator = 0;
        int res;
        if (denominator == 0) {
            throw runtime_error("Division by zero not allowed!");
        }
        res = numerator / denominator;
        cout << "Result after division: " << res << endl;
    }
    catch (const exception& e) {
        cout << "Exception " << e.what() << endl;
    }
    return 0;
}

Operator Overloading

#include <iostream>
using namespace std;
class Test {
private:
    int num;
public:
    Test(): num(8){}
    void operator ++() {
        num = num + 2;
    }
    void Print() {
... Continue reading "C++ Concepts: Exception Handling to Friend Functions" »

CUDA Matrix Multiplication: Shared Memory

Classified in Computers

Written on in English with a size of 3.23 KB

CUDA Matrix Multiplication Using Shared Memory

This code demonstrates matrix multiplication in CUDA, leveraging shared memory for optimization. It includes two examples: a kernel using shared memory and a host-side implementation using the Thrust library.

CUDA Kernel with Shared Memory

The following CUDA kernel performs matrix multiplication using shared memory to optimize data access:


__global__ void matMulShared(int *A, int *B, int *C, int rowsA, int colsA, int colsB) {
    __shared__ int tile_A[TILE_SIZE][TILE_SIZE], tile_B[TILE_SIZE][TILE_SIZE];
    int row = blockIdx.y * TILE_SIZE + threadIdx.y, col = blockIdx.x * TILE_SIZE + threadIdx.x, temp = 0;
    for (int i = 0; i < (colsA + TILE_SIZE - 1) / TILE_SIZE; ++i) {
        if (row <
... Continue reading "CUDA Matrix Multiplication: Shared Memory" »

Nmap, Netcat, and Metasploit Commands Cheat Sheet

Classified in Computers

Written on in English with a size of 7.67 KB

Nmap Options

-PE: Quickly check if host is up.

-sn: Disable port scanning (host discovery).

-n: Disables DNS resolution (checks IP online without looking up hostnames).

-O: OS detection.

-A: OS detection, Version detection, Script scanning, traceroute.

-sV: Service detection (banner info, version).

-vV: Provides verbose output.

-sC: Scan with default scripts for additional info gathering.

--min-rate=5000: Ensures scan sends at least 5k packets per second.

nmap --script smb-enum-shares.nse -p 445 (ip): List shares and their properties.


To see scripts starting with X: ls /path/X

To execute script with script tracing: sudo nmap -script=smb-os-discovery -script-trace target_ip

To enumerate the SMB share files: sudo nmap -script=smb-enum-shares target_ip

Vulnerability... Continue reading "Nmap, Netcat, and Metasploit Commands Cheat Sheet" »

Assembly Instruction Set Categories and Functions

Posted by Anonymous and classified in Computers

Written on in English with a size of 5.73 KB

🧾 Data Transfer Instructions

These instructions are used to move data between registers, memory, and I/O ports.

InstructionUse
MOVTransfer data between registers or memory locations
PUSH / POPPerform stack operations (store/retrieve data)
XCHGExchange contents of two operands
IN / OUTInput from or output to a port
LEALoad Effective Address
LDS / LESLoad Pointer and Segment Register
XLATTranslate byte using a lookup table

➕ Arithmetic Instructions

These instructions perform basic mathematical operations.

InstructionUse
ADD / SUBAddition / Subtraction
ADC / SBBAdd/Subtract with Carry/Borrow
INC / DECIncrement / Decrement a value
MUL / IMULUnsigned / Signed Multiplication
DIV / IDIVUnsigned / Signed Division
NEGTwo's Complement (Negation)
CMPCompare operands
... Continue reading "Assembly Instruction Set Categories and Functions" »

C Implementation of Queues, Linked Lists, and Search Algorithms

Classified in Computers

Written on in English with a size of 17.79 KB

Circular Queue Implementation Using Linked Lists

This C program demonstrates the implementation of a circular queue using a linked list structure. The queue handles integer data.

Data Structure Definition

#include <stdio.h>
#include <stdlib.h>

typedef struct QueueType {
    int Data;
    struct QueueType *Next;
} QUEUE;

QUEUE *Front = NULL; // Pointer to the front of the queue
QUEUE *Rear = NULL;  // Pointer to the rear of the queue

// Function prototypes
void Enqueue(int Num);
int Dequeue();
void DisplayQueue();
int Menu();

Enqueue Operation

The Enqueue function inserts a number into the circular queue. It handles memory allocation and maintains the circular link by ensuring Rear->Next always points to Front.

void Enqueue(int Num)
... Continue reading "C Implementation of Queues, Linked Lists, and Search Algorithms" »

Java Code Examples: User Name Generation and Repair Scheduling

Classified in Computers

Written on in English with a size of 6.34 KB

This document presents Java code snippets demonstrating two distinct functionalities: user name generation and management, and a car repair scheduling system. Each section includes method implementations with explanations of their purpose and logic.

User Name Management System

The UserName class is designed to generate and manage potential user names based on a user's first and last names. It also provides functionality to filter out names that are already in use.

UserName Class Constructor

This constructor initializes a UserName object, populating a list of possible user names. It assumes that firstName and lastName are valid strings containing only letters and have a length greater than zero.

import java.util.ArrayList;

public class UserName {

... Continue reading "Java Code Examples: User Name Generation and Repair Scheduling" »

Blue Prism RPA Roles, Governance, and ROM Foundations Q&A

Classified in Computers

Written on in English with a size of 16.07 KB

RPA Governance and Demand Pipeline Management

Demand Pipeline Prioritization Steps

Which of the following does not describe the “Prioritization” step as part of managing the demand pipeline?

R: Helping a friend

Head of Robotic Automation Role and Responsibility

Which of the following statements are true when describing the role and responsibility of the Head of Robotic Automation?

R: All of the above

RPA Governance Board Objectives

Select from the below which statement best describes the Demand Generation objective within the RPA Governance Board?

R: Identify quality RPA automation opportunities

Select from the below which statement best describes the Demand Management objective within the RPA Governance Board?

R: Responsible for defining and prioritizing

... Continue reading "Blue Prism RPA Roles, Governance, and ROM Foundations Q&A" »