S SmartDocs

Learn Programming, AI and Engineering

In-depth tutorials and teaching materials across programming languages, web development, machine learning, algorithms, robotics and hardware — free and open to everyone.

Browse Categories

Programming Languages

Tutorials on Python, C, C++, Java, JavaScript, TypeScript, Go, R and Haskell — from beginner syntax to advanced techniques.

360 articles 750 Code files 32 PDF

Web Development

HTML5, React, Angular, Next.js, Vite and modern frontend development guides and projects.

85 articles 203 Code files 1 PDF

Backend Development

Server-side development with Node.js, NestJS, Spring Boot, Python backends, sockets, Nginx and payment integration.

123 articles 225 Code files 27 PDF

Algorithms & Data Structures

Sorting, trees, hashing, graph algorithms, KMP, LeetCode practice and algorithm analysis teaching materials.

48 articles 93 Code files 77 PDF

AI & Machine Learning

Machine learning, retrieval-augmented generation (RAG), AI applications and web crawling tutorials.

138 articles 148 Code files 28 PDF

Databases

SQL and NoSQL database design, queries, optimization and practical exercises.

29 articles 26 Code files 3 PDF

Computer Science Fundamentals

Computer organization, operating systems, Linux fundamentals and core computer science theory.

85 articles 5 Code files 109 PDF

Hardware & Embedded Systems

Arduino, RISC-V, MSP430, PLC, Linux drivers and embedded systems engineering.

120 articles 90 Code files 109 PDF

Robotics & Autonomous Systems

ROS 2, humanoid robots, drones and autonomous vehicle systems.

401 articles 185 Code files 6 PDF

Networking & DevOps

Computer networking, TCP/IP, CI/CD pipelines and DevOps practice.

88 articles 3 Code files 1 PDF

Mobile Development

Android and iOS app development tutorials.

2 articles 41 Code files 2 PDF

Quantitative Finance & Blockchain

Quantitative finance, trading systems and blockchain technology.

2 articles 2 Code files

Projects & Case Studies

Real-world projects: payment gateway microservices, full-stack apps, Django backends, RAG systems and more.

40 articles 310 Code files 6 PDF

Latest Articles

C++ Updated 2026-07-29

Ch02:變數與資料型別

學會宣告與初始化變數,理解四種初始化形式的差異 認識 C++ 的基本資料型別(整數、浮點數、字元、布林) 理解固定寬度整數型別(<cstdint)與何時該用它們 搞懂 signed / unsigned 的差別與常見陷阱 了解浮點數的 IEEE 754 表示法,以及為什麼 0.1 + 0.2 = 0.3 掌握型別轉換規則(整數提升、一般算術轉換)與四種 cast 認識位元運算子(&、、^、~、<<、) 區分 const 與 conste

Read article →
C++ Updated 2026-07-27

Ch06 — 指標與參考(Pointers & References)

指標和參考是 C++ 最重要也最容易混淆的概念之一。理解它們是掌握動態記憶體管理、多型、資料結構的基礎。 建議授課時數:2 小時(含 10 分鐘休息)

Read article →
Algorithms Updated 2026-07-24

問題是什麼

3-SAT 布林可滿足性Boolean Satisfiability --- Backtracking DPLL 史上第一個被證明 NP-Complete 的問題:給一堆「三選一」的條件,找出讓全部條件成立的真假指派

Read article →
Algorithms Updated 2026-07-24

問題是什麼

0/1 背包問題0/1 Knapsack --- Dynamic Programming Branch-and-Bound 容量有限、每件物品拿或不拿:NP-Hard 卻有偽多項式解法的代表作

Read article →
Algorithms Updated 2026-07-24

問題是什麼

Subset Sum 與 Partition ,pdfauthor=Algorithms Teaching Series

Read article →
Algorithms Updated 2026-07-24

問題是什麼

N 皇后問題N-Queens --- The Gateway to Backtracking 回溯法的「Hello World」:學會在死路上及早回頭,一輩子受用

Read article →
Algorithms Updated 2026-07-24

問題是什麼

圖著色問題Graph Coloring --- Backtracking Greedy Heuristics 相鄰的點不能同色,最少要幾種顏色?從排課到暫存器分配都是它

Read article →
Algorithms Updated 2026-07-24

問題是什麼

頂點覆蓋問題Vertex Cover --- Exact FPT Branching 2-Approximation 用最少的守衛看住所有走廊:FPT 分支與「保證不超過兩倍」的近似法的最佳教室

Read article →
Algorithms Updated 2026-07-24

問題是什麼

Independent Set 與 Clique ,pdfauthor=Algorithms Teaching Series

Read article →