Notes, summaries, assignments, exams, and exercises for Computer science for Primary education

Software Testing Strategies: Verification, Validation, and Integration

Computer science4.12 KB

Test Strategy

  • Test Planning
  • Design test cases
  • Test Run
  • Collection and evaluation

The software is tested to discover errors made inadvertently when carrying out their design and construction.

The tests are a set of activities you can plan ahead and carry out systematically. For this reason, you must define the process of software engineering template for software testing.

A software testing strategy should include: evidence of low-level, high level evidence.

Verification: a set of activities to ensure that software correctly implements a specific function.

Validation: different set of activities to ensure that software built is consistent with customer requirements.

Only once the software architecture comes into play is completed Independent Test Group.

...
Continue reading "Software Testing Strategies: Verification, Validation, and Integration" »

Database Design and Systems Development Principles

Computer science3.83 KB

Database Modeling and Relationships

  • Multi-valued: Derived
  • Cardinality: 1(0,3), M(1,1)
  • Optionality: ()
  • Weak Entities: [[]]
  • Formula: TS = PS - DC + OC

Data Integrity Constraints

  • Entity Integrity: Different Primary Key (PK) values.
  • Cascading Referential Integrity: Foreign Keys (FK) must exist in the referral table.
  • Domain Integrity: Predefined data types, maximum and minimum values.

Database Normalization

  • 1st Normal Form: Multi-valued attributes removed.
  • 2nd Normal Form: Partial dependency (PD) removed.
  • 3rd Normal Form: Transitive dependency (TD) removed.

Objectives: Eliminate redundancy, prevent data inconsistencies (anomalies), and ensure consistent database design.

Database Anomalies

  • Addition/Insertion anomaly
  • Deletion anomaly
  • Update anomaly

Logic and Decomposition

  • Lossless
...
Continue reading "Database Design and Systems Development Principles" »

Efficient Recruiting and Algorithm Design: Set Cover, Hamiltonian Path, and Longest Increasing Subsequence

Computer science3.2 KB

Set Cover to Efficient Recruiting

Input: Set U of elements, collection S1, ..., Sm of subsets of U, integer k ≥ 0

Construct an instance of the Efficient Recruitment Problem:

  • Sports are represented by U.
  • Applicants are represented by {1, ..., m}.
  • For every s ∈ U and 1 ≤ i ≤ m, M[s, i] = 'qualified' if s ∈ Si and 'not qualified' otherwise.

Steps:

  1. Call the oracle for Efficient Recruiting with input M and k.
  2. Return the result (yes or no) of the previous call.

Vertex Cover and Hitting Set

Graph: G = (V, E)

  • U = V(G)
  • Si = {u, v}, where (u, v) is an edge of G.

Vertex Cover ⇒ Hitting Set:

If C is a vertex cover for G of size k, then by definition, for every edge (u, v) in G, either u ∈ C or v ∈ C. Therefore, C is a solution for Hitting Set because...

Continue reading "Efficient Recruiting and Algorithm Design: Set Cover, Hamiltonian Path, and Longest Increasing Subsequence" »

PL/SQL Video Store Management System: Procedures and Functions

Computer science5.11 KB

PL/SQL Video Store Management System

Sequence Creation

Create a sequence to automatically generate unique primary keys for members:

CREATE SEQUENCE SOCIO_PK_SEQ
INCREMENT BY 1
START WITH 01
MAXVALUE 1000
NOCYCLE;

Member Management Procedures

Create a procedure to register new members and execute test inserts:

CREATE OR REPLACE PROCEDURE NUEVO_SOCIO(
    P_APE1 SOCIOS.APE1%TYPE, 
    P_APE2 SOCIOS.APE2%TYPE, 
    P_DIREC SOCIOS.DIRECCION%TYPE, 
    P_CIUDAD SOCIOS.CIUDAD%TYPE, 
    P_TELEF SOCIOS.TELEFONO%TYPE
) IS
BEGIN
    INSERT INTO SOCIOS
    VALUES (SOCIO_PK_SEQ.NEXTVAL, P_APE1, P_APE2, P_DIREC, P_CIUDAD, P_TELEF, SYSDATE);
    COMMIT;
END NUEVO_SOCIO;
/

BEGIN 
    NUEVO_SOCIO('ARMENTEROS', 'NAVO', 'POZOA S/N', 'VITORIA', 945112233);
END;
/
...
Continue reading "PL/SQL Video Store Management System: Procedures and Functions" »

Core 5G Enabling Technologies and Sensor Network Architecture

Computer science2.47 KB

5G Enabling Technologies

5G is made possible by a combination of advanced radio, network, and computing technologies. These enabling technologies work together to deliver high data rates, ultra-low latency, massive connectivity, and high reliability.

