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

Sort by
Subject
Level

C Code Examples: Data Structures and Algorithms

Classified in Computers

Written on in English with a size of 5.54 KB

Recursive Binary Tree Traversals

Inorder Traversal:

void inorder(struct node *root)
{
  if(root != NULL)
  {
    inorder(root->left);
    printf("%d\t", root->data);
    inorder(root->right);
  }
}

Preorder Traversal:

void preorder(struct node *root)
{
  if(root != NULL)
  {
    printf("%d\t", root->data);
    preorder(root->left);
    preorder(root->right);
  }
}

Postorder Traversal:

void postorder(struct node *root)
{
  if(root != NULL)
  {
    postorder(root->left);
    postorder(root->right);
    printf("%d\t", root->data);
  }
}

Linked List Operations

Search

void search(struct node *head,int key)
{
  struct node *temp = head;
  while(temp != NULL)
  {
    if(temp->data == key)
      printf("key found");
    temp =
... Continue reading "C Code Examples: Data Structures and Algorithms" »

Python Fundamentals and Algorithms Explained

Classified in Computers

Written on in English with a size of 5.17 KB

Algorithms

Algorithms involve inputs, instructions, outputs, and a purpose.

Instruction Types

  • Instruction
  • Decision
  • Loop
  • Variable
  • Function

Python Basics

Comments

Comments explain what code is for, intended for human readers.

Variables

Storing a value in a variable is called assignment. It's best practice not to use generic names.

Calculations (Operators)

  • + : Addition
  • - : Subtraction
  • * : Multiplication
  • / : Division
  • // : Integer Division (e.g., 6 // 4 = 1)
  • % : Remainder / Modulo (e.g., 6 % 4 = 2)
  • ** : Exponentiation

mass_in_kg = 15

weight_in_pounds = mass_in_kg * 2.2

print('the weight in pounds is: ', weight_in_pounds)

user_name = input("enter your user name: ")

print('hello', user_name)

Data Types

  • int: Integer numbers (e.g., -1, 0, 2, 1000)
  • float: Floating-point (real)
... Continue reading "Python Fundamentals and Algorithms Explained" »

Digital Logic: Moore's Law, Logic Gates, and Number Systems

Classified in Computers

Written on in English with a size of 708.55 KB

Lecture 1: Moore's Law

Moore's Law: The number of transistors on microchips doubles every two years.

Lecture 2: Logic Gates

I7WgAAAABJRU5ErkJggg==

i3AAAAABJRU5ErkJggg==

+NnQQWHnrkU5hEgARmEjCXFieBuVQxHFZoESCBhRZfu1ongdmFNPtxFQIkMFepI+jBkMCCho4VvYwACczL2qMNLDy0x6cIGoEjR45Iq1atZNWqVbqNnTt3SpUqVYJujxWdQYArMGdwZ68OI4AY19dff10GDBggbdu2lblz50p8fLzDo2L3ZhEggZlFjOXDBgEEmaekpEhcXBzJy6NaJYF5VHEcNhEgAiIkMM4CIkAEPIsACcyzquPAiQARIIFxDhABIuBZBEhgnlUdB04EiAAJjHOACBABzyJAAvOs6jhwIkAESGCcA0SACHgWARKYZ1XHgRMBIkAC4xwgAkTAswiQwDyrOg6cCBABEhjnABEgAp5FgATmWdVx4ESACJDAOAeIABHwLAIkMM+qjgMnAkSABMY5QASIgGcRIIF5VnUcOBEgAiQwzgEiQAQ8iwAJzLOq48CJABEggXEOEAEi4FkESGCeVR0HTgSIAAmMc4AIEAHPIkAC86zqOHAiQAT+DyAtVcWtdpgpAAAAAElFTkSuQmCC

PKhJg4vKJJngcj4CICTBwugs1dMQJeQYCJwyua5HkwAi4iwMThItjcFSPgFQSYOLyiSZ4HI+AiAkwcLoLNXTECXkGAicMrmuR5MAIuIsDE4SLY3BUj4BUEmDi8okmeByPgIgJMHC6CzV0xAl5BgInDK5rkeTACLiLAxOEi2NwVI+AVBJg4vKJJngcj4CICTBwugs1dMQJeQYCJwyua5HkwAi4iwMThItjcFSPgFQSYOLyiSZ4HI+AiAkwcLoLNXTECXkGAicMrmuR5MAIuIsDE4SLY3BUj4BUEmDi8okmeByPgIgJMHC6CzV0xAl5BgInDK5rkeTACLiLAxOEi2NwVI+AVBP4HSdmP4LA25GYAAAAASUVORK5CYII=

5hQAAAAASUVORK5CYII=

eg8CIAACIAACfhGAQPiFDYVAAARAAARAwNkEIBDOjj96DwIgAAIgAAJ+EYBA+IUNhUAABEAABEDA2QT+D4sjTswCubX7AAAAAElFTkSuQmCC

o3LOcXr2Tof4HmKwTSBU6n03g8Hv9jfn5+pseNz2fo4ysWkACBdgFD334B8hMgEC9g6OMrFpAAgXYBQ99+AfITIBAvYOjjKxaQAIF2AUPffgHyEyAQL2Do4ysWkACBdgFD334B8hMgEC9g6OMrFpAAgXYBQ99+AfITIBAvYOjjKxaQAIF2AUPffgHyEyAQL2Do4ysWkACBdgFD334B8hMgEC9g6OMrFpAAgXYBQ99+AfITIBAvYOjjKxaQAIF2AUPffgHyEyAQL2Do4ysWkACBdgFD334B8hMgEC9g6OMrFpAAgXYBQ99+AfITIBAvYOjjKxaQAIF2AUPffgHyEyAQL2Do4ysWkACBdgFD334B8hMgEC9g6OMrFpAAgXYBQ99+AfITIBAvYOjjKxaQAIF2AUPffgHyEyAQL2Do4ysWkACBdgFD334B8hMgEC9g6OMrFpAAgXYBQ99+AfITIBAvYOjjKxaQAIF2AUPffgHyEyAQL2Do4ysWkACBdgFD334B8hMgEC9g6OMrFpAAgXYBQ99+AfITIBAvYOjjKxaQAIF2AUPffgHyEyAQL2Do4ysWkACBdgFD334B8hMgEC9g6OMrFpAAgXaBf18koFmMFdorAAAAAElFTkSuQmCC

wFbJNthuSOezwAAAABJRU5ErkJggg==

AND, OR, and NOT gates are universal.

Logic word problem steps:

Example: In a bank, there were four employees: the bank manager, assistant manager, teller, and the security guard. The bank has a single vault for the storage of their money. This vault was designed so that it needs four signals to open it. These four signals are from the bank manager, assistant manager, teller, and the security guard. For the vault to open, it needs the following conditions:

  1. No single employee can open the vault.
  2. It can be opened with three employees as long as one of them is the manager.
  3. It can be opened by the manager together with the assistant
... Continue reading "Digital Logic: Moore's Law, Logic Gates, and Number Systems" »

Mastering LVM: Dynamic Storage Management in Linux

Classified in Computers

Written on in English with a size of 3.44 KB

Logical Volume Management (LVM) in Linux Storage

F. The the vast realm of operating systems, Linux has emerged as a robust and versatile choice, powering everything from personal computers to enterprise-level servers. One of its standout features is Logical Volume Management (LVM), a powerful storage management system that offers enhanced flexibility, scalability, and reliability for handling storage devices in Linux environments. LVM revolutionizes how disk partitions and physical storage are managed, providing an abstract layer that simplifies storage administration and facilitates efficient utilization of available resources. By introducing logical volumes, volume groups, and physical volumes (PVs) (originally referred to as "physical books"... Continue reading "Mastering LVM: Dynamic Storage Management in Linux" »

Essential Software Design Patterns and Testing Techniques

Posted by Anonymous and classified in Computers

Written on in English with a size of 6.26 KB

Domain Model

  • Shows concepts only: classes, attributes, associations, and multiplicities.
  • No methods, no UI, and no controllers are included.
  • Purpose: To understand the real-world objects involved in the system.

Use Case Model (Module 6)

  • Focuses on Actor ↔ System interaction.
  • Uses the Verb + Noun naming convention.
  • Format: Defines Actor steps versus System steps.
  • Use cases serve as input for sequence diagrams, which inform class diagrams.

UML Class Diagram (Module 7)

  • Class Components: Name, attributes, and methods.
  • Association: Line connecting classes with multiplicity (1, 0..1, *, 1..*).
  • Inheritance: Represented by an open triangle arrow symbol.
  • Interface: Indicated by the «interface» stereotype.
  • DCD (Design Class Diagram): Explicitly includes methods
... Continue reading "Essential Software Design Patterns and Testing Techniques" »

Python Classes, Objects, and Inheritance Fundamentals

Classified in Computers

Written on in English with a size of 4.11 KB

Understanding Objects in Programming

An object is a software entity that contains data (attributes) and methods. It represents a real-world entity that can be distinctly identified.

Every object has a unique:

  • Identity: The name of the object (e.g., the variable name).
  • State: The data stored in the object, which defines its properties.
  • Behavior: The actions an object can perform, defined by its methods.

Can an object be passed as an argument to a function?

Yes. In Python, objects are passed by reference. This means any changes made to the object's attributes within the function will permanently alter the original object. This behavior is similar to how lists and dictionaries are handled. Think of it as sharing a key to a single locker rather than getting... Continue reading "Python Classes, Objects, and Inheritance Fundamentals" »

Mastering Stacks, Deques, Trees, and Graph Data Structures

Classified in Computers

Written on in English with a size of 21.54 KB

A stack is a fundamental data structure in computer science that follows the Last In, First Out (LIFO) principle. This means that the last element added to the stack is the first one to be removed. You can think of it like a stack of plates: you can only add or remove the top plate.

### Key Concepts of a Stack:

1. Basic Operations:
   - Push: This operation adds an element to the top of the stack.
   - Pop: This operation removes the element from the top of the stack and returns it.
   - Peek (or Top): This operation returns the top element of the stack without removing it.
   - IsEmpty: This operation checks whether the stack is empty.

2. Implementation:
   Stacks can be implemented using arrays or linked lists. Here are the details for... Continue reading "Mastering Stacks, Deques, Trees, and Graph Data Structures" »

Microprocessor vs. Microcontroller: Understanding the Key Differences

Classified in Computers

Written on in English with a size of 2.45 KB

Microprocessor vs. Microcontroller

ii) Differentiate Between a Microprocessor and a Micro-Controller

Microprocessor

Definition:

A microprocessor is a central processing unit (CPU) on a single integrated circuit (IC) chip that performs the processing functions of a computer.

Functionality:
  • It only includes the CPU core and lacks other components like memory, I/O ports, timers, and other peripherals.
  • Requires external components like memory (RAM, ROM), input/output devices, timers, and other peripherals to function as a complete system.
Usage:
  • Primarily used in systems requiring high computational power and flexibility, such as desktop computers, laptops, servers, and high-end embedded systems.
  • Suited for applications where customization of peripherals
... Continue reading "Microprocessor vs. Microcontroller: Understanding the Key Differences" »

Essential .NET Concepts: CLR, FCL, MSII

Classified in Computers

Written on in English with a size of 3.35 KB

Key .NET Concepts Defined

Managed Code Explained

Managed code is the code executed by the .NET runtime (CLR), which provides memory management, security, and exception handling.

.NET Framework Class Library (FCL)

FCL is a collection of reusable classes, interfaces, and value types that provide core functionalities like file handling, data access, and networking in .NET applications.

Boxing in VB.NET

Boxing is the process of converting a value type (e.g., Integer) into an object type (Object), allowing it to be stored in the heap.

Option Explicit Statement

In VB.NET, Option Explicit forces variable declarations before use, preventing errors due to undeclared variables.

Progress Bar Control Use

A Progress Bar control visually represents the progress of... Continue reading "Essential .NET Concepts: CLR, FCL, MSII" »

Core Concepts of Industrial Automation: TIA, SCADA, and DCS Systems

Posted by Anonymous and classified in Computers

Written on in English with a size of 23.38 KB

Industrial Automation Fundamentals

Defining Industrial Automation and Its Impact

Industrial automation refers to the use of control systems, such as computers, robots, and Programmable Logic Controllers (PLCs), to handle processes and machinery in industries, significantly reducing human intervention. It fundamentally enhances efficiency, precision, and safety in modern manufacturing.

The Revolution in Manufacturing

Automation has revolutionized manufacturing through several key areas:

  • Increased Productivity: Automation enables 24/7 operations, substantially boosting output and throughput.
  • Improved Quality: Consistent, repeatable processes reduce errors and ensure uniform product quality.
  • Cost Efficiency: Automation reduces reliance on manual labor
... Continue reading "Core Concepts of Industrial Automation: TIA, SCADA, and DCS Systems" »