## Table of Contents

The below JavaScript notebooks are samples/boilerplates to start experimenting/building. Click on each link to play around with the code.

### Introductory Notebooks #

- Hello-world for JavaScript Notebook. An introductory notebook with a hello-world example.
- Using curr_cell function in Scribbler. A special function in Scribbler to identify the dom of current cell.
- For-loop vs Reduce Performance Comparision. Compares performance of for-loop in javascript with that of the native function reduce.
- Alternating Sequence. Sum of sequences, shows usage of for-loop and simple plotting.

### Graphs/Plotting #

- Plotly graphs Example in JavaScript. Shows usage of Plotly library for plotting graphs in the browser.
- Using DI-Libs for Plots. Plotting graphs suing the library - di-libs.js.
- Crypto-Plots. Plotting crypto-currency timeseries with data from API calls.

### Financial Computation #

- Option Pricing using Black-Scholes. Pricing options using the famous Black-Scholes formula.
- Option Pricing using Monte-Carlo Simulation. Pricing options using Monte-Carlo simulation of the underlying price movement.

### Simulation #

- Monte-Carlo Simulation of AMM - Automated MArket Making. Simulating Automate-Market-Making for assets in a decentralized exchange.
- Simple Simulation Example. Simulation of a physical system - a ball bouncing off four walls.
- Option Price Simulation.
- Monte-Carlo Simulation of Goals. Simulation of football goals and probability of winning.
- Dynamic System Simulation - Bouncing Ball on Moving Boundary. Simulation of a physical system - a ball bouncing off four walls but with one of the walls oscillating.

### Scientific and Mathematical Computation #

- Numerical Recipes in JavaScript. Several numerical methods for solving equations and doing integration.
- Regula Falsi Method for Solving Equations. An ancient method for solving equations.
- Fibonacci Sequence and Golden Ratio. Convergence of ratio of sebsequent number is Fibonacci series to the Golden Ratio.
- Runge-Kutta Method for Differential Equations. A numerical method for solving ordinary differential equations

### Functional Programming and Libraries #

- Array Functions in JavaScript. Array functions in JavaScript help in functional programming and making succinct code without loops.
- Using Underscore.js. Underscore.js is a library with utilities in JavaScript.
- Functional Code for Numerical Analysis. Functional code for finding roots, derivative and inverse of functions.

### Machine Learning #

- Decentralized ML Using Brain.js. Machine learming in the browser using Brain.js and storing the model as JSON in the local system. Can be modified to store the model in IPFS/Torrents.