Mastering Modular Programming and Data Structures in C

Unit 4: Modular Programming Concepts

Modular programming is a software design technique that divides a program into smaller, independent, and reusable units called modules or functions. Each module performs a specific task, which helps in organizing, testing, and debugging programs more efficiently. By breaking a large problem into manageable pieces, programmers can focus on one module at a time, reducing complexity and improving readability. Modules can be developed, tested, and maintained separately,

Read More

Relational Database Theory: Algebra, Calculus, and FDs

SQL Constraints and Implementation

Constraints are rules applied to columns to ensure Data Integrity. They are usually defined during the CREATE TABLE process.

ConstraintSQL Implementation ExamplePurpose
NOT NULLname VARCHAR(50) NOT NULLEnsures a column cannot have an empty value.
UNIQUEemail VARCHAR(50) UNIQUEEnsures all values in a column are different.
PRIMARY KEYid INT PRIMARY KEYUniquely identifies each row (implies NOT NULL + UNIQUE).
FOREIGN KEYdept_id INT REFERENCES Dept(id)Ensures the value exists
Read More

Buffer Overflow and Arbitrary Code Execution: Causes & Defenses

Arbitrary Code Execution (ACE)

Arbitrary Code Execution (ACE): A vulnerability where an attacker supplies input to a program such that the CPU interprets that input as executable instructions and runs it. The CPU cannot distinguish between legitimate program code and malicious injected code. Once ACE happens, the attacker controls instruction flow; security boundaries are effectively gone and the system executes whatever the attacker wants.

Buffer Overflow (BO)

BO (Buffer Overflow): All buffer overflows

Read More

DBMS Architecture, Roles, and Interfaces

Database Interfaces

A DBMS provides various interfaces to suit different types of users (from non-technical clerks to expert administrators).

  • Menu-Based Interfaces: Primarily used for web clients and browsing. Users are presented with a list of options (menus) and do not need to know any query language.
  • Forms-Based Interfaces: Common for “naive users.” Users interact by filling out fields in a form (e.g., a bank account registration form). The DBMS then handles the insertion or retrieval.
  • Graphical
Read More

Modern Web Technologies and JavaScript Essentials

JavaScript: The Language of the Web

JavaScript (often abbreviated as JS) is one of the core technologies of the World Wide Web, alongside HTML and CSS. While HTML provides the structure and CSS provides the style, JavaScript provides the interactivity.

It is a high-level, interpreted programming language that allows you to implement complex features on web pages—from updating content dynamically and controlling multimedia to animating images and handling user input.

Applications of JavaScript

  • Web
Read More

Input and Output Devices Plus Operating System Functions

Input Devices

đź’» Input devices are hardware components that allow users to send data and control signals to a computer.

Classification and Use

Input devices can be broadly classified based on the type of data they input:

ClassificationExample DevicesPrimary Use
Human Data EntryKeyboard, Mouse, MicrophoneManual data entry, text, commands, and real-time control.
Source Data AutomationScanner, Digital Camera, Magnetic Stripe ReaderCapturing data directly from the source without human transcription.

Specific

Read More