GitHub Submission

The repository is the permanent technical record of the project and part of the deliverable. It should let anyone understand, inspect, reproduce, review, and continue the work.

A good repository lets another student, researcher, instructor, or developer:

  • understand the project
  • inspect the data and code
  • reproduce the experiments
  • review the results
  • continue the work

A repository is not just storage; it is evaluated for clarity, completeness, organization, and reproducibility.

What the repository must contain

Fifteen parts, from naming and structure through reproducibility and the final checklist.

1

Repository Name and Overview

Requirements

Give the repository a meaningful name that reflects the project.

Good names
  • clinical-followup-extraction
  • synthetic-email-ranking
  • warehouse-anomaly-detection
Weak names
  • final-project
  • project-code
  • team7
  • new-version-final
Overview

Add a short description covering the problem, the main approach, and the main output.

2

Required Repository Structure

Recommended structure
project-name/
|
|-- README.md
|-- requirements.txt
|-- environment.yml
|-- LICENSE
|
|-- slides/
|   |-- proposal.pptx / proposal.pdf
|   |-- midterm.pptx  / midterm.pdf
|   |-- final.pptx    / final.pdf
|
|-- src/
|   |-- data/  models/  training/  evaluation/  utils/
|
|-- notebooks/
|   |-- 01_data_exploration.ipynb
|   |-- 02_baseline.ipynb
|   |-- 03_experiments.ipynb
|
|-- data/
|   |-- raw/  processed/  samples/
|
|-- configs/
|-- results/
|   |-- metrics/  predictions/  experiment_logs/
|
|-- visuals/
|   |-- visual_abstract.png  pipeline.png  result_figures/
|
|-- tests/

The exact structure may differ, but it must be logical and easy to navigate.

Avoid
  • placing all files in the repository root
  • folders named new, old, temp, or final-final
  • duplicate notebooks with unclear differences
  • committing large unnecessary files
  • mixing code, data, results, and slides
3

README: Project Motivation

What to include

Explain the real-world problem, why it matters, who benefits, and why existing solutions fall short. Keep it concise but specific.

4

README: Problem Statement

What to include

Define the input, the output, the technical task, the target use case, and the important constraints. Add representative input and output examples.

5

README: Visual Abstract

What to include

Add one clear figure that summarizes the project: input, major processing stages, the model or system, the output, and the practical use. It should be understandable without reading the full repository.

6

README: Datasets

What to include

For every dataset, document:

  • name
  • source
  • license
  • number of samples
  • fields or labels
  • preprocessing
  • training, validation, and test splits
  • access instructions
  • known limitations

For generated or labeled data, also describe the generation or collection process, the labeling instructions, the quality checks, and the validation procedure.

Requirements

Do not commit sensitive, restricted, or copyrighted data without permission. When the full dataset cannot be included, provide sample files, download instructions, preparation scripts, and the expected folder structure.

7

README: Models and Pipeline

What to include

Describe the complete flow: the models used, the role of each, preprocessing, training, inference, and post-processing. Include a pipeline diagram, and for each major model explain why it was chosen and how it was configured.

8

README: Data Augmentation and Generation

What to include

Document:

  • why augmentation or synthetic generation was needed
  • the generation method
  • prompts or templates
  • controlled attributes
  • sampling strategy
  • filtering
  • quality checks
  • number of generated samples

Store the important prompts, configurations, and generation scripts in the repository.

Avoid
  • generating data manually without documenting it
  • storing only the final generated files
  • omitting failed or filtered-sample criteria
  • using synthetic test data as the only evidence of quality
9

README: Training Process

What to include

Document:

  • model version
  • initialization
  • hyperparameters
  • batch size
  • number of epochs
  • optimizer
  • learning rate
  • loss function
  • hardware
  • random seed
  • stopping criteria
  • checkpoint selection
Reproduce training

Provide exact commands, for example:

python -m src.training.train \
  --config configs/baseline.yaml
10

README: Evaluation and Metrics

What to include

Explain the test-set construction, the evaluation metrics, the baseline methods, the comparison models, the evaluation scripts, the qualitative evaluation procedure, and human evaluation when used.

Reproduce evaluation

Provide exact commands, for example:

python -m src.evaluation.evaluate \
  --config configs/final_model.yaml
11

README: Results

What to include

Present the main results in readable tables.

