Skip to content

AliIbrahim174/space-exploration-dsa-simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Space Exploration Mars Station Simulator

A C++ simulation system for Mars mission assignment and space-station resource management, developed using Data Structures, Algorithms, and Object-Oriented Programming.

The project models how a Mars station can manage incoming missions, assign available resources, process mission queues, and generate operational statistics.


Overview

This project was developed as part of a Data Structures and Algorithms course.

The goal was to design and implement a simulation system that manages different types of Mars missions and station resources using suitable data structures.

The project focuses on applying core computer science concepts such as:

  • Queues
  • Priority queues
  • Stacks
  • Object-Oriented Programming
  • Algorithm design
  • Time-complexity optimization
  • Modular C++ system design

My Role

I worked as the team leader in a 3-member team.

My responsibilities included:

  • Leading the team and organizing the project workflow
  • Writing core parts of the C++ code
  • Selecting suitable data structures for different system operations
  • Integrating team members’ code into one working system
  • Optimizing the logic for better time complexity
  • Testing and debugging the final simulation
  • Preparing the project for final submission

The project achieved the full mark.


Key Features

  • Mission assignment simulation
  • Resource management logic
  • Different mission handling mechanisms
  • Priority-based mission processing
  • Queue-based scheduling
  • Stack-based history or completed-operation handling
  • System statistics generation
  • Modular object-oriented structure
  • Input-based simulation flow
  • Output report generation

Data Structures Used

Data Structure Purpose
Queue Handling missions in arrival or processing order
Priority Queue Managing high-priority missions or resources
Stack Tracking completed operations or reversed processing logic
Classes / Objects Representing missions, resources, events, and station logic
Arrays / Lists Storing simulation data and system records

Tech Stack

Category Tools
Programming Language C++
Core Concepts Data Structures, Algorithms, OOP
Development Area Simulation Systems
Course Area Data Structures and Algorithms
Tools Visual Studio / C++ IDE

System Workflow

Input File / Mission Data
        ↓
Mission Creation
        ↓
Mission Queue Management
        ↓
Priority and Resource Assignment
        ↓
Mission Execution Simulation
        ↓
Completed Mission Tracking
        ↓
Statistics and Output Report

Project Structure

Update this section according to the actual repository files.

Recommended structure:

space-exploration-dsa-simulator/
  README.md
  src/
    main.cpp
    Mission.cpp
    Mission.h
    Station.cpp
    Station.h
    Event.cpp
    Event.h
  include/
    Queue.h
    PriorityQueue.h
    Stack.h
  input/
    sample-input.txt
  output/
    sample-output.txt
  docs/
    project-report.pdf

How to Run

1. Clone the repository

git clone https://github.com/AliIbrahim174/space-exploration-dsa-simulator.git
cd space-exploration-dsa-simulator

2. Open the project

Open the project using a C++ IDE such as:

  • Visual Studio
  • Code::Blocks
  • CLion
  • VS Code with C++ extensions

3. Build the project

Compile the .cpp files using your IDE or a C++ compiler.

Example using g++:

g++ src/*.cpp -o mars_station_simulator

4. Run the simulator

./mars_station_simulator

On Windows:

mars_station_simulator.exe

Example Use Cases

This simulator can be used to model:

  • Mission scheduling
  • Resource allocation
  • Priority-based processing
  • Event-driven simulation
  • Space-station workflow management
  • Data-structure-based system design

Learning Outcomes

This project strengthened my understanding of:

  • Choosing the right data structure for each problem
  • Designing modular C++ systems
  • Applying OOP in a larger project
  • Analyzing and improving time complexity
  • Managing team-based code integration
  • Building simulation logic from problem requirements

Future Improvements

  • Add a graphical simulation interface
  • Add more detailed mission categories
  • Improve reporting and visualization
  • Add unit tests for data structures
  • Add configuration files for custom scenarios
  • Improve documentation for each class and module

License

This repository is currently shared for academic and portfolio purposes.

If this project is extended for public reuse, a formal open-source license such as MIT or BSD-3-Clause should be added.

About

C++ Mars station simulation system using data structures, priority queues, queues, stacks, algorithms, and object-oriented programming.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors