Giter VIP home page Giter VIP logo

shashankatthaluri / dependency_mapping Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.4 MB

"This project endeavors to construct a visual map illustrating dependencies among various concepts. The map facilitates users in comprehending relationships and strategizing their learning journeys."

datavisualization interactivemap knowledgegraph learning conceptmapping dependencyvisualization educationalresources educationaltechnology visualmap

dependency_mapping's Introduction

๐Ÿงญ Dependency Map Project

This project aims to create a visual map of dependencies between concepts. The map will help users navigate relationships and plan their learning.

๐Ÿค” What it does

The dependency map gathers data on prerequisites between topics. It analyzes this data to create a network graph showing which concepts depend on others. This provides a "roadmap" to guide learning in an optimal order. ๐Ÿงญ

For example, the map may show that understanding addition is required before multiplication. Or that Newton's laws depend on kinematics concepts. By revealing these relationships, the map helps users efficiently build knowledge. ๐Ÿง 

How it works

Dependency data is collected from various sources like course materials. Each concept is represented as a node, while prerequisites become directed edges between nodes. ๐Ÿ‘ฅ

The nodes and edges are then analyzed using network science algorithms. This includes partitioning them into layers, finding clusters, and calculating metrics like average path length. ๐Ÿงฎ

Finally, the graph is visualized using force-directed layouts. This places strongly related topics closer together for easier browsing of the "map". Nodes can also be filtered and searched interactively. ๐Ÿ—บ๏ธ

๐Ÿ“š Datasets

We analyzed two datasets:

  1. Khan Academy Math Concepts - Extracted learning objectives and prerequisite relationships from Khan Academy math videos ๐ŸŽฅ. Around 400 topics were used.

  2. Debian Software Dependencies - Contains packages and dependency relationships for Debian GNU/Linux distribution ๐Ÿง. Includes 27,623 packages and 48,138 dependencies.

๐Ÿงช Methodology

The following steps were taken:

  1. Extracted nodes (concepts, packages) and edges (prerequisites, dependencies) to build knowledge graphs ๐Ÿงฎ

  2. Performed graph layering to determine prerequisite "layers" ๐Ÿง‘โ€๐Ÿซ

  3. Analyzed properties like degree distribution, diameter, density using NetworkX ๐Ÿ”ฌ

  4. Visualized graphs using ForceAtlas2 algorithm in Gephi ๐ŸŒ

  5. Discussed results and insights gained about network structure and learning pathways ๐Ÿ’ก

๐Ÿ›  Tools Used

  • Gephi for network graph generation and analysis๐Ÿ”ง
  • Custom Python scripts for preprocessing and analysis

๐Ÿ“Š Results

Some key results:

  • Scale-free structure with power law degree distribution observed
  • Small world phenomenon seen with small diameters (Khan Academy = 8, Debian = 6)
  • Khan Academy graph is less dense(0.997) than Debian(0.999) due to smaller size
  • Clustering reveals communities of semantically similar ideas.
  • Layering revealed "levels" of prerequisites and dependency chains.

๐Ÿ“– References

The data sources and research papers referenced in the project are cited in the Reportfile.

๐Ÿ‘จโ€๐Ÿ’ป Developers

This project was developed by: Atthaluri Shashank

๐Ÿ‘จโ€๐Ÿ’ป Future Work

Potential extensions include:

  • Larger and more diverse datasets
  • Dynamic graph analysis over time
  • Community detection for related concepts/packages
  • Recommendation systems based on graph structure

Let me know if any part of the analysis needs more explanation! Open to all suggestions to improve.

๐Ÿ“š Acknowledgements ๐Ÿ“š Thanks to all the past contributors and users who helped improve this project over the years! Special thanks to the Debian developers for the package dependency data. A Special thanks to Prof. G. Nagarjuna HBCSE Mumbai, India. who supervised me through out the project and taught me many life lessons which are still implemented by me everyday.

dependency_mapping's People

Contributors

shashankatthaluri avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.