TL;DR

Elias Yilma - kỹ sư phần mềm kiêm tác giả solo - đã bỏ ra nhiều năm để xây dựng một cuốn sách 670+ trang về Data Structures & Algorithms, nhưng không phải sách thông thường. Mọi đoạn code đều chạy được ngay bên trong sách, mọi thuật toán đều có visualization tương tác, và toàn bộ hoạt động hoàn toàn offline. Giá $35, không subscription, không DRM.

Interactive visualization về Array complexity trong cuốn sách

Vấn đề với sách giáo khoa cũ

Học DSA từ sách thông thường có một vấn đề cốt lõi: bạn đọc đoạn pseudocode, cố hình dung nó chạy ra sao trong đầu, rồi tự implement - và fail. Rồi đọc lại. Rồi fail lại.

CLRS (Introduction to Algorithms) là kinh điển, nhưng 1300 trang nặng về toán với pseudocode bạn phải tự dịch trong đầu. Các nền tảng online như LeetCode giải được bài toán luyện tập nhưng thiếu chiều sâu lý thuyết và đòi subscription. Video course thì tuyến tính - bạn không thể "tua lại từng dòng" của một vòng lặp đệ quy.

Đây là khoảng trống mà The Interactive Handbook on Data Structures & Algorithms muốn lấp đầy.

Dưới nắp capô

Cuốn sách được build trên Unity Game Engine cùng một bộ custom tools mà tác giả tự phát triển - animation system, code playback engine, và embedded Python interpreter. Kết quả là một ứng dụng desktop (~1GB) hoạt động hoàn toàn offline, không cần internet, không cần tài khoản.

  • 22 chương từ Complexity Analysis, Arrays, Hash Tables, Sorting, Dynamic Programming đến Graphs, Tries và Bit Operations
  • 300+ visualization được sinh procedurally - bạn nhập giá trị tùy ý và xem thuật toán chạy với data của chính mình
  • 250+ code snippet có thể play, pause, rewind, step-through từng dòng với real-time variable tracking
  • 100+ bài toán đã có lời giải chi tiết, nhiều approach khác nhau, mỗi approach đều có visualization kèm theo
  • Embedded Python IDE - viết và chạy code ngay trong sách, không cần mở terminal

Điều thú vị là mỗi visualization không phải hình ảnh tĩnh - nó được tạo ra on the fly từ input bạn nhập vào. Bạn muốn thử quicksort với array 20 phần tử ngẫu nhiên? Nhập vào và xem animation chạy từng bước. Bạn muốn thấy BFS vs DFS trên cùng một đồ thị tùy ý? Cũng được. Đây là cách học khác hẳn so với xem video YouTube với ví dụ cố định.

So sánh với các phương án hiện có

Tiêu chíInteractive HandbookCLRSLeetCode/AlgoExpertVideo courses
Visualization tương tác300+Không cóHạn chếVideo tĩnh
OfflineHoàn toànPDF / InKhôngMột phần
Embedded codingPython IDE tích hợpKhôngCó (online)Không
Thanh toán$35 một lần~$80 bản in$20-35/tháng$10-200
Cập nhậtMiễn phí trọn đờiEdition mớiLiên tụcKhông

Hạn chế cần biết

Không có sản phẩm nào hoàn hảo. Một số điểm cần cân nhắc trước khi mua:

  • Giao diện cố định 16:9 - chưa responsive, chưa tối ưu cho màn hình ultra-wide hay 4K. Tác giả đã thừa nhận và đang cải thiện.
  • Không hoàn tiền - do tính chất sản phẩm số. Hãy dùng 40 trang preview trước khi quyết định.
  • Cộng đồng còn nhỏ - sách mới, chưa có forum hay ecosystem lớn xung quanh.
  • Một số phản hồi trên Lobsters về chất lượng code sample, nhưng phần lớn được làm rõ là hiểu nhầm về cú pháp Python (floor division //).

Giá: $35 (giảm từ $59) - personal license, lifetime access. Sinh viên được discount 35% thêm khi DM @ElijahYilma trực tiếp. Institutional license theo yêu cầu.

Ai nên thử ngay

  • Sinh viên CS & người tự học muốn nắm chắc DSA từ gốc, không chỉ "pass leetcode"
  • Người chuẩn bị phỏng vấn kỹ thuật cần hiểu thuật toán theo chiều sâu, không chỉ memorize pattern
  • Kỹ sư có kinh nghiệm muốn refresh kiến thức nền một cách có hệ thống
  • Giảng viên & bootcamp tìm công cụ minh họa cho bài giảng (institutional license)

40 trang preview miễn phí có sẵn tại cartesian.app - đủ để bạn cảm nhận trước khi quyết định.

Tiếp theo

Elias đang tiếp tục cải thiện responsive design và hỗ trợ màn hình lớn hơn. Updates hoàn toàn miễn phí cho người đã mua. Dự án solo nhưng tác giả phản hồi khá nhanh - có thể DM thẳng trên Twitter.

Nguồn: cartesian.app, Hacker News.