Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding comprehensive documentation for various autograding configuration and sections #42

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 72 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,73 @@
Tutorial
========
# Tutorial: Getting Started with Submitty Assignment Question Setup and Grading Configuration

Welcome to this comprehensive tutorial on utilizing Submitty for assignment question setup, grading configuration, and interacting with its features programmatically. This guide will walk you through various examples and code snippets stored in a GitHub repository to aid your understanding on question buildings.

### **GitHub Repository Overview:-**

The GitHub repository houses example code snippets and projects that serve as references for users to grasp assignment question setup, grading criteria configuration, and interaction with Submitty’s features programmatically.

### Example Directory Contents
Within the repository, you'll find several directories containing examples covering different aspects of programming and software development using Submitty:

1. **Python , C++ Basics and Loops & Control Structures:**
Examples of simple Python and C++ programs covering basic syntax, control structures, functions, and other fundamental programming concepts.

* **Seek further details:**
[Simple Python](examples/01_simple_python),
[Simple c++](examples/02_simple_cpp),
[Multipart](examples/03_multipart),
[Loop Types](examples/06_loop_types),
[Loop Depth](examples/07_loop_depth).


2. **Static Analysis Tools And Java Testing & Coverage Essentials :**
Demonstrations of static analysis tools and techniques for code. These tools help identify potential issues in code without executing it.
* **Seek further details:**
[Python Static Analysis](examples/04_python_static_analysis),
[C++ Static Analysis](examples/05_cpp_static_analysis),
[Memory Debugging](examples/08_memory_debugging),
[Java Testing](examples/09_java_testing),
[Java Coverage](examples/10_java_coverage),
[Resources](examples/11_resources),
[System Calls](examples/12_system_calls),
[Cmake Compilation](examples/13_cmake_compilation).


3. **Graphics based autograding:**
Examples of using Tkinter and GLFW for evaluating graphical user interfaces and cross-platform windowing applications.
* **Seek further details:**
[Tkinter](examples/14_tkinter),
[GLFW](examples/15_GLFW).


4. **Distributed Algorithms and Interaction based autograding:**
Examples related to evaluation of distributed systems interactions and algorithms using Docker.
* **Seek further details:**
[Docker Network](examples/16_docker_network_python),
[Dispatched Action and standard Input](examples/17_dispatched_actions_and_standard_input).


5. **CRUD Operations in SQL :**
Examples demonstrating evaluation for sql based crud operations
* **Seek further details:**
[Postgre Database](examples/18_postgres_database)


### How to Use the Examples

Clone the Repository:
* Start by cloning the GitHub repository to your local machine.

Explore the Directories:
* Navigate through the directories to find examples relevant to your learning objectives.

Review the Code Snippets:
* Open the code files and review the provided examples. Take note of comments and documentation to understand the concepts being demonstrated.

Experiment and Modify:
* Feel free to experiment with the code snippets. Modify them to see how different changes affect the behavior.

Refer to Documentation:
* Utilize Submitty’s documentation alongside the examples to deepen your understanding of assignment setup, grading configuration, and other features.

With the provided examples and this tutorial, you're equipped to delve into Submitty's capabilities for assignment management and grading configuration. Whether you're a student, instructor, or developer, these resources serve as valuable aids in mastering Submitty's functionality.