This repository contains a curated set of small-scale projects and academic experiments developed as part of my learning journey in computer science. Each subproject demonstrates a specific concept — from basic I/O and GUI design to digital logic, data structures, embedded systems, and low-level assembly programming.
These projects span multiple languages including C, Python, Verilog, Solidity, ARM Assembly, and Arduino, and are organized for easy exploration and reuse.
mini-projects/
├── voting-software/ # Terminal-based voting system in C
├── dsa-music-player/ # Music queue player using DSA concepts in C
├── converter-tkinter/ # Currency & temperature converter using Python Tkinter
├── if-else-parser/ # Syntax validator for if-else structures using PLY (Python Lex-Yacc)
├── shift-register-verilog/ # Bitwise shift logic using Verilog HDL
├── ngo-donation-demo-solidity/ # Smart contract trial for NGO donations using Solidity
├── Assembly-Codes/ # ARM assembly language experiments and algorithms
├── C-DSA-Basics/ # Collection of basic DSA programs in C
└── Simple-Arduino/ # Basic Arduino codes and sensor-actuator experiments
- Language: C
- Description: A simple command-line voting system supporting multiple candidates and vote tallying.
- Highlights: Input validation, file-based storage, terminal navigation.
- Language: C
- Description: Simulates a music player queue using arrays or linked lists. Demonstrates use of DSA (like queue/stack).
- Highlights: Dynamic queue logic, command-driven interface.
- Language: Python (Tkinter)
- Description: Desktop GUI application to convert currencies and temperatures.
- Highlights: Tkinter GUI design, modular functions, two-in-one utility.
- Language: Python (PLY - Lex/Yacc)
- Description: A lexical analyzer and parser for validating the syntax of
if-elsestatements written in a pseudo programming language. - Highlights:
- Tokenization using
ply.lex - Grammar parsing using
ply.yacc - Validates nested and flat
if-elseconstructs with custom rules - Educational showcase of CFGs (Context-Free Grammars)
- Tokenization using
- Language: Verilog
- Description: Simulates shift-left and shift-right operations using registers and arrays.
- Highlights: Bitwise logic, testbenches for simulation.
- Language: Solidity
- Description: Trial project exploring smart contract development for a decentralized NGO donation platform.
- Highlights:
- Donor & NGO registration and validation
- INR to ETH conversion logic (mocked)
- Donation history tracking and blacklist mechanism
- Built for learning Solidity basics like
struct,mapping, andpayable
- Language: ARM Assembly
- Description: Collection of low-level assembly programs showcasing simple tasks and algorithms such as array operations, matrix addition, searches (linear, binary), bitwise operations, display logic for seven-segment modules etc.
- Language: C
- Description: A collection of programs covering fundamental data structures and algorithms concepts.
- Highlights:
- Arrays, linked lists (singly & doubly), binary search trees (BST), stacks, queues, and tries.
- Demonstrates insertion, deletion, searching, sorting, and merging operations.
- Useful as reference snippets or practice material for interviews and coursework.
- Language: Arduino (C/C++)
- Description: Basic Arduino programs and sensor-actuator experiments.
- Highlights:
- Simple codes for buzzer, RGB LED, servo motor, soil moisture sensor.
- Combined example integrating ultrasonic sensor, buzzer, and servo.
- C, Python, Verilog, Solidity, Arduino (C/C++)
- Terminal I/O
- GUI with Tkinter
- PLY (Python Lex-Yacc)
- HDL simulation tools (ModelSim or online simulators)
- ARM assembler tools
These projects serve as foundational exercises, useful for:
- Reinforcing concepts in systems programming and logic design
- Quick references for future work
This repository is licensed under the MIT License.
You are free to use, modify, and distribute with proper attribution.
Made with ❤️ by Naga Saketh V
Find more at my GitHub profile