Lưu ý: server của tôi ở 50.57.233.96 đã ngừng hoạt động, thay vào đó là server tại 162.250.127.146. Một số nội dung (code, phụ bản) trên đó sẽ được tôi đưa về trang WordPress này. Bản pdf của sách Think Java, tôi đã đưa về: http://162.250.127.146/ebooks/thinkjava.pdf. Xin lỗi vì trước đây đã đưa về dropbox một thời gian nhưng sau đó file này lại bị mất khi tôi dọn dẹp dropbox.

Mã lệnh của cuốn sách “Ngẫu nhiên và xác suất trong mô phỏng máy tính” sau một thời gian thất lạc trên server cũ đã được tôi nén vào file randomness.zip và chuyển đến server mới. Xin lỗi bạn đọc không thể truy cập các file code đó trong thời gian qua.

Lịch trình dịch sách

Mẫu hình IV: Khám phá khoa học thiên về dữ liệu Tự học lấy Haskell Think Python: Cách tư duy như nhà khoa học máy tính Cơ sở xử lý ảnh số Mô hình hóa các hiện tượng vật lý bằng MATLAB Nhập môn vật lý tính toán Think Stats: Xác suất thống kê dành cho người lập trình Ngẫu nhiên và xác suất trong mô phỏng máy tính Những nguyên lý hóa học Think Java: Cách tư duy như nhà khoa học máy tính Think Stats 2: Xác suất thống kê

Sách phát hành tự do

Blog này tập hợp nhiều bài dịch từ các cuốn sách điện tử tiếng Anh, được phát hành theo giấy phép công cộng, như Creative Commons hay GNU FDL. Bạn có thể sử dụng và phân phối nội dung trong tài liệu, và có thể chỉnh sửa, bổ sung nội dung tùy theo mục đích học tập giảng dạy của bạn.  Tuy nhiên phải nêu rõ tên sách gốc tác giả và người dịch (ghi đường link đến trang Web này).

Để đọc một cuốn sách, bạn có thể chọn Menu ở trên ↑ để xem các chương sách lẻ, hoặc click vào bìa sách đặt ở giá dưới đây ↓. Tuy nhiên quyển sách đang trong quá trình dịch thì có thể trong mục lục chưa cập nhật đủ các chương. Khi đó tìm trong Menu là đủ nhất, hoặc bạn kéo xuống cuối trang web để xem “Bài viết mới”, và “Các bài theo tháng”.

Các cuốn sách phát hành tự do gồm có:

  • Mẫu hình IV: Khám phá khoa học thiên về dữ liệu: Đang được dịch từ cuốn sách “The Fourth Paradigm: Data-intensive Scientific Discovery”, Microsoft Press. Phát hành theo giấy phép Creative Commons BY-SA 3.0. (Cũng ở trong Menu Café/Mẫu hình IV.) Mục café này thường là các bài luận, các vấn đề tổng quan trong khoa học, không chứa đựng nội dung kĩ thuật chi thiết hay công thức tính toán.
  • Tự học lấy Haskell (Learn You a Haskell for Great Good): tác giả Miran Lipovača. Một cuốn sách tự học rất thú vị về ngôn ngữ lập trình hàm Haskell nổi tiếng.
  • Think Stats: Xác suất thống kê dành cho người lập trình: Dịch từ cuốn sách “Think Stats: Probability and Statistics for Programmers” của Allen B. Downey. Phát hành theo giấy phép Creative Commons BY-SA 3.0. (Cũng ở trong Menu Thống kê/Think Stats.) Sách này giới thiệu môn xác suất–thống kê cho các bạn đã biết lập trình Python. Ấn bản thứ 2 hứa hẹn nhiều nội dung hấp dẫn.
  • Think Python: Cách tư duy như nhà khoa học máy tính: Dịch từ cuốn sách “Think Python: How to Think Like a Computer Scientist” của Allen B. Downey. Phát hành theo giấy phép GNU Free Documentation License. (Cũng ở trong Menu Python/Think Python.)  Một phiên bản khác của cuốn sách này được hình thành nhờ công sức hợp tác từ ba tác giả: Jeff Elkner, Allen Downey và Chris Meyers.
  • Mô hình hóa hiện tượng vật lý bằng MATLAB: Dịch từ cuốn sách “Physical Modeling with MatLab” của Allen B. Downey. Phát hành theo giấy phép GNU Free Documentation License. (Cũng ở trong Menu MATLAB.) Tôi có soạn ra một bản PDF của cuốn sách này, nhưng dùng cho Octave: một ngôn ngữ có mã nguồn mở với cú pháp giống MATLAB, và một bản khác dành cho Scilab.
  • GIS Commons: Tài liệu hướng dẫn gồm những khái niệm cơ bản trong ngành học hệ thống thông tin địa lý. Tính cấp thiết của môn học và khả năng áp dụng được nêu rõ. Có rất nhiều điểm tỉ mỉ được đề cập, bao gồm cả các mẹo thao tác trên máy tính; mặc dù cuốn sách không soạn riêng cho một phần mềm GIS cụ thể nào.