1. Millimeter Wave (mmWave) Communication

5G uses high-frequency bands (typically 24 GHz–100 GHz) known as millimeter waves.

  • Provides extremely high data rates
  • Suitable for dense urban areas, stadiums, and hotspots
  • Limited range, so it requires more base stations and small cells

2. Massive MIMO (Multiple Input Multiple Output)

Uses a large number of antennas at the base station.

  • Increases spectral efficiency
  • Supports multiple users simultaneously
  • Improves data rates and coverage

3. Network Slicing

Divides...

Continue reading "Core 5G Enabling Technologies and Sensor Network Architecture" »

Mastering Web Technologies: XHTML, CSS, and AJAX Components

Computer science2.25 KB

Core Web Technologies Explained

XHTML: Structured Markup

XHTML is HTML based on XML. With it, you can combine HTML markup with XML rules. The idea is to have a standardized document and to be made accessible across multiple platforms and devices, such as a computer desktop, PDA, mobile phone, or TV.

CSS: Appearance Standards

CSS (Cascading Style Sheets) is another important technology. With CSS, you can set standards for the appearance and behavior of page elements. The colors, paragraphs, margins, spacing, thickness, or other page elements can be defined in one file. Therefore, at any time, you can totally change the way all pages of a site look by simply changing the file that contains the CSS definitions. This feature, in conjunction with AJAX,...

Continue reading "Mastering Web Technologies: XHTML, CSS, and AJAX Components" »

Flowcharts vs Class Diagrams: Structured vs Object-Oriented Analysis

Computer science1.7 KB

Advantages of Using Flowcharts

  • Quick understanding of relationships.
  • Effective analysis of different program sections.
  • Useful as working models for designing new systems.
  • Improved communication with users.
  • Proper program documentation.
  • Efficient program coding.
  • Streamlined debugging and testing.

Disadvantages of Flowcharts

  • Diagrams are often complex and laborious to design.
  • Paths following decision symbols can be difficult to follow.
  • Lack of standardized rules for including all desired details.

Class Diagram Advantages

  • Automatically generates code.
  • Proposes solutions to common errors.
  • Represents relationships between classes.
  • Protects system data and components.
  • Allows for a reduction in coupling.

Class Diagram Disadvantages

  • The method tends to be slow.
  • Implementation
...
Continue reading "Flowcharts vs Class Diagrams: Structured vs Object-Oriented Analysis" »

Java Programming Essentials: Exceptions, Threads, Events, and Adapters

Computer science7 KB

Core Java Programming Concepts Explained

Key Java Definitions

  • Exception: An event that disrupts the normal flow of a program's instructions.
  • Thread: A lightweight subprocess enabling multitasking within a program.
  • Event Handling: Implemented using listeners and event classes that respond to user actions.
  • Applet: A small Java program embedded in a web page for interactive content.
  • Remote Applets: Used to download and execute applets from a web server over the internet.
  • Applet Parameters: Passed to applets using <PARAM> tags in HTML, accessed via the getParameter() method.
  • Daemon Thread: Runs in the background for services like garbage collection and ends when main threads finish.
  • Thread Synchronization Advantages:
    • Prevents thread interference.
    • Ensures
...
Continue reading "Java Programming Essentials: Exceptions, Threads, Events, and Adapters" »

Essential Internet Terminology and Networking Definitions

Computer science4.25 KB

Essential Internet and Networking Concepts

Defining the Internet and Web 2.0

The **Internet** is the transport mechanism for the World Wide Web, offering services like email, P2P networks, FTP services, games, radio, and TV. It is a **Global Computer Network (WAN)** that uses TCP/IP to connect computers and smaller networks located anywhere in the world. It is fundamentally a network of interconnected networks.

**Web 2.0** refers to the evolution of traditional Internet services and applications toward greater user interactivity. Many older applications are replaced by newer ones that operate directly on the Internet platform.

Network Protocols Explained

A **Network Protocol** is a set of rules followed by a communication system, enabling terminals...

Continue reading "Essential Internet Terminology and Networking Definitions" »

Operating System Fundamentals and Internet Concepts

Computer science11.39 KB

Introduction to the Operating System (OS)

An Operating System (OS) is the most crucial type of system software that acts as an intermediary between the computer hardware and the user or application programs. Simply put, it is the software layer that allows you to interact with the machine in a meaningful way. Without an OS, the computer hardware is just a collection of electronic components. The OS manages all the system's resources, making it convenient and efficient for users and applications to execute programs.

Functions of the Operating System

The OS performs several essential functions to ensure the smooth, efficient, and secure operation of a computer:

  • Process Management (CPU Scheduling): The OS determines which running program (process)
...
Continue reading "Operating System Fundamentals and Internet Concepts" »