Skip to content

About

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AlgoMaster - Engineering Algorithm Simulator

A comprehensive educational platform for engineering students to master algorithms and computer science concepts through interactive visualizations and simulations.

✨ Features

🏠 Modern Homepage

  • Responsive Design: Beautiful gradient-based UI with modern animations
  • Interactive Navigation: Easy access to all subjects and tools
  • Student-Focused: Built specifically for engineering students' needs
  • Professional Layout: Header, main content sections, and informative footer

πŸ“š Covered Subjects

Automata Theory

  • Finite Automata (DFA): Interactive state transition simulator
  • Context-Free Grammar: Parser and derivation tree generator
  • Regular Expressions: Pattern matching and regex testing
  • Turing Machines: Step-by-step execution simulator

Design & Analysis of Algorithms (DAA)

  • Greedy Algorithms: Fractional Knapsack, Job Sequencing, Prim's MST, Kruskal's MST
  • Dynamic Programming: 0/1 Knapsack with DP table visualization
  • Divide & Conquer: Merge Sort with step-by-step visualization
  • Backtracking: N-Queens with interactive chessboard

Operating Systems

  • Disk Scheduling: FCFS, SSTF, SCAN, C-SCAN algorithms
  • Page Replacement: FIFO, LRU, Optimal algorithms
  • Page Replacement: LRU, FIFO, and other page replacement algorithms

πŸ› οΈ Tech Stack

  • Framework: Next.js 15 with TypeScript
  • Styling: Tailwind CSS
  • Charts: Custom SVG-based visualizations
  • State Management: React Hooks

πŸ“ Project Structure

src/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ daa/                    # Design & Analysis of Algorithms
β”‚   β”‚   β”œβ”€β”€ greedy/            # Greedy algorithms
β”‚   β”‚   β”œβ”€β”€ dynamic/           # Dynamic programming
β”‚   β”‚   β”œβ”€β”€ divide-conquer/    # Divide and conquer
β”‚   β”‚   └── backtracking/      # Backtracking algorithms
β”‚   β”œβ”€β”€ auto/                   # Automata Theory
β”‚   β”‚   β”œβ”€β”€ finite-automata/   # FA simulations
β”‚   β”‚   β”œβ”€β”€ regular-expressions/ # Regex tools
β”‚   β”‚   β”œβ”€β”€ context-free-grammar/ # CFG parsers
β”‚   β”‚   └── turing-machines/   # TM simulators
β”‚   β”œβ”€β”€ os/                     # Operating Systems
β”‚   β”œβ”€β”€ components/             # Reusable React components
β”‚   └── utils/                  # Algorithm implementations

πŸš€ Getting Started

Prerequisites

  • Node.js 18 or later
  • npm or yarn

Installation

  1. Clone the repository:
git clone <repository-url>
cd algo-simulator
  1. Install dependencies:
npm install
  1. Run the development server:
npm run dev
  1. Open http://localhost:3000 in your browser.

πŸ‘₯ Contributing

This is a collaborative group project. To contribute:

  1. Create a new branch for your feature:
git checkout -b feature/algorithm-name
  1. Make your changes and commit:
git add .
git commit -m "Add: Algorithm name implementation"
  1. Push to your branch:
git push origin feature/algorithm-name
  1. Create a Pull Request on GitHub

Contribution Guidelines

  • Follow consistent naming conventions
  • Add proper TypeScript types
  • Include step-by-step algorithm visualization
  • Update this README if adding new features
  • Test your implementations before submitting

πŸ“‹ TODO / Roadmap

Algorithms to Implement

  • String Matching Algorithms (KMP, Rabin-Karp)
  • Branch & Bound Algorithms (TSP, 0/1 Knapsack)
  • Graph Algorithms (Dijkstra, Floyd-Warshall)
  • Sorting Algorithms (Quick Sort, Heap Sort)

Automata Theory Enhancements

  • NFA to DFA Conversion
  • Pushdown Automata Simulator
  • Multi-tape Turing Machines
  • Regular Expression to FA Conversion

Features

  • Save/Load automata configurations
  • Export visualizations as images
  • Step-by-step animation controls
  • Mobile-responsive design

🀝 Team Members

  • Yash Jadhav - Project Lead & Core Development (LinkedIn)
  • Vaishnavi Sawant - Algorithm Implementation & UI/UX Design (LinkedIn)

πŸ“§ Contact

For questions, suggestions, or collaboration:

πŸ“ License

This project is created for educational purposes.

🎯 Learning Objectives

Students using this simulator will be able to:

  • Understand algorithm complexity and visualization
  • Trace through algorithm execution step-by-step
  • Visualize data structures and state transitions
  • Compare different algorithmic approaches
  • Gain hands-on experience with theoretical concepts

Note: This is an educational project designed to help students understand complex algorithms and automata theory through interactive visualization.

About

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages