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

How to organize the submissions to the Assignment Bank? #35

Open
labarba opened this issue Dec 21, 2014 · 8 comments
Open

How to organize the submissions to the Assignment Bank? #35

labarba opened this issue Dec 21, 2014 · 8 comments

Comments

@labarba
Copy link
Member

labarba commented Dec 21, 2014

We need some way to organize submissions to this repository, so they are easy to browse and things can be found. The first thought was that we'd have a new folder for each contribution (where in addition to the .ipynb file there could be figures, data sets, etc.).

Another idea was to prepend a number to the folder name to relate the contributions to the course modules: prepend 01_ for something related to ODEs, 02_ for introductory PDE topics, 03_ for hyperbolic PDEs with first-order time derivative, 04_ for parabolic equations, and 05_ for elliptic equations. But contributions have immediately shown to be more diverse than that!

  • Chase created a "Module 7" starting with the wave equation. This folder could contain related lessons involving hyperbolic PDEs with second-order time derivatives.
  • Matt created a notebook on the Euler-Bernoulli beam equation. This PDE has second-order time derivative but it is not hyperbolic nor parabolic. (Nor elliptic: elliptic equations do not depend on time.) He put it in a folder "Final projects."
  • Cameron submitted his notebook introducing particle-in-cell methods in a folder "cparvini_PICsim."

This will quickly become unwieldy, as we merge in the additional PRs with good contributed lessons. How do we rationalize this?

@akashdhruv
Copy link
Contributor

Students who are (and will be) using numerical-mooc are pursuing majors in different areas of engineering. In my opinion, best way to organise assignment-bank should be according to different topics, i.e. Fluid Mechanics, Heat Transfer, Plasma, etc. We can provide tags to each notebook. For example a notebook containing convective heat transfer problem can be tagged under Fluid Mechanics and Heat-Transfer. If a student wants to browse a notebooks under different topics, he/she just needs to browse for relevant topics. This might be a little difficult to incorporate, but something close to this can be achieved.

@labarba
Copy link
Member Author

labarba commented Dec 21, 2014

That is an interesting suggestion that we never thought about … organized by context and application. Hmmm. Tags are a good idea, for sure!

@gforsyth
Copy link
Contributor

The diversity of projects does present a problem -- either we shoehorn projects into a set of predefined folders (and maybe also a "misc" folder) or otherwise we should probably abandon the notion of directory structure as a navigational aid.

We might be best off creating a table of contents in markdown & one in a notebook. Markdown file can act as the front-page readme and provide links to NBViewer versions of the notebooks, while the ipython notebook version will work locally for opening the appropriate notebook.

How about an initial folder hierarchy with notebooks divided depending on whether they're predominantly about a numerical method vs. about physics

Then each notebook in its own folder (with data, figures, subfolders) within those. Then you can begin tweeting links to individual NBViewer links and we can build up a table of contents to point to them in a more friendly manner, but the notebook locations won't change

@labarba
Copy link
Member Author

labarba commented Dec 22, 2014

The landing page on GitHub can't be an unwieldy list of folders, so to start, we need top-level folders like in the main numerical-mooc repo:

  • Lessons and assignments
  • styles

Within "Lessons," I guess we can have one folder per submission, with whatever name the author gives it, containing the .ipynb and files.

And thus we need a table of contents, like you suggest.

Something like this?
http://nbviewer.ipython.org/github/ipython/ipython/blob/2.x/examples/Notebook/Index.ipynb

@labarba
Copy link
Member Author

labarba commented Dec 22, 2014

Here's an example where the table of contents is in the wiki:
https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks

@gforsyth
Copy link
Contributor

I think I prefer the TOC as a notebook, as that will work both locally and on NBViewer (relative paths linking notebooks work on NBViewer)

@labarba
Copy link
Member Author

labarba commented Dec 22, 2014

Good thinking. Easier to work offline.

@labarba
Copy link
Member Author

labarba commented Dec 27, 2014

I've started an Index notebook, but it seems that it's not going to be that friendly as a long list of submissions, like I'm doing it now.
http://nbviewer.ipython.org/github/numerical-mooc/assignment-bank/blob/master/Lessons.and.Assignments/Index.ipynb

Even that is unwieldy, and perhaps needs a hand classification by broad topics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants