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

Sort by
Subject
Level

Neural Networks and Machine Learning Fundamentals

Classified in Computers

Written on in English with a size of 3.27 KB

What is a Neural Network?

A Neural Network is a component of Artificial Intelligence (AI) that mimics how the human brain works. It is used to process information, recognize patterns, and make decisions, similar to human cognition.

Core Structure and Function

  • Neural networks are computer systems modeled on the structure of the human brain. They consist of layers of nodes (neurons).

Layers of a Neural Network

  • Input Layer: Takes the input data.
  • Hidden Layers: Process the data using mathematical operations.
  • Output Layer: Gives the final result.

How Neural Networks Learn

Neural networks learn by identifying patterns in data through training.

How a Neural Network Works (Step-by-Step)

  1. Input: Data is given to the network through the input layer.
  2. Processing: Hidden
... Continue reading "Neural Networks and Machine Learning Fundamentals" »

C++ Priority Queue Implementation: Code & Explanation

Classified in Computers

Written on in English with a size of 3.58 KB

C++ Priority Queue Implementation

This document provides a C++ implementation of a priority queue using a heap data structure. The code includes the class definition, member functions, and supporting utilities.

Priority Queue Class Definition


#ifndef priority_queue_h_
#define priority_queue_h_

#include <iostream>
#include <vector>
#include <cassert>

template <class T>
class priority_queue {
private:
    std::vector<T> m_heap;

public:
    priority_queue() {}

