Main Page: Difference between revisions

(→‎Dive Right In: update with queries)
Line 26: Line 26:
If you want to learn more about the motivation and ideas behind the project, please read on below this block.
If you want to learn more about the motivation and ideas behind the project, please read on below this block.


{| class="wikitable"
{{TablePreview|pagetitle=[[Quick_Overview]] | desc=
!colspan="2" |  '''[[Quick_Overview]]'''
This page gives you a quick overview of the project, its structure and how you can use it. |
|-
code=
| style="width:20%; vertical-align:top; text-align:left; padding: 10px" | This page gives you a quick overview of the project, its structure and how you can use it.
#defaultView:Graph
| [[File:Graph-simple.png|500px|link=[[Quick_Overview]]]]
PREFIX wd: <https://graphit.ur.de/entity/>
|-
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
|}
SELECT ?topic ?topicLabel ?pre ?preLabel ?post ?postLabel ?rgb ?edgeLabel
WHERE {
{
  VALUES ?prop {wdt:P1}
  { SELECT * WHERE {
  { SELECT ?goal ?goalLabel ?topic ?topicLabel ?rgb WHERE {
    {
    BIND (wd:Q149 as ?goal).
    ?goal ?prop ?topic.
    } UNION {
      VALUES ?topic { wd:Q149 } # we also want to include the root node itself
    }
   
  }
  }
  ?topic ?prop ?pre.
  }
  }
 
  Union
 
  { SELECT * WHERE {
  { SELECT ?topic ?topicLabel ?goal ?goalLabel ?rgb WHERE {
    {
      BIND (wd:Q149 as ?topic).
      ?goal ?prop ?topic. 
    }
  }
  }
  ?post ?prop ?topic.
  }
  }
  ?edge ?dummy ?prop ; rdf:type wikibase:Property. # edge labels
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
}
}}


{| class="wikitable"
{| class="wikitable"
Line 38: Line 75:
|-
|-
| style="width:20%; vertical-align:top; text-align:left; padding: 10px" | This page contains a detailed documentation of the graph structure and how it is used to organize the graph using diagrams and example queries.
| style="width:20%; vertical-align:top; text-align:left; padding: 10px" | This page contains a detailed documentation of the graph structure and how it is used to organize the graph using diagrams and example queries.
| <gallery mode="packed-hover">
| <gallery mode="packed" heights=200px>
File:Graph-structure.png | The base structure
File:Graph-structure.png | The base structure
File:Graph-structure-Course.png | Connection of courses
File:Graph-structure-Course.png | Connection of courses
File:Graph-simple.png | Dependencies and use
</gallery>
</gallery>
|-
|-
|}
|}
{{TablePreview|pagetitle=[[ExampleStudent]] | desc=
This page show how to a student can use the graph to organize their curriculum and to view their personal usage of it.|
code=
#defaultView:Graph
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wd: <https://graphit.ur.de/entity/>
SELECT ?item1 ?image ?item1Label ?item2 ?image2 ?item2Label ?edgeLabel ?rgb WHERE {
  VALUES ?item1 {wd:Q157}
 
  ?item1 ?prop ?item2.
  ?edge ?dummy ?prop ; rdf:type wikibase:Property.
  # Color Coding:
    bind (if(?prop = wdt:P25, "e8fcff", # participates in (blue)  f3fdff
          if(?prop = wdt:P12, "e3ffd9", # has completed (green)
          if(?prop = wdt:P23, "ffeec2", # interested in (orange)
      "FFFFFF" ))) as ?rgb).
 
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
} ORDER BY ?prop
}}
{{TablePreview|pagetitle=[[Courses/CGBV]] | desc=
This page gives an overview and helpful queries over the course "Computergraphik und Bildverarbeitung", to show what the graph can do to give students an overview of the course of study, fundamentals usefull items and their prerequisites. |
code=
#defaultView:BubbleChart
PREFIX wd: <https://graphit.ur.de/entity/>
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
SELECT DISTINCT ?prerequisite ?prerequisiteLabel ?dependencies
WHERE {
  {
  SELECT ?prerequisite ?prerequisiteLabel (COUNT(DISTINCT ?item) as ?dependencies) WHERE {
    ?item wdt:P1 ?prerequisite.
  } GROUP BY ?prerequisite ?prerequisiteLabel
  }
  ?item wdt:P1 ?prerequisite.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
}}
{{TablePreview|pagetitle=[[Quiz/CGBV-SL2]] | desc=
This page gives an example on how coursework can be incorporated in and used by the graph |
code=
#defaultView:Graph
PREFIX wdt: <https://graphit.ur.de/prop/direct/>
PREFIX wd: <https://graphit.ur.de/entity/>
select distinct ?item ?itemLabel ?quiz ?quizLabel ?dependency ?dependencyLabel
where {
 
  BIND (wd:Q451 AS ?quiz).
  ?quiz wdt:P14 ?item.
  OPTIONAL {?item wdt:P1 ?dependency.}
  service wikibase:label { bd:serviceParam wikibase:language "en" }
}
}}


{{TablePreview|pagetitle=[[Feature_Demo]]|desc=
{{TablePreview|pagetitle=[[Feature_Demo]]|desc=

Revision as of 12:14, 26 September 2023


Welcome to GraphIT

This project at the University of Regensburg investigates how dependency graphs can be used to model courses, curricula, and personal learning progress. The initial focus lies on courses in higher education. This prototype is built on Wikibase, the knowledge-graph platform powering Wikidata.

Here's a dependency graph of all learning content currently in the prototype. Please scroll down to learn more.

    • Important:** This platform is always work in progress. Please let us know if you find problems or find that important information is missing. Editing the Graph is only allowed for registered users.

Dive Right In

The following pages give a good overview of concepts and content within GraphIT. If you want to learn more about the motivation and ideas behind the project, please read on below this block.

Quick_Overview
This page gives you a quick overview of the project, its structure and how you can use it.


GraphStructure
This page contains a detailed documentation of the graph structure and how it is used to organize the graph using diagrams and example queries.
ExampleStudent
This page show how to a student can use the graph to organize their curriculum and to view their personal usage of it.


Courses/CGBV
This page gives an overview and helpful queries over the course "Computergraphik und Bildverarbeitung", to show what the graph can do to give students an overview of the course of study, fundamentals usefull items and their prerequisites.


Quiz/CGBV-SL2
This page gives an example on how coursework can be incorporated in and used by the graph


Feature_Demo
This page gives a couple of examples of what the graph can do.


Why GraphIT?

What should students learn? Which topics should be covered in a given course of study? These are difficult questions:

The more the knowledge of mankind grows, the more specialized the courses need to be that a university offers. Of course, specialized courses can no longer cover the same breadth of knowledge as classical courses of study. Therefore, we need to constantly redefine what the essential core of a subject is.

On the other hand, in a networked world, interdisciplinary courses of study are valuable. In these, we can no longer teach knowledge and competencies of the parent subjects in the same depth, but must redefine which of these are absolutely necessary for the study goal.

At the same time, students' prior knowledge is becoming more and more heterogeneous due to more open educational pathways and opportunities for digital learning. Also, their goals and opportunities differ a lot. A "one-size-fits-all" degree program will do less and less justice to these students. Instead, we need to find ways to support students in their individual learning goals and speeds while providing them with guidance, support, and education.

Our processes for developing curricula and courses no longer meet these complex and ever-changing demands. Manual labor and gut instinct still prevail in the organization of studies and the development of curricula.

Basic Concept

In the GraphIT project, we develop a dependency graph of learning content. Each node in the graph represents a learning content (or topic) . An edge in the graph indicates which further topics build on the current topic (i.e., depend on it).

Such a graph can structure the content of a single course, a curriculum, a discipline, a university, or the whole world (in theory :) ).

For any given topic, the necessary prerequisites can be retrieved from the graph. When open educational resources (OER) or examinations get linked to every topic, students get a flexible tool for self-study and self-assessment.

Applications

Envisioned applications:

Educators

  • collect topics and build curricula and course syllabi.
  • identify central and irrelevant topics by looking at the graph.
  • attach OER and other resources to topics and re-use these
  • create optimal paths through a curriculum, i.e. identify which topics should be taught in which order
  • monitor students' progress and identify bottlenecks, i.e. topics where many students struggle
  • ...

Students

  • follow a pre-defined or custom path through a set of topics
  • find out what the best path to learning a certain skill is
  • track own achievements and compare to individual goals or others
  • find new, interesting things one can learn with the knowlede one already has
  • ...


(Do you have further suggestions? Please tell us via Discord or email!)

Questions and Challenges

There are quite a few obvious and less obvious challenges and open questions. The goal of the GraphIT project is to explore these questions by implementing a prototype and evaluating it in practice.

  • Can this concept really work?
  • How large should a topic be in order to be both useful an managable?
  • Learning is more complex than just 'checking off' topics that one has learned. How do we include repetitions, different grades of learning (c.f. Bloom's taxonomy), or 'soft skills' in such a graph?
  • How could one use this graph?
  • Which tools are needed in order to efficiently work with a really large graph? (We are developing these at the moment)
  • Can intelligent tools (AI!) help with managing, modifying, and updating a large graph?
  • Which visualizations and aggregations of the graph are most helpful?
  • How can people from different disciplines and institutions, and with different viewpoints collaborate within one large graph?
  • Should there be one large graph or many small ones?
  • How can we build a platform that is as open and flexible as possible while still maintaining consistency and protecting personal data?

Status and Roadmap

As of June 2023, we are finalizing our infrastructure, building up a prototype graph, and developing experimental tools for working with graphs.

Previously, we discussed the concept with a few people, developed a prototype (also using Wikibase) that we scrapped again, and researched related projects.

About / Contact

This is a project by the Physical Digital Affordances Group / Chair of Media Informatics at the University of Regensburg

Primary contact: Raphael Wimmer (email)

Current Contributors: Alexander Weichart, Leonie Schrod

You can also find us on the GraphIT Discord server

The project is supported by a small grant from the Bavarian State Ministry for Science and the Arts via the Center for University and Academic Teaching (ZHW) at the University of Regensburg.