C# Object-Oriented Programming: CSV Parsing and Inheritance

CSV Data Processing in C#

public class Program
{
    public static void Main(string[] args)
    {
        List<Employee> employees = new List<Employee>();
        string filePath = "employees.csv";

        try
        {
            using(StreamReader reader = new StreamReader(filePath))
            {
                reader.ReadLine(); // Skip header
                string line;
                while((line = reader.ReadLine()) != null)
                {
                    string[] data 
Read More

Algorithmic Solutions: String Manipulation and Parsing

String Duplicate Removal

def removeDuplicates(self, s: str, k: int) -> str:
    stack = []
    for char in s:
        if not stack:
            stack.append((char, 1))
        else:
            last_char, last_cnt = stack[-1]
            if char != last_char:
                stack.append((char, 1))
            else:
                if last_cnt + 1 < k:
                    stack[-1] = (last_char, last_cnt + 1)
                else:
                    stack.pop()
    return ''.join(c * cnt for 
Read More

String Operations and Queue Data Structures Explained

String Storage and Memory Representation

A string is a collection of characters stored together in memory. Strings are used to store names, words, sentences, and other text data in computer systems. In programming languages like C, a string is stored as an array of characters and ends with a special null character '\0'.

Example of String: char name[] = "ROHIT";

In memory, the string is stored as:

| R | O | H | I | T | \0 |

Here, \0 represents the end of the string.

Methods of String Storage

1. Fixed Length

Read More

Data Structures and Algorithms: Core Concepts

Unit I: Fundamentals

1. Elementary Data Organization

Elementary data organization refers to the basic method of arranging and managing data in a computer system. Data is organized in the form of characters, fields, records, files, and databases. A character is the smallest unit of data, while a field is a group of related characters. Multiple fields form a record, and records together create a file. Proper data organization helps in storing, accessing, and processing information efficiently. It improves

Read More

NC, CNC, and DNC Machines: Key Differences and Functions

Comparison of NC, CNC, and DNC Machines

FeatureNC MachineCNC MachineDNC Machine
Full FormNumerical ControlComputer Numerical ControlDirect Numerical Control
Control MethodPunched tape/cardsOnboard computerCentral computer network
Program StorageExternal tapeMachine memoryCentral computer
EditingDifficultEasyVery easy/centralized
FlexibilityLess flexibleMore flexibleHighly flexible
AccuracyModerateHighVery high
Automation LevelLowHighVery high
Human InterventionMoreLessVery less
Data TransferManualAutomaticCommunication
Read More

Dataflow Architectures and AI Hardware Optimization

Dataflow Architectures in Machine Learning

Why use dataflow architecture for ML?

Dataflow architectures eliminate the need for a program counter, executing instructions based solely on input data availability. This minimizes the massive energy and latency costs associated with fetching data from main memory (DRAM) in traditional von Neumann architectures, making it highly efficient for Machine Learning workloads.

Mapping Deep Learning to Dataflow

Multiply-and-Accumulate (MAC) operations and deep loop

Read More