Chương 0: Lời nói đầu
1, Lịch sử kì lạ của cuốn sách
Vào tháng 1/1999, tôi đang chuẩn bị để dạy một chương trình giới thiệu về lớp học về Java. Tôi đã dạy được 3 lần và tôi đang rất chi là nản lòng. Tỉ lệ thất bại của lớp học rất lớn và thậm chí những học sinh đã thành công, mức độ thành công là rất thấp.
Một trong những vấn đề tôi thấy là những cuốn sách. Chúng nó quá lớn, có quá nhiều chi tiết không cần thiết về Java, và không đủ hướng dẫn cao về chương trình. Và họ đều chịu bởi hiệu ứng cửa sập (Trapdoor effect): họ sẽ bắt đầu một cách đơn giản, tiến hành dần dần, và sau đó ở đâu đó của chương 5 trở xuống sẽ mất gốc. Những học sinh sẽ lấy rất nhiều tài liệu, rất nhanh, và tôi sẽ dành phần còn lại của học kì để lấy lại những mảnh ghép kiến thức.
Hai tuần trước ngày đầu tiên của lớp học, tôi dự định viết cho bản thân một cuốn sách. Mục tiêu của tôi là:
+ Nó phải ngắn. Nó giúp học sinh đọc 10 trang chứ không phải 50 trang.
+ Hãy cẩn thận với từ vựng. Tôi cố gằng giảm thiểu thuật ngữ và định nghĩa từng thuật ngữ khi sử dụng lần đầu.
+ Xây dựng dần dần. Để tránh các cửa bẫy, tôi chọn những chủ đề khó nhất và chia chúng thành một loạt các bước nhỏ.
+ Tập trung vào lập trình, không phải ngôn ngữ lập trình. Tôi đã tập hợp tối thiểu thứ cần của Java và bỏ qua phần còn lại.
Tôi cần một tiêu đề, vì vậy, trong một ý tưởng bất chợt, tôi đã chọn Cách Tư duy Như một Nhà khoa học Máy tính.
Phiên bản đầu tiên của tôi hơi thô, nhưng nó đã được sử . Học sinh đọc và hiểu đủ để tôi có thể dành thời gian trên lớp cho những chủ đề khó, những chủ đề thú vị và (quan trọng nhất) để học sinh thực hành.
Tôi đã phát hành cuốn sách theo Giấy phép Tài liệu Miễn phí GNU, cho phép người dùng sao chép, sửa đổi và phân phối cuốn sách.
Điều xảy ra tiếp theo là một phần thú vị. Jeff Elkner, một giáo viên trung học ở Virginia, đã nhận cuốn sách của tôi và dịch nó sang Python. Anh ấy đã gửi cho tôi một bản dịch của anh ấy và tôi đã có trải nghiệm khác thường khi học Python bằng cách đọc cuốn sách của chính mình. Với tư cách là Green Tea Press, tôi đã xuất bản phiên bản Python đầu tiên vào năm 2001.
Năm 2003, tôi bắt đầu giảng dạy tại Olin College và lần đầu tiên tôi dạy Python. Sự tương phản với Java thật ấn tượng. Học sinh phải vật lộn ít hơn, học được nhiều hơn, làm việc trong các dự án thú vị hơn và nói chung là có nhiều niềm vui hơn.
Trong chín năm qua, tôi tiếp tục phát triển cuốn sách, sửa lỗi, cải thiện một số ví dụ và thêm tài liệu, đặc biệt là bài tập.
Kết quả là cuốn sách này, bây giờ với tựa đề kém hoành tráng hơn là Think Python . Một số thay đổi là:
+ Tôi đã thêm một phần về gỡ lỗi ở cuối mỗi chương. Các phần này trình bày các kỹ thuật chung để tìm và tránh lỗi cũng như cảnh báo về các cạm bẫy của Python.
+ Tôi đã thêm nhiều bài tập hơn, từ các bài kiểm tra ngắn về hiểu biết cho đến một vài dự án quan trọng. Và tôi đã viết giải pháp cho hầu hết chúng.
+ Tôi đã thêm vào một loạt các nghiên cứu tình huống-các ví dụ dài hơn với các bài tập, giải pháp và thảo luận. Một số dựa trên Swampy, một bộ chương trình Python mà tôi đã viết để sử dụng trong các lớp học của mình. Swampy, ví dụ về mã và một số giải pháp có sẵn từ: http://thinkpython.com/
+ Tôi mở rộng thảo luận về các kế hoạch phát triển chương trình và các mẫu thiết kế cơ bản.
+ Tôi đã thêm các phụ lục về gỡ lỗi, phân tích thuật toán và sơ đồ UML với Lumpy.
Tôi hy vọng bạn thích làm việc với cuốn sách này và nó sẽ giúp bạn học cách lập trình và suy nghĩ, ít nhất là một chút, giống như một nhà khoa học máy tính.
Allen B. Downey
Needham MA
Allen Downey là Giáo sư Khoa học Máy tính tại Đại học Kỹ thuật Franklin W. Olin
2, Sự nhìn nhận
Rất cám ơn Jeff Elkner, người đã dịch cuốn sách Java của tôi sang Python, đã giúp dự án này bắt đầu và giới thiệu cho tôi ngôn ngữ mà hóa ra lại là ngôn ngữ yêu thích của tôi.
Cũng xin cảm ơn Chris Meyers, người đã đóng góp một số phần cho cuốn How to Think Like a Computer Scientist .
Xin cảm ơn Tổ chức Phần mềm Tự do đã phát triển Giấy phép Tài liệu Miễn phí GNU, giúp tôi có thể cộng tác với Jeff và Chris, và Creative Commons cho giấy phép mà tôi đang sử dụng.
Xin cảm ơn các biên tập viên tại Lulu, những người đã viết về Cách Tư duy Như một Nhà Khoa học Máy tính .
Xin cảm ơn tất cả các sinh viên đã làm việc với các phiên bản trước của cuốn sách này và tất cả những người đóng góp (liệt kê bên dưới) đã gửi các chỉnh sửa và đề xuất.
Bạn đang đọc truyện trên: AzTruyen.Top