## Get started

You need a modern workflow (Linux, Git and VSCode) to get started.
- [How to get a Linux terminal](https://book.jinguo-group.science/stable/chap1/terminal/)
- [How to use Git for version control](https://book.jinguo-group.science/stable/chap1/git/)
- To install code/document editor VSCode, please refer [VSCode website](https://code.visualstudio.com/) for the installation guide.

This book "Willmore et al., 2017 - Introduction to scientific and technical computing" is also recommended.

## Conduct a survey
- Use [Google Scholar](https://scholar.google.com/) to search for the researchers you are interested in, and follow them to get updated with the latest research.
- Use [Zotero](https://www.zotero.org/) to manage your references.

For more details, please refer [how to conduct a literature survey?](conduct-survey.md).

## Technical writing

- In the informal writing such as web/blog/code, you can use the [Markdown](https://www.markdownguide.org/), please check [the markdown setup guide](markdown-vscode.md).
- For publishable writing, please use [Typst](https://typst.app/) or LaTeX. Please check the [typst template folder](typst/) after going through [the markdown setup guide](markdown-vscode.md).

## How to program?

- We recommend using Julia for scientific programming: [Julia Installation Guide](https://book.jinguo-group.science/stable/chap2/julia-setup/)
- You must use **git** to manage your code, and use **pull requests** to submit your code. Please refer to [this guide](https://book.jinguo-group.science/stable/chap1/git/) for more details.
- Follow the [Agile software development](https://en.wikipedia.org/wiki/Agile_software_development) methodology.
- **Remove uncertainty**, you can get help from me, or the community, e.g. https://julialang.org/community/
  - I want to ..., but I don't know how to start.
  - Is there any good example/existing code about...
  - Is it possible to help me review my code? Ref: [Blog: The Best Way to Do a Code Review on GitHub](https://linearb.io/blog/code-review-on-github)

  Whenever you have a bug in your code, please provide a [minimal reproducible example (MRE)](https://en.wikipedia.org/wiki/Minimal_reproducible_example) to help others understand your problem.

