visualization of educational curricula using d3
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
6002-questions
6002
bower_components
css
exercises
js
meteor-questions
meteor
misc_scripts
neuralnets
qsort module
questions
quizzes
scripts
.gitignore
6002.yaml
AVL.yaml
Astar.yaml
Procfile
README.md
Vagrantfile
app.js
app.ls
compilers.yaml
crypto.yaml
curriculum_tree.html
curriculum_tree2.html
dark.png
discover_meteor.yaml
graph.yaml
graph_mergesort.yaml
graph_old.yaml
graph_parents.yaml
index.html
lighter.png
meteor.yaml
mkcurriculum.html
ml.yaml
module_tree.html
neuralnets.yaml
neuralnets_slides.yaml
package.json
qsort.yaml
repeated_rsync.sh
runserver
runserver.bat
runserver.js
runserver.ls
slideview.html
ubuntu_setup.sh
videoviewer.html
webdev_concepts.yaml

README.md

curriculum visualization

Demo

A live demo of this code is at http://csnet.herokuapp.com

Hovering over a node will highlight the associated nodes.

  • blue = depends
  • orange = parents

Curriculum Network

The curriculum network is located in graph.yaml

Each node (representing a topic) can be associated with a list of depends and parents.

Prerequisites, setup, and running

First git clone this repo (never used git before? see here) and cd to it:

git clone https://github.com/gkovacs/curriculum-network
cd curriculum-network

Now register for the Bing Search API, go to Account Information, see your Primary Account Key on that page, and paste it into a file .getsecret.yaml inside the curriculum-network directory:

bing_account_key: your_primary_account_key_goes_here

The following setup instructions are platform-specific:

Running on Mac OS X (without Vagrant)

Make sure you have mongodb installed. On OSX, you can install it via (you'll need homebrew installed):

brew install mongodb

Now let's install some tools with npm (you'll need nodejs installed):

npm install -g mongosrv LiveScript node-dev

Install the npm modules it depends on:

npm install

You can start the server by running (this will start a mongodb server locally, automatically compile changed ls files, and start the node server on port 8080):

./runserver

You can then visit http://localhost:8080 to see the page in action

Running on Windows (without Vagrant)

Install chocolatey and use it to install mongodb and nodejs:

choco install mongodb
choco install nodejs

Now let's install some tools with npm:

npm install -g mongosrv LiveScript node-dev

Install the npm modules it depends on:

npm install

You can start the server by running (this will start a mongodb server locally, automatically compile changed ls files, and start the node server on port 8080):

.\runserver.bat

You can then visit http://localhost:8080 to see the page in action

Running on Vagrant (alternative approach, works on both Windows and OSX)

Install vagrant.

Now cd to the curriculum-network directory and run vagrant up (it'll take a while the first time), followed by vagrant ssh:

vagrant up
vagrant ssh

You'll now be logged in inside a virtual Ubuntu environment. Now you can start the server by doing:

./runserver

You can then visit http://localhost:8080 to see the page in action

To ensure that files get synced over when you modify them, run (in a seperate commmand prompt window)

vagrant rsync-auto

URL Parameters

graph_file: you can use it to provide the name of the yaml file you wish to load. example: http://localhost:8080/?graph_file=graph_mergesort.yaml

Graph file format

See https://github.com/gkovacs/curriculum-network/blob/master/graph.yaml and https://github.com/gkovacs/curriculum-network/blob/master/Astar.yaml for examples.

Source Layout

css files are in the css directory

js files are in the js directory

Some js files are generated from LiveScript files (.ls extension). The ./runserver command will automatically watch them and compile them to js files as they are changed.