    priority_queue(std::vector<T> const& values)
    {
        m_heap = values;
        for (int i = 0; i < m_heap.size(); i++){
            percolate_down(i);
            for (int j = i; j < m_heap.size(); j++){
                percolate_down(
... Continue reading "C++ Priority Queue Implementation: Code & Explanation" »

Web Mining: Usage, Content, and Structure Analysis

Classified in Computers

Written on in English with a size of 4.1 KB

Web Usage Mining

Web Usage Mining refers to the process of extracting useful insights and patterns from user activity on the web. It involves analyzing web log data (such as user clicks, page visits, and interactions) to understand user behavior, improve website performance, and enhance user experience. Web usage mining typically includes three key steps:

  • Data Collection: Gathering data from web logs, cookies, browser history, and other online interactions.
  • Preprocessing: Cleaning and structuring the data to eliminate irrelevant information and make it suitable for analysis.
  • Pattern Discovery and Analysis: Applying data mining techniques (e.g., clustering, association rule mining, and classification) to discover trends, user navigation paths, and
... Continue reading "Web Mining: Usage, Content, and Structure Analysis" »

SQL Database Design Examples for Common Systems

Posted by Anonymous and classified in Computers

Written on in English with a size of 3.62 KB

This document provides practical SQL Data Definition Language (DDL) examples for creating and modifying database schemas across various common applications. Each section details the necessary tables and their relationships, offering a clear foundation for building robust relational databases.

Library Management System Database

The following SQL DDL statements define the core tables for a library management system, enabling the tracking of books, members, and loan transactions.

Table Creation

CREATE TABLE Books (
    BookID INT PRIMARY KEY,
    Title VARCHAR(100) NOT NULL,
    Author VARCHAR(100) NOT NULL,
    ISBN VARCHAR(20) UNIQUE,
    PublishedYear INT CHECK (PublishedYear >= 1500 AND PublishedYear <= 2025)
);

CREATE TABLE Members (
... Continue reading "SQL Database Design Examples for Common Systems" »

Operating System Concepts: Loaders, Memory, Processes, Synchronization

Posted by Anonymous and classified in Computers

Written on in English with a size of 26.57 KB

Compile and Go Loaders

In this type of loader, the linker and loader instructions are read line by line, their machine code is obtained, and it is directly placed in the main memory at some known address. This means the assembler runs in one part of memory, and the assembled machine instructions and data are directly put into their assigned memory locations. After completion of the assembly process, the loader contains the instruction using which the location counter is set to the start of the newly assembled program. A typical example is WATFOR-77, a FORTRAN compiler which uses such a "load-and-go" scheme. This loading scheme is also called "assemble-and-go".

Advantages

  • Simplicity
  • Quick Testing
  • No Separate Linking
  • Immediate Feedback
  • Low Resource
... Continue reading "Operating System Concepts: Loaders, Memory, Processes, Synchronization" »

Python Exception Handling and File Modes Explained

Classified in Computers

Written on in English with a size of 2.6 KB

What is an Exception?

Answer: An exception in Python is an error that occurs during program execution, disrupting the normal flow of instructions. Instead of crashing, the program can "catch" the exception and handle it gracefully using try and except blocks. Common exceptions include ZeroDivisionError, IndexError, and FileNotFoundError. You can also define custom exceptions. The finally block can be used for cleanup actions, ensuring certain code runs regardless of whether an exception was raised.

Different Modes of Opening a File

Answer: Different Modes of Opening a File

1. Read Mode ('r')

  • Purpose: Opens a file for reading.
  • Behavior:
    • The file pointer is placed at the beginning of the file.
    • If the file does not exist, a FileNotFoundError is raised.
... Continue reading "Python Exception Handling and File Modes Explained" »

Software Engineering Fundamentals: Principles and Requirements Analysis

Classified in Computers

Written on in English with a size of 2.91 KB

Definition of Software Engineering

Software engineering is the establishment and use of sound engineering principles in order to obtain software economically that is reliable and works efficiently on real machines.

Need for Software Requirements Specification (SRS)

The Software Requirements Specification (SRS) is necessary because it provides:

  • A detailed overview of the software product, including its parameters and goals.
  • A description of the project's target audience, user interface, and hardware and software requirements.
  • A common understanding of how the client, development team, and audience perceive the product and its functionality.

Four Core Principles of Software Engineering

1. The Reason It All Exists (Value to Users)

  • A software system exists
... Continue reading "Software Engineering Fundamentals: Principles and Requirements Analysis" »

Discrete Mathematics Foundations: Sets, Logic, Graphs, and Proofs

Posted by Anonymous and classified in Computers

Written on in English with a size of 880.48 KB

Speaking Mathematically: Core Concepts

The Language of Sets

  • ∀ - Universal quantifier (true for all values of a variable in a set)
  • ∃ - Existential quantifier (true for at least one value of a variable in a set)

Common Set Notations:

  • R - Set of all real numbers
  • Z - Set of all integers
  • Q - Set of all rational numbers
  • N - Set of all positive integers
  • (X)+- - Positive/negative elements for a specific set X

xS means that x is an element of the set S.

  • Example: x=5, S={1, 2, 3, 4, 5}

AB means that A is a subset of the set B.

  • Example: A={a,b}, B={a,b,c}
  • Example: {2} ∈ {1, 2, 3} is false; {2} ∈ {{1}, {2}} is true; 2 ⊆ {1, 2, 3} is false; {2} ⊆ {1, 2, 3} is true
  • Note: {9, 9, 1, 1, 7, 7} has only 3 distinct elements ({1, 7, 9}); {1, {2}} has 2 elements;
... Continue reading "Discrete Mathematics Foundations: Sets, Logic, Graphs, and Proofs" »

Core Digital Electronics: Flip-Flops, Logic Gates, Memory & ADCs

Posted by Anonymous and classified in Computers

Written on in English with a size of 514.7 KB

Master-Slave Flip-Flop Operation

The working of a Master-Slave flip-flop involves two cascaded flip-flops: a master and a slave. The master is positive level-triggered, and the slave is negative level-triggered, ensuring the master responds before the slave.

When the clock pulse (CP) goes high (1), the slave is isolated, allowing the J and K inputs to affect the master's state. The slave flip-flop remains isolated until the CP goes low (0). When the CP transitions back to low, information is passed from the master flip-flop to the slave, and the output is obtained.

Let's examine the behavior based on J and K inputs:

  • J=0, K=1: The high Q' output of the master goes to the K input of the slave. The negative transition of the clock forces the slave
... Continue reading "Core Digital Electronics: Flip-Flops, Logic Gates, Memory & ADCs" »

C Programming Examples: Code Snippets and Explanations

Classified in Computers

Written on in English with a size of 3.41 KB

C Programming Examples

Here are several C programming examples:

Vector Operations

#include <stdio.h>

void leVetor (int v [] , int tam );
int prodEscalar (int v1 [] , int v2 [] , int tam );

int main (void) {
    int v1 [ DIM ], int v2 [ DIM ];
    int i;
    int prod ;

    leVetor (v1 , DIM );
    leVetor (v2 , DIM );
    prod = prodEscalar (v1 , v2 , DIM );
    printf ("%d\n", prod );
    return 0;
}

void leVetor (int v [] , int tam ) {
    /* Completar */
}

int prodEscalar (int v1 [] , int v2 [] , int tam ) {
    /* Completar */
}

Random Number Generation

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

#define VEZES 10

int main (void) {
    int i , j , k;
    double r;

    srand ( time ( NULL )); /* inicializa
... Continue reading "C Programming Examples: Code Snippets and Explanations" »