Skip to content

Submission Instructions & Project Repository Guidelines

robertogl edited this page Oct 1, 2025 · 1 revision

To be eligible for rewards—and to ensure your project can be evaluated smoothly and fairly—use the steps and repository guidelines below.

Reminder: make sure you already registered your intent to complete a project using the registration form accessible from the project description page.


A) Submission Steps

  1. Create a public GitHub repository Choose an open-source license: BSD 2-Clause or MIT. You may create your repository from our template—follow these instructions.

  2. Upload your MATLAB and/or Simulink solution Do this early to enable collaboration with teammates and to use version control. Follow the Repository Guidelines below so your solution is easy to run, test, and verify with minimal setup.

  3. Notify us for evaluation When ready, complete the submission form on your project’s description page. Use the same email address you used when you first registered.


B) Repository Guidelines

1) Repository Structure

  • Use a clear layout (e.g., src/, data/, models/, docs/).

  • Include a root README.md with:

    • Short project description
    • Setup instructions
    • Steps to run the project
    • Results (figures, plots, pictures, animations, tables)
    • Dependencies and external tools used
    • Contact information (optional)

2) Main Script / Entry Point

  • Provide one main entry point that runs the full system end-to-end with minimal intervention:

    • MATLAB Live Script (.mlx) or MATLAB script (.m), or
    • MATLAB App (.mlapp) with configurable parameters
  • The entry point should:

    • Load data (see Input Data)
    • Initialize models (if needed)
    • Run the processing pipeline
    • Display results (plots, metrics, reports, etc.)
  • Aim for a “one-click run” experience (no code edits required).

3) Input Data

  • If input data are required:

    • Include a small sample dataset in data/sample/ sufficient for a basic test without extra downloads.
  • If the full dataset is large:

    • Provide a download link and instructions in the README.

4) Machine Learning Models

  • If training is involved:

    • Include trained model files in models/.
    • If too large for GitHub, upload to a shared location (e.g., Google Drive, OneDrive) and link in the README.
  • Ensure the main script loads and runs the pre-trained model directly.

5) Dependencies & External Tools

  • List all required toolboxes, add-ons, and third-party libraries in the README.
  • For Simulink projects, specify required blocksets/toolboxes.
  • If using external executables or Python libraries, include installation instructions.

6) Testing & Verification

  • Include a simple test/demo that runs quickly to verify correctness.
  • Provide expected outputs (figures, metrics, logs, etc.) so reviewers can confirm results.
  • (Optional) Add a unit test script in tests/ using MATLAB’s testing framework.

7) Documentation

  • At minimum:

    • A README.md with setup and run instructions
    • Inline code comments explaining key functions
  • If applicable, include a usage guide or report (PDF/Markdown) under docs/.

8) Best Practices

  • Use relative paths (no hard-coded local paths).
  • Ensure the repo runs on a clean MATLAB installation (with required toolboxes).
  • Avoid unnecessarily large files (raw datasets, redundant outputs, etc.).
  • Use .gitignore to exclude temporary or generated files.
  • Commit regularly with meaningful messages.

C) Review & Rewards

If you submit your solution following these steps, we will review it. If the project requirements are satisfied, you will receive the rewards as outlined on the project page and at the time you registered.

Announcements 📢

Host Your Own Custom Challenge! 🎓

We are excited to offer educators the opportunity to host a custom school or class-based challenge using our comprehensive project descriptions. Select a project or trend from our curated lists and tailor the challenge to fit your educational goals. Encourage practical application of knowledge with the incentive of a monetary prize for the best solutions. Contact us here to organize your challenge and create a rewarding experience for your students.

Industry Collaboration 🏭🤝

We invite industry partners to collaborate by supporting existing projects or proposing new ones that align with their interests and expertise. These challenges enable students to tackle real-world problems using MathWorks tools, offering the chance to engage with innovative student solutions and gain fresh insights. This collaboration provides valuable opportunities for talent discovery and potential hiring. If your company is interested, we welcome you to join us. Contact us here.
Clone this wiki locally