ModelAccuracyMacro-F1Latency
Baseline0.780.6520 ms
Model A0.840.7635 ms
Final model0.880.8142 ms

Link to detailed CSV or JSON results, prediction files, experiment logs, and figures. The numbers in the README, the slides, and the result files must match.

12

Reproducibility

Requirements

The repository must let another person run the project. Include:

  • installation instructions
  • a dependency file
  • the Python version
  • environment variables
  • data-preparation instructions
  • training commands
  • evaluation commands
  • an inference example
  • expected outputs

Use relative paths and configuration files; do not depend on undocumented local folders.

Secrets

Never commit:

  • API keys
  • passwords
  • access tokens
  • private URLs
  • personal information

Use environment variables and provide a .env.example file.

13

Code Quality

Requirements

Code should be organized into meaningful modules, readable, documented where needed, free of unused files and hard-coded local paths, consistent in naming, and runnable from a clean environment.

Notebooks should run top to bottom, have clear headings, separate exploration from final experiments, avoid excessive output, and explain important decisions.

Avoid
  • one enormous notebook containing the whole project
  • copied code the team cannot explain
  • code that only runs on one student's machine
  • manually edited result numbers
  • undocumented dependencies
14

Team Members and Contributions

What to include

List every team member and their responsibilities, with concrete contributions such as dataset collection, labeling, model implementation, experimentation, evaluation, interface development, and documentation.

Every member is expected to understand the whole project, not only their own files.

15

Final Submission Checklist

Before submitting, verify that
  • the repository has a meaningful name
  • the README explains the whole project
  • proposal, midterm, and final slides are included in PPT and PDF
  • the code is organized
  • notebooks run correctly
  • dependencies are documented
  • sample data or download instructions are included
  • training and evaluation commands are provided
  • result files are included
  • figures are readable
  • reported results are consistent
  • no API keys or private information are committed
  • all repository links work
  • another person can reproduce the main result

A strong submission shows both the quality of the project and the professionalism of the team.

What good documentation visuals look like

Show, don't just tell. A few well-labeled figures make the input, the processing, and the results legible at a glance. Aim for at least these four, each with a caption, in the README and the visuals/ folder.

before after
Before / after: raw input → processed output
lesion 0.91
Label overlay: box + mask + class
The patient was given ibuprofen 400 mg twice daily for 5 days drug · dose · duration highlighted inline
Highlighted extracted terms in context
field value drugibuprofen dose400 mg duration5 days
Label column: structured extracted fields

Show concrete examples of your data and model

Put concrete examples in the README, and link them from the slides: sample data (images or text), how the data is generated, the model steps, real model inputs and outputs, and several clear error cases.

Sample data (images or text)
Image, chest X-ray 224×224 · label: pneumonia
"App crashes when I upload a PDF over 10 MB."
Text, support ticket → label: bug
How the data is generated or transformed
"Great pizza, fast delivery.""gr8 pizza, delivery was not fast"
Text augmentation: typos and negation injected
Image degradation: clean → motion blur + low light
Model and pipeline steps
raw inputpreprocesstokenize / embedmodelpost-processoutput
Model input and output
"The wifi keeps dropping every few minutes."{ label: network, conf: 0.92 }
"Summarize this clinical note: ...""Intermittent chest pain over two days ..."
input image2 boxes: car 0.94, pedestrian 0.81
Model errors, with the likely cause
  • Predicted spam, true not spam: the model over-weighted a marketing phrase inside a quoted reply.
  • Detected 1 car, missed 1 in heavy rain: low SNR washed out the edges.
  • Generated a dosage not in the source note: retrieval returned an irrelevant passage.

Submission checklist

This is a quick final check, not a replacement for the full guide. Read the complete requirements above first, then use these ten items to confirm the major pieces are in place before you submit.

  • The repository has a meaningful name and a clear one-line description.
  • The structure is logical (src, data, notebooks, results, slides, README).
  • The README covers the motivation, the problem statement, and a visual abstract.
  • Every dataset is documented (source, license, size, splits, access).
  • The models and the pipeline are described, with a diagram.
  • Training and evaluation are reproducible with exact commands.
  • Result tables in the README match the slides and the result files.
  • Concrete examples (data, input/output, errors) are in the README.
  • No secrets are committed, and a .env.example file is provided.
  • Proposal, midterm, and final slides are included in PPT and PDF.