{
  "format": "dataset-manifest/1",
  "slug": "stem-education-tool",
  "version": 3,
  "seed": "stem-education-tool:1",
  "engine": 1,
  "engineVersion": "1.0.0",
  "spec": {
    "format": "dataset/1",
    "slug": "stem-education-tool",
    "name": "STEM Learning Insights",
    "tagline": "Interactions among students, classrooms, assignments, coding challenges, and quizzes in STEM education.",
    "description": "Students engage enthusiastically in STEM subjects, participating in various assignments and coding challenges designed to enhance their skills. In this vibrant educational environment, classrooms are filled with learners collaborating on projects and tackling quizzes that assess their comprehension and mastery of the material. Each classroom consists of multiple students, with specific assignments tailored to their learning objectives, promoting both individual and group learning experiences.\n\nThe tables relate closely to one another, with rows in the students table detailing individual learners, including their names, grades, and unique identifiers. The classrooms table connects to students through classroom IDs, indicating the environment where each student learns. Assignments are linked to both classrooms and students, highlighting which tasks are completed by which learners. Coding challenges also tie into the classroom structure, offering unique tasks that may appeal to certain students based on their interests and skills. The quizzes table captures the various assessments students undertake, linking back to both individual students and the assignments they correspond to, allowing for comprehensive tracking of performance.\n\nThis dataset answers crucial questions regarding student engagement and performance in STEM fields. By analyzing quiz scores, assignment completion rates, and student interactions with coding challenges, you can gain insights into what drives success in these subjects. It provides an excellent opportunity for developers to practice data analysis, relational database design, and insights extraction. The synthetic nature of this data allows for experimentation without real-world implications, making it a safe playground for those looking to hone their skills in educational data analysis.",
    "domain": "education",
    "shape": "hierarchical",
    "useCases": [
      "sql-practice",
      "teaching"
    ],
    "keywords": [
      "STEM",
      "education",
      "student performance",
      "assignments",
      "coding challenges",
      "quizzes",
      "learning insights"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "students": {
        "description": "This table captures the details of each student, including their unique identifiers and associated classroom. Each student can have multiple quiz attempts linked to their ID.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each student."
          },
          "first_name": {
            "kind": "firstName",
            "description": "The student's first name.",
            "nullable": true
          },
          "last_name": {
            "kind": "lastName",
            "description": "The student's last name.",
            "nullable": true
          },
          "classroom_id": {
            "kind": "fk",
            "ref": "classrooms.id",
            "description": "Foreign key linking to the classroom the student belongs to."
          },
          "enrollment_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the student enrolled in the school."
          }
        }
      },
      "classrooms": {
        "description": "This table holds information about classrooms, including the subjects taught and the number of students enrolled. Classrooms are linked to multiple students.",
        "rows": 20,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each classroom."
          },
          "subject": {
            "kind": "enum",
            "values": [
              "Math",
              "Science",
              "Technology",
              "Engineering"
            ],
            "description": "The subject being taught in the classroom.",
            "weights": [
              5,
              4,
              3,
              2
            ]
          },
          "student_count": {
            "kind": "int",
            "min": 5,
            "max": 25,
            "description": "Number of students enrolled in the classroom.",
            "nullable": true
          },
          "teacher_name": {
            "kind": "fullName",
            "description": "The name of the teacher responsible for the classroom."
          }
        }
      },
      "assignments": {
        "description": "This table lists assignments given in classrooms, linking to specific classrooms. Each assignment can have multiple related coding challenges.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each assignment."
          },
          "title": {
            "kind": "title",
            "description": "The title of the assignment.",
            "nullable": true,
            "pool": [
              "Analysis",
              "Research",
              "Presentation",
              "Experiment",
              "Investigation",
              "Project",
              "Study",
              "Report",
              "Review",
              "Assessment",
              "Development",
              "Proposal",
              "Evaluation",
              "Simulation",
              "Design",
              "Workshop",
              "Case",
              "Fieldwork",
              "Survey",
              "Exploration",
              "Challenge"
            ],
            "min": 1,
            "max": 3
          },
          "classroom_id": {
            "kind": "fk",
            "ref": "classrooms.id",
            "description": "Foreign key linking to the classroom that issued the assignment."
          },
          "due_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The due date for the assignment.",
            "nullable": true,
            "trend": "seasonal"
          },
          "is_group_assignment": {
            "kind": "bool",
            "trueRate": 0.3,
            "description": "Indicates whether the assignment can be completed in groups."
          }
        }
      },
      "coding_challenges": {
        "description": "This table contains unique coding challenges associated with assignments, allowing for diverse student engagement in coding tasks.",
        "rows": 60,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each coding challenge."
          },
          "assignment_id": {
            "kind": "fk",
            "ref": "assignments.id",
            "description": "Foreign key linking to the assignment associated with this coding challenge."
          },
          "description": {
            "kind": "paragraph",
            "max": 300,
            "description": "Detailed description of the coding challenge.",
            "nullable": true
          },
          "difficulty_level": {
            "kind": "enum",
            "values": [
              "easy",
              "medium",
              "hard"
            ],
            "weights": [
              50,
              30,
              20
            ],
            "description": "The level of difficulty of the coding challenge."
          },
          "max_attempts": {
            "kind": "int",
            "min": 1,
            "max": 5,
            "distribution": "normal",
            "description": "Maximum number of attempts allowed for the coding challenge."
          }
        }
      },
      "quizzes": {
        "description": "This table tracks students' quiz attempts, capturing their answers and performance metrics for each quiz linked to an assignment.",
        "rows": 500,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each quiz attempt."
          },
          "student_id": {
            "kind": "fk",
            "ref": "students.id",
            "description": "Foreign key linking to the student who attempted the quiz."
          },
          "assignment_id": {
            "kind": "fk",
            "ref": "assignments.id",
            "description": "Foreign key linking to the assignment related to this quiz."
          },
          "score": {
            "kind": "decimal",
            "min": 0,
            "max": 100,
            "scale": 2,
            "description": "The score achieved by the student on the quiz.",
            "nullable": true,
            "distribution": "high"
          },
          "attempt_date": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date and time when the quiz attempt was made.",
            "nullable": true,
            "dayProfile": "waking"
          },
          "is_retake_available": {
            "kind": "bool",
            "trueRate": 0.5,
            "description": "Indicates if students can retake the quiz."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "timestamped",
      "nullable",
      "high-cardinality"
    ],
    "analysisQuestions": [
      "How does student performance vary across different subjects?",
      "What is the average score achieved by students on quizzes?",
      "Which coding challenges are most frequently attempted by students?",
      "How do assignment due dates affect student performance?",
      "What patterns exist in quiz attempts over time?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Students and Quizzes",
        "sql": "SELECT s.first_name, s.last_name, q.score FROM students s JOIN quizzes q ON s.id = q.student_id",
        "dialect": "postgres"
      },
      {
        "title": "Average Scores by Classroom",
        "sql": "SELECT c.subject, AVG(q.score) as average_score FROM quizzes q JOIN assignments a ON q.assignment_id = a.id JOIN classrooms c ON a.classroom_id = c.id GROUP BY c.subject",
        "dialect": "postgres"
      },
      {
        "title": "Performance Over Time",
        "sql": "SELECT DATE_TRUNC('month', q.attempt_date) AS month, AVG(q.score) AS average_score FROM quizzes q GROUP BY month ORDER BY month",
        "dialect": "postgres"
      },
      {
        "title": "Challenges Associated with Assignments",
        "sql": "SELECT a.title, COUNT(cc.id) AS challenge_count FROM assignments a LEFT JOIN coding_challenges cc ON a.id = cc.assignment_id GROUP BY a.title",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Educators Analyzing Student Performance",
        "body": "Educators can utilize the STEM Learning Insights dataset to analyze student performance across various quizzes and assignments. By identifying trends and common challenges, they can tailor their teaching strategies to improve learning outcomes."
      },
      {
        "title": "Developing Educational Software",
        "body": "Software developers focused on creating educational tools can leverage this dataset to simulate real-world classroom scenarios. This allows for enhanced testing of features, ensuring they meet the needs of educators and students alike."
      },
      {
        "title": "Research in STEM Education",
        "body": "Researchers studying the effectiveness of STEM education strategies can use this dataset to investigate correlations between assignment types, coding challenges, and student quiz performance, contributing to evidence-based educational practices."
      },
      {
        "title": "Data Analysts in Education",
        "body": "Data analysts working in educational institutions can use the dataset to generate reports on student engagement and performance metrics. This analysis can inform decision-making at administrative levels, ensuring resources are allocated effectively."
      }
    ]
  },
  "counts": {
    "classrooms": 20,
    "assignments": 100,
    "coding_challenges": 60,
    "students": 200,
    "quizzes": 500
  },
  "stats": {
    "students": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "first_name": {
          "nulls": 20,
          "distinct": 71,
          "min": "Alice",
          "max": "Zoe"
        },
        "last_name": {
          "nulls": 20,
          "distinct": 68,
          "min": "Adams",
          "max": "Zhang"
        },
        "classroom_id": {
          "nulls": 0,
          "distinct": 20,
          "min": 1,
          "max": 20
        },
        "enrollment_date": {
          "nulls": 0,
          "distinct": 184,
          "min": "2020-01-09",
          "max": "2023-12-24"
        }
      }
    },
    "classrooms": {
      "rows": 20,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 20,
          "min": 1,
          "max": 20
        },
        "subject": {
          "nulls": 0,
          "distinct": 3,
          "min": "Math",
          "max": "Technology"
        },
        "student_count": {
          "nulls": 2,
          "distinct": 12,
          "min": 5,
          "max": 24
        },
        "teacher_name": {
          "nulls": 0,
          "distinct": 20,
          "min": "David Schneider",
          "max": "Zoe Johnson"
        }
      }
    },
    "assignments": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "title": {
          "nulls": 7,
          "distinct": 72
        },
        "classroom_id": {
          "nulls": 0,
          "distinct": 20,
          "min": 1,
          "max": 20
        },
        "due_date": {
          "nulls": 15,
          "distinct": 74,
          "min": "2023-01-05",
          "max": "2023-12-29"
        },
        "is_group_assignment": {
          "nulls": 0,
          "distinct": 2,
          "min": "false",
          "max": "true"
        }
      }
    },
    "coding_challenges": {
      "rows": 60,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 60,
          "min": 1,
          "max": 60
        },
        "assignment_id": {
          "nulls": 0,
          "distinct": 45,
          "min": 3,
          "max": 93
        },
        "description": {
          "nulls": 4,
          "distinct": 56
        },
        "difficulty_level": {
          "nulls": 0,
          "distinct": 3,
          "min": "easy",
          "max": "medium"
        },
        "max_attempts": {
          "nulls": 0,
          "distinct": 3,
          "min": 2,
          "max": 4
        }
      }
    },
    "quizzes": {
      "rows": 500,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "student_id": {
          "nulls": 0,
          "distinct": 184,
          "min": 1,
          "max": 200
        },
        "assignment_id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "score": {
          "nulls": 45,
          "distinct": 434,
          "min": 0.02,
          "max": 100
        },
        "attempt_date": {
          "nulls": 57,
          "distinct": 443,
          "min": "2023-01-02 09:44:18",
          "max": "2023-12-31 13:11:27"
        },
        "is_retake_available": {
          "nulls": 0,
          "distinct": 2,
          "min": "false",
          "max": "true"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/classrooms.csv",
      "format": "csv",
      "table": "classrooms",
      "key": "datasets/stem-education-tool/v3/csv/classrooms.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/stem-education-tool/v3/csv/classrooms.csv",
      "bytes": 565,
      "sha256": "618e286dd3601e7deb52bc417f39ffa34599cd00ffe8beb2c2533a278baa7ad3",
      "rows": 20,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/assignments.csv",
      "format": "csv",
      "table": "assignments",
      "key": "datasets/stem-education-tool/v3/csv/assignments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/stem-education-tool/v3/csv/assignments.csv",
      "bytes": 3824,
      "sha256": "fb61e799dcbac1ff5048a98dc72976b03e438a230a186ffa14b6c35b0852f8ad",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/coding_challenges.csv",
      "format": "csv",
      "table": "coding_challenges",
      "key": "datasets/stem-education-tool/v3/csv/coding_challenges.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/stem-education-tool/v3/csv/coding_challenges.csv",
      "bytes": 10329,
      "sha256": "eef3bc521cde699c6fdfc69b3d0370cd82dbf592dcf0600aa946f8556a999d53",
      "rows": 60,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/students.csv",
      "format": "csv",
      "table": "students",
      "key": "datasets/stem-education-tool/v3/csv/students.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/stem-education-tool/v3/csv/students.csv",
      "bytes": 5858,
      "sha256": "6065216337f7740cd1e49f765c4fbe156eec7658e2168526c07fff1876a6606f",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/quizzes.csv",
      "format": "csv",
      "table": "quizzes",
      "key": "datasets/stem-education-tool/v3/csv/quizzes.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/stem-education-tool/v3/csv/quizzes.csv",
      "bytes": 20077,
      "sha256": "b2850d47b2e76ba13a2595d5345ee074bbd3d39094c828d1781f23a03b5cf83d",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "stem-education-tool.json",
      "format": "json",
      "table": null,
      "key": "datasets/stem-education-tool/v3/stem-education-tool.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/stem-education-tool/v3/stem-education-tool.json",
      "bytes": 155736,
      "sha256": "ff98a8fa3461fd058ced6e2bf10279fd0d87e839918e25e6d9f3db0c5d873d34",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/stem-education-tool/v3/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/stem-education-tool/v3/sql/postgres.sql",
      "bytes": 56311,
      "sha256": "5987e553b3868fa9a1fd18a834d40c45c2cb84091c86461a59f0adeb7d83b0c9",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/stem-education-tool/v3/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/stem-education-tool/v3/sql/mysql.sql",
      "bytes": 53604,
      "sha256": "00f9c53423aa08ada7a118d1e4aaa6ab060889ce1c026b4e75d1495cd0ff627b",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/stem-education-tool/v3/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/stem-education-tool/v3/sql/mssql.sql",
      "bytes": 55274,
      "sha256": "8aeada37f75eba633d28edc77d8f79e5cfc1e829c142e6fbdf2b1782711d708c",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/stem-education-tool/v3/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/stem-education-tool/v3/sql/sqlite.sql",
      "bytes": 53362,
      "sha256": "dbf4239a7c422c0d690e6bfb77fd4fb014d3febb7b12a3c61b5475d2f658e9ac",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/stem-education-tool/v3/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/stem-education-tool/v3/prisma/seed.ts",
      "bytes": 126979,
      "sha256": "350e055079bd0c5d037a47d796ae496d082350297dcfa89f6e8bfefe67fead60",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/stem-education-tool/v3/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/stem-education-tool/v3/django/fixtures.json",
      "bytes": 191488,
      "sha256": "2a84a0f3f5e4e3a22d2a80c7485855d9e55d5f1dcc96909c884d56f3b5fedb24",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788768084881,
  "updatedAt": 1789096057431
}
