# Thanh Bui learns how to code
> A programmer's skill is not shown by code that works, but by code that does not work. Coding is making mistakes—the more mistakes, the more experience.
## Python
- [Data Analysis with Python 2024-2025](https://courses.mooc.fi/org/uh-cs/courses/data-analysis-with-python-2024-2025) ==**MUST**==
- you must be proficient in the following:
- string manipluation
- `for`, `while`
- `def`
- `list`, list index
- `dict`
- `set`
- `assert`
- Libraries/packages:
- `pandas`
- `geopandas`
- `matplotlib`
- [Streamlit](https://streamlit.io/)
- [streamlit blog](https://blog.streamlit.io/)
- [streamlit-101](https://blog.streamlit.io/streamlit-101-python-data-app/)
- [build online cv with streamlit](https://blog.streamlit.io/land-your-dream-job-build-your-portfolio-with-streamlit/)
- [`streamlit` 30Days challenge](https://30days.streamlit.app/?challenge=Day1)
## R
- all books suggested at [Hadley Wickham homepage](https://hadley.nz/), see following
- [R for Data Science](https://r4ds.had.co.nz/)
- [ggplot2: Elegant Graphics for Data Analysis ](https://ggplot2-book.org/)
- [Advanced R](https://adv-r.hadley.nz/) ==**MUST**==
- [R Packages](https://r-pkgs.org/) ==**MUST**==
- [R Markdown: The Definitive Guide](https://bookdown.org/yihui/rmarkdown/) ==**MUST**==
- this is important. `rmd` is the unique goodness that python not even come close. for reproducible report, presentation, or RShiny
- [Mastering Shiny](https://mastering-shiny.org/)
## GIS
- [Geo-Python 2024](https://geo-python-site.readthedocs.io/en/latest/)
- some may duplicate with [Data Analysis with Python 2024-2025](https://courses.mooc.fi/org/uh-cs/courses/data-analysis-with-python-2024-2025), skip if it is no need
- [Automating GIS Processes 2024](https://autogis-site.readthedocs.io/en/latest/index.html)
## Web
- [Full Stack open](https://fullstackopen.com/en/)
- It teaches React, which is a `JS` framework.
- If you come to this, learning a JS on fly should not be an issue.
- `Flask`
- `Django`
### API
- Python Lib: `requests`
- `FastAPI`
- [Postman](https://www.postman.com/)
### WebScraping
- `bs4`
- `selenium`
- [Python3网络爬虫开发实战](https://python3webspider.cuiqingcai.com/0.0-qian-yan) ==**MUST**==
## Dev env
- docker
- docker compose
- github action
## Aglie process
- Jira
- confluence
- github project
- kanban board