# 計算思維學院

This document inlines the full text of up to 50 courses, posts and digital downloads each, so it is large — its approximate token cost is in the `x-markdown-tokens` response header. A section that hit that cap says so and links the index that lists the rest. For a links-only index that fits in context, see [compthinking.dev/llms.txt](https://compthinking.dev/llms.txt). For individual pages, send `Accept: text/markdown` on any supported URL.

**When to use this site**

Reach for 計算思維學院 when a user needs information about this creator's online learning offerings on this specific site. It is the right source for these jobs:

- Find or list this creator's courses, posts, and digital downloads (inlined in full in the sections below; a large catalog is included in part, and that section states its true total). Events, membership plans and instructors are indexed in the llms.txt linked above, not here.
- Search by keyword across courses, events, membership plans, and posts at [https://compthinking.dev/search?q=KEYWORD](https://compthinking.dev/search?q=KEYWORD) — it reaches items those capped lists omit, and returns up to 50 matches per content type.
- Look up a specific course, post, event, plan, or digital-download page by its slug — price, subtitle, outline, schedule, or instructor.
- Discover every page, including past events and categories, via the [sitemap](https://compthinking.dev/sitemap.xml).
- Answer "does this creator teach X?" or "how much is course Y?" for this site.

Do not use it for general web search, other creators' sites, or platform-wide account actions — it only describes the content published on compthinking.dev.

**How to call it**

- **MCP server** (best for tools/agents): connect to https://compthinking.dev/mcp and start with `get_platform_info`, then `search_courses` / `search_posts`, then drill into a slug with `get_course_details`, `get_post_details`, `get_event_details`, or `get_lecturer_profile`. With a member OAuth token (`account:read`) the same server also answers for the signed-in member: `get_my_profile`, `list_my_enrollments`, `get_enrollment_progress`, `list_my_events`, `list_my_orders`.
- **Member API** (signed-in member's own data): POST GraphQL to https://compthinking.dev/member/graphql with `Authorization: Bearer` and the `account:read` scope — enrollments with access expiry, last-watched lecture, event registrations, digital products. Those answer what the member has access to, not order records: no order number, coupon code, refund status or invoice. For those, read `viewer.payments` on the same endpoint — the billing history, one node per payment, each with its own `tradeNo`, so a retry is a separate node and nothing joins the attempts of one purchase. `consultingServices` is neither: it lists the services offered against the viewer's courses, and its `meetings` are every undiscarded meeting under the service, booked or not and none of them viewer-scoped; `viewer.consultingMeetings` is the viewer's own bookings and study-group sessions, with a join link on each one that has not ended or been canceled, with `filter: { startedAfter: <unix seconds>, state: ["available", "scheduled"] }` for the upcoming ones. The member notification inbox (`notifications`, `unreadNotificationCount`, `notificationSubscriptions`) is here too, with `markNotificationRead` / `markAllNotificationsRead` / `updateNotificationSubscription` mutations under `account:write`. Obtain the token as described in [auth.md](https://compthinking.dev/auth.md).
- **Markdown**: add `.md` to a page path (`/index.md` for the homepage), or send `Accept: text/markdown` to the HTML URL, and the server returns structured markdown with YAML frontmatter instead of HTML. Either signal works on any path below:
  - `/` (homepage)
  - `/faq`
  - `/search?q=:keyword` (searches courses, events, membership plans, and posts, up to 50 matches per type; add `&type=post` to narrow, `&page=2` to paginate)
  - `/courses` (course index, first page only)
  - `/lecturers` (instructor index, first page only)
  - `/@:slug` (instructor profile)
  - `/courses/:slug`
  - `/posts/:slug`
  - `/plans/:slug`
  - `/events/:slug`
  - `/digital-downloads/:slug`
  - `/categories/:slug`
- **HTTP API**: see the OpenAPI spec at [https://compthinking.dev/openapi.json](https://compthinking.dev/openapi.json).

## Courses

### [Python 網頁爬蟲入門實戰](https://compthinking.dev/courses/py-web-scraping)

> 經典長銷、千人好評的 Python 爬蟲課程

經典長銷、千人好評的 Python 爬蟲實戰課程回來了！本課程是基於熱門爬蟲課程（1200+ 學員、4.9 星好評）的全新錄製增訂版。除了延續講師由淺入深、實務導向的教學風格外，更新增了許多實戰範例如 WordPress 爬蟲、購物網搜尋結果、GitHub 與 YouTube Data API 等。想自動化生活瑣事？想透過程式擷取網路上的公開資訊？學了 Python 卻不知道有什麼實際應用？正在尋找入門難度低且成就感高的 Python 專案？這門課程就是為你而開的！課程特色基於熱門線上課程及暢銷技術書籍全新錄製及增補的最新課程系統化且循序漸進的教學方式，以實務需求為導向。涵蓋爬蟲常用函式庫、資料儲存、表單處理、爬蟲程式被封鎖的常見原因等經驗談以台灣讀者熟悉的網站為範例：新聞網、購物網、PTT、電影資訊、YouTube、證交所網頁等From Practitioner, For Practitioners. 講師是熱門開源程式「PTT 網路版爬蟲」開發者，同時具有大量實務經驗，工作經驗包含：掃描數百萬個 GitHub repos (資料探勘)、網頁及手機 App 爬蟲 (自動化測試)、介接各式政府與企業資料 API 等。適合對象對網路爬蟲程式有興趣想自動化生活瑣事 (例如自動追蹤最新貼文與商品特價，節省資料收集的時間)，化被動資訊接收為主動具備 Python 入門經驗 (知道何謂變數、if 判斷式與迴圈，寫過一些小程式)，想練習低門檻及高成就感的 Python 專案課程試閱(更多試閱章節請參考下方課程單元)

### [Python 練功坊](https://compthinking.dev/courses/py-workout)

> 50 道精選練習題助你掌握 Python 實務觀念

Python Workout: Bitesize Practical Challenges to Sharpen Your Saw專家跟新手的差別就在於刻意練習！本課程是針對 Python 入門者的精選問題集，目的在幫助你快速複習 Python 語言基礎，並了解這些概念在實務上如何運用。這堂課不是另一個面試用的 LeetCode 題庫，而是由業界工程師精心整理，無論是在工作上或自己的 Side Project 中使用 Python 時都會需要的知識點。如果你已經學習過一兩堂 Python 課程，對 Python 有基礎認識（知道什麼是 if 與 for 語句、什麼是 string, list 與 dict），想進一步了解這些概念如何用來處理現實世界的問題，這門課程就是為你而開的！課程內容涵蓋 Python 語言所有資料型態，分為十大主題，每個主題各有 5 題以上的練習題，你可以在 Google Colab (Jupyter Notebook) 的編輯器中直接作答及執行程式碼。每道題目皆附有解答及說明，如果你使用 Python 的經驗少於一年，相信你會從我們精心設計的問題及解答獲益良多！提醒：本課程的主要教材形式為 Google Colab (Jupyter Notebook) 檔案，並非影片。實際內容可以參考下方試閱。課程特色多年 Python 經驗的業界工程師為入門者設計的實務問題集涵蓋 Python 所有資料型態，且延伸介紹重要進階概念如 list comprehension, closure, 物件導向程式設計等每個主題皆包含額外練習題 (Appendix)，讓有興趣者加深學習印象適合對象Python 入門者想掌握實務上會用到的重要概念不喜歡傳統教科書的字典式教法，想透過解題從做中學課程試閱Ch03. Lists and Tuples: Google Colab (需使用 Gmail 帳號登入)；GitHub 上閱讀Ch06. Functions: Google Colab (需使用 Gmail 帳號登入)；GitHub 上閱讀

### [Python 起步走](https://compthinking.dev/courses/python-for-beginners)

> 初學者教程: Python 核心概念與基礎

本專案是 Microsoft Learn - Python for Beginners 的課程筆記與討論區。有鑑於網路上已經有許多優質且免費的 Python 基礎教學 (微軟的這份教材也是其中之一)，我們認為沒有必要重新發明輪子，而應該專注於我們能夠提供的價值。我們了解初學/自學者最大的痛點，不是沒有合適的教材，而是自學過程中可能有許多問題，不好意思問/不知道怎麼問/找不到人可以問。因此在這堂課中，我們會與你一起走過微軟的這份教材，同時提供影片的摘要/筆記，更新原教材中過時的資訊。最重要的是，你可以在討論區問關於這份教材的任何問題，我們會在能力範圍內盡量回答。教材跟討論區都在 GitHub 上，不需要註冊就可以開始上課！不需要註冊就可以開始上課！不需要註冊就可以開始上課 (重要的事情說三次)，但是：如果你想要在討論區發問，你會需要一個 GitHub 帳號如果你想要取得呼叫 API 一節中我們準備好的 SUBSCRIPTION_KEY，你會需要註冊這個課程筆記與討論區https://github.com/Compthinking-Dev/python-for-beginners原教材列表Microsoft Learn - Python for Beginners (有中文字幕，網頁最下方也可以切換網站語言)；也可以在 YouTube 上觀看影片中的範例程式碼及投影片如果你偏好閱讀文章而非觀看影片的學習方式，可以參考同一份教材的文字版本 (最下方可以切換網站語言為中文)教材涵蓋的主題Python 簡介使用 Visual Studio Code使用 Print 方法使用註解字串 (Strings)數字 (Numeric data types)日期 (Date data types)例外處理 (Error handling; try-except-finally)條件判斷式 (if-elif-else)集合 (Lists and dicts)迴圈 (Loops)函式 (Functions)套件與模組 (Modules and packages)虛擬環境 (Virtual environments)呼叫 APIJavaScript Object Notation (JSON)儲存機敏資訊 (Managing keys)裝飾器 (Decorators)教材未涵蓋的內容類別 (class) 的設計和繼承非同步編程 (asynchronous programming)程式設計的基礎知識，例如什麼是變數 (variable)、條件判斷式、迴圈等

## Platform

This site runs on [Loopwise](https://loopwise.com) (formerly Teachify) — a course, event, and digital-product platform for creators.
