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

Sort by
Subject
Level

How to Install NLTK and Perform Stemming in Python

Posted by Anonymous and classified in Computers

Written on in English with a size of 2.17 KB

Install NLTK and Perform Stemming

Aim

Install the NLTK toolkit and perform word stemming.

Description

To install NLTK, use pip, Python’s package manager. Run the following command in your terminal:

pip install nltk

Once installed, you can perform stemming using various algorithms available in NLTK. The Porter stemming algorithm is one of the most popular choices.

Stemming is the process of reducing words to their root or base form. NLTK provides several algorithms, including:

  • Porter
  • Lancaster
  • Snowball

In this program, we use the Porter stemming algorithm to process sample text.

Implementation

import nltk
from nltk.stem import PorterStemmer

# Download NLTK resources if not already downloaded
nltk.download('punkt')

def perform_stemming(text):
    """
... Continue reading "How to Install NLTK and Perform Stemming in Python" »

Essential Java Programming Concepts and Design Patterns

Posted by Anonymous and classified in Computers

Written on in English with a size of 237.87 KB

Java File Copy Program

This simple Java program demonstrates how to read data from one file and write it to another.

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class FileCopy {
    public static void main(String[] args) {
        String sourceFile = "input.txt";
        String destinationFile = "output.txt";
        try {
            FileReader fr = new FileReader(sourceFile);
            FileWriter fw = new FileWriter(destinationFile);
            int character;
            while ((character = fr.read()) != -1) {
                fw.write(character);
            }
            fr.close();
            fw.close();
            System.out.println("File copied successfully.");
        } catch (IOException
... Continue reading "Essential Java Programming Concepts and Design Patterns" »

Essential C++ Programming Examples and Code Snippets

Posted by Anonymous and classified in Computers

Written on in English with a size of 3.19 KB

Palindrome and Digit Sum Calculation

#include <iostream>
using namespace std;
int main() {
    int n, r, rev = 0, sum = 0, t;
    cin >> n; t = n;
    while (n) {
        r = n % 10;
        rev = rev * 10 + r;
        sum += r;
        n /= 10;
    }
    cout << (t == rev ? "Palindrome" : "Not");
    cout << "\nSum=" << sum;
}

Matrix Addition in C++

#include <iostream>
using namespace std;
int main() {
    int a[10][10], b[10][10], c[10][10], r, col;
    cin >> r >> col;
    for (int i = 0; i < r; i++)
        for (int j = 0; j < col; j++) cin >> a[i][j];
    for (int i = 0; i < r; i++)
        for (int j = 0; j < col; j++) cin >> b[i][j];
    for (int i = 0; i < r; i+
... Continue reading "Essential C++ Programming Examples and Code Snippets" »

Essential C Programming Examples and Algorithms

Posted by Anonymous and classified in Computers

Written on in English with a size of 72.94 KB

wfSCE5je3rPDgAAAABJRU5ErkJggg==

Leap Year

#include <stdio.h>
int main() {
    int y;
    scanf("%d", &y);
    if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)
        printf("Leap Year");
    else
        printf("Not Leap Year");
    return 0;
}

Simple Calculator Using Switch

#include <stdio.h>
int main() {
    char op;
    float a, b;
    scanf(" %c %f %f", &op, &a, &b);
    switch (op) {
        case '+': printf("%.2f", a + b); break;
        case '-': printf("%.2f", a - b); break;
        case '*': printf("%.2f", a * b); break;
        case '/':
            if (b != 0)
                printf("%.2f", a / b);
            else
                printf("Error");
            break;
        default: printf("Invalid Operator");
    }
    return
... Continue reading "Essential C Programming Examples and Algorithms" »

Android Development Concepts: UI Components and Architecture

Posted by Anonymous and classified in Computers

Written on in English with a size of 11.09 KB

1. ListView vs RecyclerView Comparison

ListView

ListView is an older Android UI component used to display a scrollable list of items vertically. Each item is displayed one below another.

  • Uses Adapter to bind data.
  • Uses convertView for view reuse.
  • Only supports vertical scrolling.
  • Less efficient for large datasets.
  • No built-in animations.
  • ViewHolder pattern is optional.
  • Simple to use.
  • Suitable for small lists.

Example:

ListView listView = findViewById(R.id.listview); 
// ArrayAdapter<String> adapter = 
// new ArrayAdapter<>(this, 
// android.R.layout.simple_list_item_1, data); 
///listView.setAdapter(adapter);

RecyclerView

RecyclerView is an advanced and flexible version of ListView, introduced in Android.

  • Uses ViewHolder pattern by default.
  • Highly
... Continue reading "Android Development Concepts: UI Components and Architecture" »

Essential C Programming Syntax and Memory Management

Posted by Anonymous and classified in Computers

Written on in English with a size of 62.93 KB

Operators

  • Arithmetic: +, -, *, /, %
  • Relation: ==, !=, >, <, >=, <=
  • Logic: &&, ||, !
  • Assignment: =, +=, -=, *=, /=, ?=
  • Increment: ++, --
  • Order of operations: (), *, /, %, +, -, <>, ==, !=

ASCII Conversions

  • Lowercase to uppercase: 'x' - 32
  • Uppercase to lowercase: 'x' + 32

Data Types

Data TypesExampleSizeFormat
intint age = 19;4 bytes%d
floatfloat a = 3.7;4 bytes%f
doubledouble pi = 3.1415;8 bytes%lf
charchar grader = 'a';1 byte%c
stringchar name[20] = "pierre";array%s

Constants

#define TAX 0.13
const int Max = 100;

Control Structures

Statements: if, else if, else

Switches

switch(x) {
    case 1: printf("One"); break;
    case 2: printf("Two"); break;
    default: printf("Other");
}

Loops: while, do while, for

For Loop Example

#include <stdio.
... Continue reading "Essential C Programming Syntax and Memory Management" »

Java AWT GUI Development and OOP Inheritance

Posted by Anonymous and classified in Computers

Written on in English with a size of 7.41 KB

Building Java GUI Applications with AWT

Creating GUI applications using Abstract Window Toolkit (AWT) involves setting up a top-level container, adding components, arranging them with a Layout Manager, and making the container visible.

Steps to Create an AWT Application

1. Choose a Top-Level Container

The application needs a primary window to hold all components. The most common choice is the Frame class, which provides a title bar, borders, and window controls.

import java.awt.*;

// Class extends Frame to be the application window itself
public class AWTExample extends Frame {
    // Constructor and other methods
}

2. Initialize the Container (The Frame)

Inside the constructor, you set up the basic properties of the window:

  • Title: Set the window
... Continue reading "Java AWT GUI Development and OOP Inheritance" »

Database Fundamentals: SQL Queries and Relational Concepts

Posted by Anonymous and classified in Computers

Written on in English with a size of 99.31 KB

Core Database Concepts and Relational Algebra

Question 1: Cartesian Product Size

Question 1: S is a relation instance. If S has 6 tuples, how many tuples are there in the result of the following SQL query?

SELECT * FROM S S1, S S2;

Answer: 36 (Calculated as 6 * 6, representing the Cartesian product of S with itself.)

Question 2: Maximum Tuples and Primary Keys

Question 2: Let R(A, B, C, D) be a relation, where (A, B, C) is the Primary Key (PK) of R, and attribute D cannot be NULL. Assume A's domain has 5 different values, B's domain has 2, C has 4, and D has 3. What is the maximum number of tuples that can be in an instance of R?

Answer: 40 (Calculated as 5 * 2 * 4. The maximum number of tuples is determined by the product of the domain sizes of the... Continue reading "Database Fundamentals: SQL Queries and Relational Concepts" »

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" »

Assembly Language Fundamentals: Registers, Operands, and Data Types

Posted by Anonymous and classified in Computers

Written on in English with a size of 4.73 KB

Assembly Language Fundamentals: Key Concepts and Definitions

1. Clock Frequency and Cycle Time

A clock that oscillates 1 million times per second (1 MHz) produces a clock cycle duration of $10^{-6}$ seconds (1 microsecond).

2. General-Purpose Registers (8-bit, 16-bit, and 32-bit Access)

The general-purpose registers that can be accessed in 8 bits, 16 bits, and 32 bits are: EAX, EBX, ECX, and EDX.

3. Purpose of EAX and ECX Registers

These registers serve specific roles in CPU operations:

  • EAX – Accumulator: Automatically used by multiplication and division instructions. It is often referred to as the extended accumulator register.
  • ECX – Loop Counter: The CPU automatically uses ECX as a counter for loop instructions.

4. Reserved Words and Identifiers

... Continue reading "Assembly Language Fundamentals: Registers, Operands, and Data Types" »