Sách tự học

Ngoài ra, trong blog còn có một số cuốn sách phục vụ học tập mà các tác giả đã đưa lên mạng. Bạn có thể tự do sử dụng những cuốn dưới đây cho mục đích nghiên cứu, tự học, hoặc dùng làm tài liệu thêm ngoài giáo trình được học trên lớp. Lưu ý rằng với những cuốn sách dưới đây, bạn không thể tạo các bản sao, sửa đổi, hoặc phục vụ mục đích thương mại.

Một số tính năng của blog mà bạn có thể tận dụng:

  • In các bài viết bằng cách nhấn vào nút Print Friendly bên dưới mỗi bài viết. Nội dung bài viết sẽ được chuyển đến một trang web đảm nhiệm việc xếp trang in. Ở đó bạn có thể lược bỏ những đoạn không cần in đến.
  • Dùng RSS (có biểu tượng ngay dưới bài viết) để kết nối đến trang web này, từ đó máy tính sẽ thông báo cho bạn biết những bài mới được viết. Nếu bạn tham gia WordPress thì có thể Follow, tất nhiên rồi!

Bạn thấy nội dung sách có ích? Bạn có thể giúp tôi nâng cao chất lượng bài đồng thời phổ biến các trang viết bằng cách:

  • Gửi phản hồi (comment) ở cuối mỗi bài viết. Có thể chỉ ra những chỗ sai hoặc lỗi trong cách trình bày. Hoặc bạn viết để thông báo cho tôi biết rằng đã dùng tài liệu để bổ sung cho một chương trình học ở trường học nào. Thông tin phản hồi của bạn sẽ rất có ích.
  • Biểu quyết ở cuối mỗi bài viết. (Càng nhiều dấu sao càng tốt!)
  • Bấm vào các nút Google +1 ( ) nếu bạn thấy kiến thức bài viết là chuẩn xác và phong phú, Share Facebook hay Press This nếu thấy tâm đắc với nội dung bài viết. Hãy giúp những bạn đọc khác tìm được thông tin có ích và miễn phí. Là người hoạt động tự nguyện trong việc phổ biến kiến thức, chúng tôi rất cần sự giúp đỡ của các bạn để nội dung các bản dịch sách này trở nên phổ biến hơn.

Phương châm của trang web là phân phối kiến thức khoa học đến đông dảo bạn đọc với hình thức phi thương mại. Trang web có rất ít biểu ngữ quảng cáo (do wordpress tự đưa vào), giúp bạn đọc nhìn nội dung văn bản rõ ràng nhất và trang web sẽ chạy nhanh trên máy tính hoặc thiết bị di động của bạn.

Giới thiệu ebook bên ngoài

Hiện nay, trong bối cảnh Internet ngày càng phát triển lan rộng, có nhiều tác giả tự viết và xuất bản ebook tiếng Việt. Một số sách về những chủ đề gần gũi với blog này, của những tác giả uy tín bao gồm:

  • Phân tích số liệu và biểu đồ bằng R của GS Nguyễn Văn Tuấn (ĐH Garvan – Úc). GS Tuấn đã có kinh nghiệm thực hành tương đối thành thạo với ngôn ngữ lập trình thống kê này. Ông còn viết sách về nghiên cứu khoa học và upload lên YouTube những video về lập trình R.
  • Nhập môn toán tài chính của GS Nguyễn Tiến Dũng và GS Đỗ Đức Thái. GS Dũng hiện công tác giảng dạy toán học tại Toulouse, Pháp.
  • Nhập môn hiện đại xác suất – thống kê (sách ebook miễn phí, NXB Sputnik,  tác giả GS Nguyễn Tiến Dũng và GS Đỗ Đức Thái). Sách dùng gói phần mềm miễn phí gretl.
  • Học toán và dạy toán như thế nào (sách ebook miễn phí, NXB Sputnik,  tác giả GS Nguyễn Tiến Dũng). Tổng hợp từ các bài viết (essay) của GS Dũng trên trang blog của ông.

