# Tutorial: Documentation with Markdown

In this tutorial, we will learn how to use Github and MarkDown to create SW documentation that describes how to our software.

## Preparation

* [Tutorial: Github](../tutorial-markdown#preparation)
* [Installation of Typora](../../../other-programming/markdown#markdown-editor) (You can also use **Notion**)
* [Understand Markdown Syntax](../../../other-programming/markdown#markdown-editor)

## API Documentation

In this course, you have created some numerical functions to solve mathematical problems. You should make SW documentation that explains your numerical library with some usage examples.

The documentation should contain necessary information such as

* Header File
* Class Name
* Function descriptions: syntax, description of parameters
* Example codes

Some helpful sites for API documentation

* [Opencv Docs](https://docs.opencv.org/3.4.11/d4/d86/group__imgproc__filter.html#ga27c049795ce870216ddfb366086b5a04)
* [Keras docs](https://keras.io/api/models/model/)

#### Also see [Example: API documentation](../../../other-programming/markdown/example-api-documentation#numerical-programming-api)

Create your API(numerical library) documentation for all the functions you have created in class. You should use `markdown` .

* refer to [Example: API documentation](../../../other-programming/markdown/example-api-documentation#numerical-programming-api)

Upload your documentation file in your github repository.

> example: /NumericalProg/docs/NM\_API\_Documentation.md

You may need to add the hyperlink of API documentation in ' /docs/readme.md '

## Next

Library Version Control in Github
