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

Sort by
Subject
Level

Understanding Maps and Double Linked Lists in Java

Classified in Computers

Written on in English with a size of 8.4 KB

Map & Diccionarios

Import Statements

import java.security.InvalidParameterException;
import java.util.*;

RedCarreteras Class

public class RedCarreteras { 
    private Map<String, Map<String, Integer>> red;

    //CONSTRUCTORES
    public RedCarreteras() {
        red = new HashMap<>();// Nuevo dicc a 0
    }

    //METODOS
    private void validarTramo(String una, String otra, int distancia) {
        if (una == null || otra == null || una.equals(otra) || distancia < 1)
            throw new InvalidParameterException();
    }

    public Set<String> ciudades() {
        return red.keySet();
    }

    public int nuevoTramo(String una, String otra, int distancia) {
        validarTramo(una, otra, distancia);
... Continue reading "Understanding Maps and Double Linked Lists in Java" »

Essential Tech Terms: A Comprehensive Glossary

Classified in Computers

Written on in English with a size of 4.83 KB

RAM (Random Access Memory)

Random Access Memory is one of two basic types of memory. Portions of programs are stored in RAM when the program is launched so that the program will run faster. Though a PC has a fixed amount of RAM, only portions of it will be accessed by the computer at any given time. Also called memory.

Scrolling

Scrolling allows lines displayed on the screen to be moved up or down by one line as a new line is added and an existing one is removed.

Shooter

A shooter is a game whose main focus is combat involving guns or other projectile weapons such as missiles.

Shopping Cart

A shopping cart is software that keeps track of what you buy on a site.

Software Engineer

A software engineer is a person that writes computer programs.

Speech Recognition

Speech

... Continue reading "Essential Tech Terms: A Comprehensive Glossary" »

CPU Scheduling: Understanding Processes and Threads

Posted by miko_rodri and classified in Computers

Written on in English with a size of 5.07 KB

1. Processes

A process is a program in execution. It is a unit of work within the system. A program is a passive entity, while a process is an active one. A process needs resources to accomplish its task (CPU, memory, I/O, files). Process termination requires the reclamation of any reusable resources. A single-threaded process has one program counter, specifying the location of the next instruction to execute. The process executes instructions sequentially, one at a time, until completion. A multithreaded process has one program counter per thread. Concurrency is achieved by multiplexing the CPUs among the processes or threads.

2. Process States

As a process executes, it changes its state:

  • New: The process is being created.
  • Running: Instructions
... Continue reading "CPU Scheduling: Understanding Processes and Threads" »

Malicious Software: Types, Threats, and Advanced Viruses

Classified in Computers

Written on in English with a size of 3.31 KB

Logic Bombs and Resource Exhaustion Attacks

Logic Bombs

A logic bomb is a program that performs an action violating the site security policy when a specific external event occurs. These are typically associated with insider threats.

Example: A program that deletes a company’s payroll records when one particular record is deleted.

  • The "particular record" is usually that of the person who created the logic bomb.
  • The idea is that if (or when) the creator is fired and their payroll record is deleted, the company loses all those records.

Rabbits and Bacteria (Resource Exhaustion)

Rabbits or Bacteria refer to programs designed to absorb all of a specific class of system resources, leading to denial of service or system instability.

Example: For a UNIX... Continue reading "Malicious Software: Types, Threats, and Advanced Viruses" »

Web Development Fundamentals

Classified in Computers

Written on in English with a size of 117.12 KB

Pseudo Classes

Pseudo classes are selectors that can be used to style elements based on their state or position in the document. For example, the :hover pseudo class can be used to style an element when the user hovers over it with the mouse.

:nth-of-type(an+b || even || a || an)

The :nth-of-type pseudo class is used to select elements based on their position in a group of siblings. It takes an argument that specifies which elements to select. The argument can be one of the following:

  • an+b: Selects every nth element, starting with the bth element. For example, 2n would select every other element, and 2n+1 would select every odd element.
  • even: Selects every even-numbered element.
  • odd: Selects every odd-numbered element.
  • a: Selects every element.

For... Continue reading "Web Development Fundamentals" »

Public vs. Private Blockchains: Understanding the Key Differences

Classified in Computers

Written on in English with a size of 2.03 KB

1. What is a Public Blockchain?

Public blockchains are open networks that allow anyone to participate. This permissionless nature means anyone can join the network and read, write, or participate in the blockchain.

Public blockchains are decentralized, meaning no single entity controls the network. Data on a public blockchain is secure because it is virtually impossible to modify or alter data once validated on the blockchain.

Features of Public Blockchains:

  • High Security: Secured by mining and the 51% rule.
  • Open Environment: Open for anyone to join.
  • Anonymous Nature: Participants can remain anonymous, enhancing privacy.
  • No Regulations: No strict regulations on platform usage.
  • Full Transparency: The ledger is publicly viewable, ensuring transparency.
... Continue reading "Public vs. Private Blockchains: Understanding the Key Differences" »

Key Features of Modern Personal Computers

Classified in Computers

Written on in English with a size of 1.87 KB

1. Speed

Computers process data at an extremely fast rate. In a few seconds, they can perform tasks that would take a human days or even years to complete. Computer speed is measured in MHz (Megahertz) or GHz (Gigahertz).

  • Microcomputers: Execute millions of instructions per second consistently without error.
  • Supercomputers: Operate at speeds measured in nanoseconds and picoseconds, performing tasks one thousand to one million times faster than microcomputers.

2. Accuracy

Computers are highly accurate, though performance depends on the instructions provided. Because computers only execute what they are programmed to do, faulty instructions lead to faulty results—a concept known as GIGO (Garbage In, Garbage Out).

While errors can occur, advanced... Continue reading "Key Features of Modern Personal Computers" »

Software Engineering Core Concepts: SDLC, Architecture, VCS

Classified in Computers

Written on in English with a size of 5.66 KB

Software Engineering Fundamentals and Principles

Desired Software Attributes

  • Maintainability
  • Dependability
  • Efficiency
  • Usability

Major Challenges in Large Programming

  • Complexity
  • Change

The 5 C's (Collaboration Framework)

Key elements often cited in successful team environments:

  • Collaboration
  • Communication
  • Coordination
  • [Note: The original source implies additional C's beyond the listed three.]

Core Activities of Software Engineering (SE)

  • Defining
  • Managing
  • Describing
  • Designing
  • Implementing
  • Testing
  • Deploying
  • Maintaining

The 4 P's of Software Engineering

  • People
  • Process
  • Project
  • Product

Software Development Lifecycle Phases (SDLC)

  1. Requirements Planning
  2. High-Level Design (Architecture Design)
  3. Low-Level Design
  4. Development (Implementation)
    • Note: Unit testing is typically performed during
... Continue reading "Software Engineering Core Concepts: SDLC, Architecture, VCS" »

Mobile Technology Integration in Modern Classrooms

Classified in Computers

Written on in English with a size of 3.06 KB

Benefits of Mobile Technology in Education

Statistics concluded that 20% of laptops will be mobile in the next 10 years. 40% of children aged 6-8 years old have used a smart device. Smart devices allow access to large amounts of information and feature quick boot times, wireless capabilities, portability, and long battery life.

Desktop vs Mobile Devices: A Comparison

Although mobile is continuously increasing its capabilities, it still has limits when using intense resource applications (e.g., AutoCAD).

Mobile Devices

  • Instant on
  • Portable
  • Longer battery life
  • Built-in cameras, video cameras, and microphones
  • Touch-enabled, engaging content
  • Wireless capabilities

Desktop and Laptop Computers

  • More storage and more processing power
  • Larger screen and full keyboard
  • Easier
... Continue reading "Mobile Technology Integration in Modern Classrooms" »

Operating Systems: Processes, Threads, and System Calls

Classified in Computers

Written on in English with a size of 31.86 KB

Chapter 1: System Fundamentals

w8sCxppQRjzZQAAAABJRU5ErkJggg==

Inter-process Communication (IPC):

  • Network: Communication between processes over a network.
  • Pipe (Special File): Process A writes into a pipe, and Process B reads from it.

Privileged vs. User Mode

The OS runs in privileged mode (also called supervisor or system mode), where specific operations—such as accessing a disk or network card—are permitted. User programs run in user mode and cannot perform these operations directly. When a program requires an OS service, such as accessing a file or creating a process, it is accomplished by a system call.

CPU Instruction Cycle

The CPU executes programs through a continuous loop:

  1. Fetch Instruction
  2. Decode and Execute
  3. Read/Write Data
  4. Loop until powered off

OS Invocation Methods

  • System
... Continue reading "Operating Systems: Processes, Threads, and System Calls" »