Những web link (tiếng Việt) có thể bạn quan tâm:

  • Học thế nào – blog về học tập, giáo dục.
  • VinaCode – lập trình & cuộc sống.
  • Vithon – chuyên về khía cạnh kĩ thuật trong lập trình Python

29 responses to “

  1. xin gửi lời cảm ơn đến anh Chiến.Đây là nơi quá tuyệt cho những ai học về computer science.

  2. vũ cao quý

    1 Công việc cao cả,chúc anh sức khoẻ để làm tốt những việc anh đang làm :D

  3. đăng khoa

    cám ơn anh chiến rất nhiều ạ

  4. Khoa

    anh chiến cho em hỏi em viết code bài này có sai j ko? (em giả sử 1 trường hợp la tọa độ ban đầu x,y,z > 0)
    Vẽ quỹ đạo của electron trong điện từ trường tĩnh

    1. Yêu cầu

    Khi electron chuyển động trong điện từ trường đều nó sẽ chịu tác dụng của lực tĩnh điện \vec{F_E} và lực Lorenzt \vec{F_L}:

    \vec{F}=\vec{F_E}+\vec{F_L}=q\vec{E}+q\vec{v}\times\vec{B}
    Khi đó ta có thể xác định gia tốc của electron. Nếu biết được vị trí và vận tốc ban đầu ta có thể xác định được phương trình chuyển động dạng động học của electron x(t), y(t) và z(t). Qua đó, khi biểu điễn f(x,y,z)=const, ta có phương trình quỹ đạo.

    Bài tập này yêu cầu sinh viên sử dụng Matlab để tính toán và biểu diễn đồ thị của quỹ đạo của electron trong điện từ trường tĩnh khi biết trước vị trí và vận tốc ban đầu của nó.

    2. Điều kiện

    1) Sinh viên cần có kiến thức về lập trình cơ bản trong MATLAB.

    2) Tìm hiểu các lệnh Matlab liên quan symbolic và đồ họa.

    3. Nhiệm vụ

    Xây dựng chương trình Matlab:

    1) Nhập dữ liệu vị trí, vận tốc ban đầu của electron và vectơ cảm ứng từ \vec{B}=(0,0,1), vectơ cường độ điện trường \vec{E} của điện từ trường tĩnh.

    2) Dùng các phép toán hình thức (symbolic) để tính lực điện từ tác dụng lên electron, từ đó suy ra gia tốc, vận tốc và phương trình chuyển động của electron.

    3) Vẽ đồ thị quỹ đạo của electron.

    Chú ý: Sinh viên có thể dùng các cách tiếp cận khác không dùng symbolic.
    (em dự đoán quỹ đạo của nó là lò xo xoắn nhưng ko chắc, có gì do không ổn, anh nghi sao??)
    cho em cam on truoc :))
    double t
    e=-1.6*10^(-19);q=abs(e);m=9.1*10^(-31);
    A=input(‘Nhap toa do A = ‘);
    E=input(‘Nhap vecto cuong do dien truong E = ‘);
    B=[0 0 0.001];
    v=input(‘Nhap vecto van toc v = ‘);
    Ro=m*(sqrt((v(1))^2+(v(2))^2))/(q*B(3));
    a=[e*E(1)/m e*E(2)/m e*E(3)/m];
    V=[v(1)+a(1)*t v(2)+a(2)*t v(3)+a(3)*t];
    w=q*B(3)/m;
    R=m*sqrt((V(1))^2+(V(2))^2)/(q*B(3));
    x=A(1)+Ro*A(2)/sqrt((A(1)).^2+(A(2)).^2)+v(1)*t+1/2*a(1)*t.^2+R*sin(w*t);
    y=A(2)-Ro*A(1)/sqrt((A(1)).^2+(A(2)).^2)+v(2)*t+1/2*a(2)*t.^2+R*cos(w*t);
    z=A(3)+v(3)*t+1/2*a(3)*t.^2;
    t=0:1/20:300;
    plot3(x,y,z);
    grid on

    • Ở đây có một chút kiến thức về điện từ mà mình ko biết. Chẳng hạn đại lượng Ro … Trong công thức \vec{F}=\vec{F_E}+\vec{F_L}=q\vec{E}+q\vec{v}\times\vec{B} có lẽ dấu nhân biểu thị tích có hướng. Bạn có thể dùng hàm cross trong Matlab để tính. Chúc bạn thành công.

  5. MINH

    @Khoa cho xin code bài đó hoàn chỉnh được ko bạn _ _”

  6. Huỳnh Đức Tin

    cho mình xin code bài này với , tại nhóm mình gần báo cáo ma vẫn chưa làm được gì hêt, nếu được bạn giúp mình vs gửi mail cho mình Tin95tcv@gmail.com Tks bạn rất nhiu

  7. cho minh xin doan code hoan chinh voi,thanks pan nhiu` lun ak daophaovotinh94@gmail.com

  8. Smile

    Cho mình tham khảo code đó với Email: taxkuoj1995@gmail.com

  9. Tin

    cho minh xin code hoan chinh bai do voi, email ApexPredator191995@yahoo.com

  10. Hóa ra nhờ anh dịch tài liệu của love2d, cảm ơn anh rất nhiều :D

  11. Trung Lê

    Cám ơn anh rất nhiều, nhất là cuốn Think Python em đang tìm hiểu nó và đọc rất say mê.

  12. Understanding online may be comfortable which obviously will undoubtedly be beneficial to your understanding.
    Many online program supply extra service and give you because it allows you to
    interact with others who are understanding the Japanese language use of online learning communities which improve your understanding potential.
    Online lessons vary from business and humanities, health insurance and medicine, disciplines, research and technology, pcs, social sciences, schooling and coaching,
    investments and occupations, and so many more. Along with many choices
    of lessons, a wide selection are also of online schools available.
    Overall, training that is online is significantly less expensive than planning to a normal school since you
    save on travel, period, along with the lessons themselves costless.

    Much of the full time you’re ready with far more and to truly get your diploma
    considerably faster convenience in a online plan than in a classic faculty.
    Acquire online and acquire ahead!

  13. Unlike the rigid traditional class times where the tutor can be obtained for minimal times and at
    distinct time, the online instructors are available
    all the time for help. People could connect to the tutors that
    are online that are professional to clarify principles, concerns and the problems with ease that is excellent.

  14. A chiến ơi, e có thể liên lạc với a bằng cách nào ngoài trên blog này ạ, có một số điều e muốn hỏi anh.

  15. Huy

    Quá hay anh ạ thật là tuyệt với những người trình tiếng anh hơi ‘gà’ như em, chúc anh sức khỏe :)

  16. Lê Thanh Tiền

    Anh ơi có thể cho em xin code bài này với không! em sắp nộp bài rồi mà chưa hiểu gì hết
    thanhtienuft@gmail.com

  17. Anh giúp em viết code chi tiết câu 2 và câu 3 với ạ! em sắp bào cáo rồi,mong anh giúp đỡ ạ
    Tính toán phân bố mật độ năng lượng điện trường

    Mối liên hệ giữa cường độ điện trường và thế điện được biểu diễn bởi biểu thức: *vecto(E)=-grad(V)
    Mật độ năng lượng điện trường có thể được tính bởi công thức: u=1/2*e0*abs(E)^2

    Xây dựng chương trình Matlab:
    1) Nhập hàm điện thế theo hai biến x và y.
    2) Tạo ma trận lưới trên mặt phẳng Oxy với O là gốc tọa độ
    3) Tính toán mật độ năng lượng điện trường tại các nút trên lưới.
    4) Vẽ các đồ thị dạng ba chiều thể hiện phân bố thế điện và mật độ năng lượng điện trường (trục z) tại các điểm trên mặt phẳng (trục x, y).

    • Câu 2 có thể dùng hàm meshgrid và câu 3 thì có thể dùng hàm norm để biểu diễn “độ lớn” (abs) của E. Bạn phải tự viết thôi, hiện mình cũng không có MATLAB trên máy để kiểm tra.

      • Khách

        a ơi cho e mot it tai liêu ve môn co sơ viên tham vơi ạ

      • Về lĩnh vực Viễn thám thì chưa có nhiều tài liệu giấy phép mở. Nếu có, tôi sẽ gửi cho bạn và dịch trong blog này.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s