Notes, summaries, assignments, exams, and exercises for Computer science for Baccalaureate

Java Programming: Classes, Objects, and Key Concepts

Computer science5.28 KB

Classes (الصفوف)

  • A class consists of variables (fields) and methods.
  • Variables are data members of a class.
  • Methods are functions that define the class's behavior.

Variables (المتغيرات)

  • Declared with a data type and a name.
  • Can be public or private.
  • Examples: int age, String name.

Methods (الأساليب)

  • Functions that perform specific tasks.
  • Can have parameters and return values.
  • Types:
    • Void methods: Don't return a value.
    • Return type methods: Return a value.
    • Static methods: Can be called without creating an object.
    • Instance methods: Require an object to be called.
    • Abstract methods: Declared without a body; used in abstract classes.
    • Overloaded methods: Multiple methods with the same name but different parameters.

Constructors (البناؤون)

...
Continue reading "Java Programming: Classes, Objects, and Key Concepts" »

C++ Concepts: Exception Handling to Friend Functions

Computer science3.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" »

Implementing Logic Functions with Decoders and MUXs

Computer science3.54 KB

Implementing Boolean Functions with Truth Tables

Problem 1: Implement the following function F(A, B, C) = Σ(2, 5, 6, 7) using a truth table with:

  • a. Decoder
  • b. Multiplexer

Truth Table for Function F(A, B, C)

ABCF
0000
0010
0101
0110
1000
1011
1101
1111

a. Decoder Implementation

A decoder is used to select one of the outputs based on the input combination. In this case, we have 3 inputs (A, B, C) and 8 possible combinations. The truth table shows that F = 1 for input combinations (010), (101), (110), and (111), and F = 0 for all other combinations. To implement this, we connect the corresponding decoder outputs to an OR gate.

b. Multiplexer Implementation

A multiplexer (MUX) selects one of the input lines and passes it to the output. The selection is controlled...

Continue reading "Implementing Logic Functions with Decoders and MUXs" »

SVM and Naive Bayes: Machine Learning Classification Fundamentals

Computer science5.44 KB

Support Vector Machines (SVM)

Support Vector Machines (SVM) are powerful supervised machine learning algorithms used for classification and regression tasks. They work by finding the optimal boundary (or hyperplane) that separates different classes in the data.

Imagine you have a dataset with two classes of points belonging to different categories, such as cats and dogs. SVM aims to draw a straight line (or hyperplane) that best separates these two classes while maximizing the margin. The margin is the distance between the hyperplane and the nearest points from each class, known as support vectors.

SVM Example: Classifying Cats and Dogs

Let's illustrate SVM with a dataset of cats and dogs, aiming to classify them based on their weights (in kilograms)...

Continue reading "SVM and Naive Bayes: Machine Learning Classification Fundamentals" »

Java Arithmetic Operations Web App

Computer science1.24 KB

Arithmetic Operations in Java

Input Form

Enter number 1:
Enter number 2:
  • Addition
  • Subtraction
  • Multiplication
  • Division

<% String num1Str = request.getParameter("num1"); String num2Str = request.getParameter("num2"); String operation = request.getParameter("operation"); if (num1Str != null && num2Str != null && !num1Str.isEmpty() && !num2Str.isEmpty() && operation != null) { double num1 = Double.parseDouble(num1Str); double num2 = Double.parseDouble(num2Str); double result = 0; switch (operation) { case "add": result = num1 + num2; out.println("

Result: " + result + "

"); break; case "subtract": result = num1 - num2; out.println("

Result: " + result + "

"); break; case "multiply": result = num1 * num2; out.println("...

Continue reading "Java Arithmetic Operations Web App" »

Content

Computer science5.21 KB

Primary Key : A Primary Key is the minimal set of attributes of a table that has the task to uniquely identify the rows, or we can say the tuples of the given particular table.It is the first key which is used to identify one and only one instance of an entity uniquely. An entity can contain multiple keys as we saw in PERSON table. The key which is most suitable from those lists become a primary key. In the EMPLOYEE table, ID can be primary key since it is unique for each employee. In the EMPLOYEE table, we can even select License_Number and Passport_Number as primary key since they are also unique.For each entity, selection of the primary key is based on requirement and developers.

Foreign key :A foreign key is different from a super key,

...

Continue reading "Content" »

Introduction to Computer Systems and Assembly Language Programming

Computer science7.29 KB

Computer System

Components:

  • CPU
  • Memory (ROM/RAM)
  • I/O unit

BCD (Binary-Coded Decimal)

  • Add 0110 to the result if it falls between 1010 and 1111.

Overflow

  • Occurs when both numbers being added are positive or negative, and the result exceeds the maximum representable value.

IEEE-754 Standard

  • 32 bits: 1 sign bit, 8 exponent bits, 23 mantissa bits
  • NAN (Not a Number): Represents an error, exponent with all 1s and a sign bit of 0.
  • Always add trailing zeros to complete the required number of bits.

Decoder

  • Converts input to output using 2^n AND gates.

Memory

  • Components: Address, data, enable, read, write

Control Unit

  • Hardware instruction logic
  • Decodes and monitors the execution of instructions.

ALU (Arithmetic Logic Unit)

  • Performs numerical and logical evaluations.
  • Receives
...
Continue reading "Introduction to Computer Systems and Assembly Language Programming" »

Understanding Network Characteristics and Protocols

Computer science5.89 KB

1. The performance of a client-server system is strongly influenced by two major network characteristics: the bandwidth of the network (that is, how many bits/sec it can transport) and the latency (that is, how many seconds it takes for the first bit to get from the client to the server). Give an example of a network that exhibits i) high bandwidth but also high latency, and ii) then give an example of one that has both low bandwidth and low latency. i) High bandwidth but also high latency: A transcontinental fiber link might have many gigabits/sec of bandwidth, but the latency will also be high due to the speed of light propagation over thousands of kilometers. Similarly, a satellite link may run at megabits/sec but have a high latency to...

Continue reading "Understanding Network Characteristics and Protocols" »

Understanding HDLC Protocol and ARQ Error Control Mechanisms

Computer science4.07 KB

Data Link Control and Error Control Mechanisms

Error Control Techniques

Efficient data transmission involves acknowledging successful data receipt and handling errors. When a station has both data and an acknowledgment to send, they are combined into one frame to optimize communication. If only an acknowledgment is available, a separate frame (RR or RNR) is sent. In cases where data is ready but no new acknowledgment is needed, the last sent acknowledgment sequence number is repeated within the data frame.

Error control relies on several key mechanisms:

  • Error Detection: Techniques like checksums or CRCs identify erroneous frames, which are then discarded.
  • Positive Acknowledgment: The receiver sends a positive acknowledgment (ACK) to confirm successful
...
Continue reading "Understanding HDLC Protocol and ARQ Error Control Mechanisms" »

Understanding Computer Architecture: Key Components and Functions

Computer science2.95 KB

List and Briefly Define the Four Main Elements of a Computer

A computer is composed of four fundamental elements:

  • Main memory: Stores both data and instructions.
  • Arithmetic and Logic Unit (ALU): Capable of operating on binary data.
  • Control Unit: Interprets the instructions in memory and ensures their execution.
  • Input and Output (I/O) Equipment: Operated by the control unit to facilitate interaction with the external world.

Define the Two Main Categories of Processor Registers

Processor registers can be broadly classified into two categories:

  • User-Visible Registers: These registers are accessible to programmers using machine or assembly language. They help minimize references to main memory by optimizing register usage. High-level language compilers

...
Continue reading "Understanding Computer Architecture: Key Components and Functions" »