Giter VIP home page Giter VIP logo

assignment-bank's Introduction

Numerical MOOC Assignment Bank

Contribute alternative assignments for "Practical Numerical Methods with Python"!

In this course, we believe that what matters is what YOU do. The course content created by the instructors is just the skeleton, to which you have to add flesh and blood to bring it to life.

Did you find a related problem that illustrates one of the concepts we discuss in the course? Did you write an alternative version of a code? Do you want to challenge your peers? Contribute here!

###Index of contributions

Guidelines for contributors

Notebook naming

Use a distinctive title for your notebook and place it in its own folder, inside the 'Lessons.and.Assignments' directory.

Notebook sectioning

Use section headings and organize your writing and your code making the notebook easy to scan. Split code cells if they become too long, and add explanations of what the code is doing, as necessary.

Notebook style

You can apply the numerical-mooc CSS style to your notebook by including the following code in a cell at the bottom of your notebook (but check that the folder location works with your file, or modify as needed):

from IPython.core.display import HTML
css_file = '../../styles/numericalmoocstyle.css'
HTML(open(css_file, "r").read())

The path to css_file above assumes that your notebook is located two folders down from the root of the repository, e.g.

  assignment-bank/
    Lessons.and.Assignments/
      your-assignment-folder/
        your_notebook.ipynb

If you want to use your own style sheet, be sure to add the file in the 'styles' directory and include it as part of your PR.

Copyright notice

Remember to add your authorship on your contributions via a copyright notice somewhere (you of course retain copyright of all that you create). We encourage you to license your content under a Creative Commons license, for others to reuse. CC-BY 4.0 is recommended for your creative works, and MIT license for code: these are permissive, non-intrusive, liberal licenses that ensure you will get credit for your work while having the most impact.

assignment-bank's People

Contributors

akashdhruv avatar bornemeierm avatar cparvini avatar drxyzzy avatar dsrivallabha avatar ealopez avatar fgonzales7 avatar gforsyth avatar labarba avatar ltchasejohnson avatar piyueh avatar tingyu66 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

assignment-bank's Issues

How to organize the submissions to the Assignment Bank?

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?

Paring down size of animations

We need a strict limit on the number of frames in any JSAnimation used in a notebook. I don't think there's a case to made for any animation > 100 frames and the size of the notebooks is becoming an issue.

We're biasing availability of material towards those with faster internet connections which isn't cool.

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.