# Top Resources for Learning AI and Machine Learning from Best-Websites-a-Programmer-Should-Visit

> Discover top AI and machine learning resources curated for programmers. Explore essential links, courses, and textbooks to advance your skills.

- Repository: [Sonkeng/Best-websites-a-programmer-should-visit](https://github.com/sdmg15/Best-websites-a-programmer-should-visit)
- Tags: listicle
- Published: 2026-03-01

---

**The repository curates essential AI and machine learning educational links—including fast.ai, DeepLearning.AI, and foundational textbooks—inside its [`README.md`](https://github.com/sdmg15/Best-websites-a-programmer-should-visit/blob/main/README.md) file, which Jekyll renders as a static site.**

The **Best-websites-a-programmer-should-visit** repository serves as a community-driven index of programming resources. For developers seeking the **top resources for learning AI and machine learning**, the project aggregates textbooks, interactive courses, and open-source libraries in a single, machine-readable markdown file.

## Repository Architecture and Content Location

### README.md as the Primary Data Source

The canonical list resides in [`README.md`](https://github.com/sdmg15/Best-websites-a-programmer-should-visit/blob/main/README.md) at the repository root. Lines 49–68 contain the “Learn AI” subsection, which enumerates textbooks such as *Artificial Intelligence: A Modern Approach*, practical courses like **fast.ai**, and libraries including **TensorFlow** and **Scikit-learn**.

### Jekyll Static Site Generation

The repository uses **Jekyll** to transform the markdown into a navigable website. The [`_config.yml`](https://github.com/sdmg15/Best-websites-a-programmer-should-visit/blob/main/_config.yml) file specifies the `jekyll-theme-architect` theme, which renders the README content as styled HTML. This allows users to browse the **top resources for learning AI and machine learning** via GitHub Pages without cloning the repository.

## Curated AI and Machine Learning Resources

The “Learn AI” section aggregates the most reputable educational materials for practitioners at every level:

- **Artificial Intelligence: A Modern Approach** – The de-facto textbook hub for classical AI concepts and algorithms.
- **fast.ai** – A free deep-learning course that requires only basic math and emphasizes practical coding over theory.
- **DeepLearning.ai** – Andrew Ng’s production-grade deep-learning specialization covering neural networks and deployment.
- **TensorFlow** – Google’s open-source ML library for large-scale numerical computation and model serving.
- **Scikit-learn** – Python’s classic machine-learning toolkit for predictive data analysis and preprocessing.

## Programmatic Access to the Resource List

Because the repository is pure markdown, you can consume the **top resources for learning AI and machine learning** programmatically without rendering the full site.

### Extracting the AI Section with Python

The following script fetches the raw [`README.md`](https://github.com/sdmg15/Best-websites-a-programmer-should-visit/blob/main/README.md) and isolates the “Learn AI” block using regex:

```python
import requests, re

url = "https://raw.githubusercontent.com/sdmg15/Best-websites-a-programmer-should-visit/master/README.md"
text = requests.get(url).text

# Extract the "Learn AI" block (starts with ## 🤖 Learn AI)

match = re.search(r"## 🤖 Learn AI(.*?)(?:\n## |\Z)", text, re.S)

if match:
    ai_block = match.group(1).strip()
    print(ai_block)

```

*Result* – a plain-text list of the AI/ML links shown in the repository.

### Converting Links to JSON with Bash and jq

You can transform the markdown list into structured JSON for downstream tooling:

```bash

# Bash + jq pipeline

curl -s https://raw.githubusercontent.com/sdmg15/Best-websites-a-programmer-should-visit/master/README.md |
awk '/## 🤖 Learn AI/{flag=1;next} /^\s*##/{flag=0} flag' |

sed -n 's/- \[\(.*\)\](\(.*\)).*/{"title":"\1","url":"\2"},/p' |
jq -s '.' > ai_resources.json

```

[`ai_resources.json`](https://github.com/sdmg15/Best-websites-a-programmer-should-visit/blob/main/ai_resources.json) now contains an array of objects, each with a `title` and `url`, ready for integration into a portal or chatbot.

### Validating the Repository Locally

Contributors can verify markdown formatting before submitting changes:

```bash
git clone https://github.com/sdmg15/Best-websites-a-programmer-should-visit.git
cd Best-websites-a-programmer-should-visit
npm install        # installs awesome‑lint (dev dependency)

npm test           # runs `awesome-lint` against README.md

```

The test validates that the markdown follows the **awesome‑list** conventions, ensuring link format consistency.

## Summary

- The **Best-websites-a-programmer-should-visit** repository stores its curated AI/ML links in [`README.md`](https://github.com/sdmg15/Best-websites-a-programmer-should-visit/blob/main/README.md) lines 49–68.
- **Jekyll** and the `jekyll-theme-architect` theme render the markdown as a static GitHub Pages site.
- The list includes industry-standard textbooks, free courses like **fast.ai**, and libraries such as **TensorFlow** and **Scikit-learn**.
- You can programmatically extract the resource list using **Python**, **Bash**, and **jq**, or validate contributions with **awesome-lint**.

## Frequently Asked Questions

### What file contains the AI resources in the repository?

The AI resources are stored in the [`README.md`](https://github.com/sdmg15/Best-websites-a-programmer-should-visit/blob/main/README.md) file at the repository root, specifically within the “Learn AI” subsection located around lines 49–68. This markdown block contains hand-curated links to textbooks, courses, and libraries.

### How is the website generated from the markdown files?

The repository uses **Jekyll** to convert [`README.md`](https://github.com/sdmg15/Best-websites-a-programmer-should-visit/blob/main/README.md) into HTML. The [`_config.yml`](https://github.com/sdmg15/Best-websites-a-programmer-should-visit/blob/main/_config.yml) file configures the `jekyll-theme-architect` theme, which styles the content. GitHub Pages hosts the generated static site automatically on every commit to the default branch.

### Can I extract the AI resource list programmatically?

Yes. Because the data is plain markdown, you can fetch the raw [`README.md`](https://github.com/sdmg15/Best-websites-a-programmer-should-visit/blob/main/README.md) via HTTP and parse the “Learn AI” section using regex in **Python**, or extract structured JSON using **Bash** combined with `awk`, `sed`, and `jq`. This enables integration with dashboards, chatbots, or internal wikis.

### How do I verify the markdown format is correct when contributing?

Run the repository’s test suite locally. After cloning, execute `npm install` to install the **awesome-lint** dev dependency, then run `npm test`. This validates that your edits follow the awesome-list specification, ensuring consistent link formatting and markdown structure before you submit a pull request.