Digital Logic, Memory, and CAN Bus Communication Principles

Computer Fundamentals and Signal Processing

Defining a Computer System

A computer is a physical form for information processing. It takes data, adapts and compares it, and then generates signals for actuators.

Four Basic Functions of a Computer

  1. Input (Entry): This is a voltage signal sent by a sensor or switch.
  2. Processing: The input signal is compared with programmed instructions. Logic circuits transform the input entries into the required output order.
  3. Storage: Data is stored for comparison with current
Read More

Understanding CPU Registers, Instructions, and Addressing Modes

CPU Registers and Architecture Fundamentals

General Purpose Registers (GPRs)

These 16-bit registers are typically used for arithmetic and data manipulation:

  • AX (Accumulator): Used for main arithmetic operations, disk I/O, multiplication and division instructions, and decimal corrections.
  • BX (Base): Serves as the base register for memory addresses referenced indirectly.
  • CX (Counter): Primarily used as a counter in loops and repetitive string operations.
  • DX (Data): Used in conjunction with AX during multiplication
Read More

Distributed Systems: Concepts, Protocols, and Architectures

Fundamentals of Distributed Systems

Distributed Mutual Exclusion

Distributed mutual exclusion algorithms coordinate access to shared resources in a distributed system, ensuring only one process uses the resource at a time. Unlike centralized systems, there is no single coordinator. These algorithms rely on message passing among processes to achieve mutual exclusion.

Approaches include:

  • Token-Based: A unique token grants access to the critical section.
  • Non-Token-Based: Processes request permission using
Read More

Essential Computing Concepts: Protocols, Security, and Parallelism

Email Retrieval Protocols: POP3 vs. IMAP

POP3 (Post Office Protocol version 3) and IMAP (Internet Message Access Protocol) are fundamental email retrieval protocols used by email clients to access messages from a mail server.

POP3 (Post Office Protocol version 3)

  • Downloads emails from the server to the local device.
  • Usually deletes them from the server, making emails accessible only on that specific device.
  • Pros: Simple, uses less server storage.
  • Cons: Not ideal for accessing mail from multiple devices.
Read More

Essential Algorithms and Data Structures Reference

Asymptotic Notation (Growth Rates)

  • O(f(n)) – Upper Bound (Worst Case)
  • Ω(f(n)) – Lower Bound (Best Case)
  • Θ(f(n)) – Tight Bound (Exact)

Growth Rate Hierarchy

O(1) < O(log n) < O(n) < O(n log n) < O(n2) < O(2n) < O(n!)

Sorting Algorithms – Time Complexities

AlgorithmBest CaseWorst CaseStableIn-Place
Bubble SortO(n)O(n2)YesYes
Selection SortO(n2)O(n2)NoYes
Insertion SortO(n)O(n2)YesYes
Merge SortO(n log n)O(n log n)YesNo
HeapsortO(n log n)O(n log n)NoYes
QuicksortO(n log n)O(n2)NoYes

Search

Read More

Arduino Programming Essentials: Logic & Control Flow

Digital Read Serial Example

This section presents an Arduino sketch demonstrating how to read a digital input and print its state to the Serial Monitor.


/*
  Leen - Digital Read Serial - May 13
  DigitalReadSerial

  Reads a digital input on pin 2, prints the result to the Serial Monitor

  This example code is in the public domain.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/DigitalReadSerial
*/
// digital pin 2 has a pushbutton attached to it. Give it a name:
int pushButton = 4;

// the 
Read More