---
# System prepended metadata

title: Thanh Bui learn to code

---

# 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