Tôi thực sự nghĩ rằng các phương pháp "chính thức" không phải là một ý tưởng tốt cho mục đích giáo dục. Đối với vấn đề đó, lập trình máy tính là một phương pháp "chính thức". Liệu nó có thành công như một công cụ giáo dục?
Điều cần thiết là sự hiểu biết, trực giác và khả năng đối phó với sự trừu tượng. Phương pháp chính thức cản trở tất cả những điều đó. Thay vào đó, họ thúc đẩy thử nghiệm và lỗi, hack, khớp mẫu, bắt chước, tập trung vào cú pháp. Danh sách đi và về.
Bất kỳ phần toán học nghiêm ngặt nào cũng sẽ dạy mọi người cách suy luận chính xác. Tên miền càng đơn giản thì càng tốt. Tất cả những gì tôi học được về lý luận tôi đã học ở trường trung học khi tôi thực hiện nghiêm túc Hình học Euclide. Giải tích và đại số tuyến tính trong trường đại học đã làm phần còn lại.
Một lựa chọn hấp dẫn khác là logic triết học, nơi họ dạy mọi người cách suy nghĩ về các tuyên bố và hiểu nội dung thông tin là gì và hậu quả của những gì. Họ làm điều đó mà không nhấn chìm các sinh viên trong các biểu tượng.
Nếu bạn nắm giữ tất cả các nhà khoa học máy tính hàng đầu, bạn sẽ ngạc nhiên khi có nhiều người trong số họ được đào tạo chính thức về triết học. Chúng ta đang mất tất cả những điều đó vì các sinh viên triết học bây giờ nghĩ về Khoa học Máy tính như một môn học trần tục. Bắt học sinh của chúng tôi học một số triết lý có thể chống lại điều đó ở một mức độ nào đó. Để họ làm việc thông qua Lịch sử triết học phương Tây của Bertrand Russell . Điều đó sẽ làm nên điều kỳ diệu.
Nếu họ làm việc trong lý thuyết ngôn ngữ lập trình, bạn cũng có thể cho họ đọc Quine, người mà tôi coi là "cha đẻ" của ngữ nghĩa học biểu thị. (Quine về cơ bản là thực hiện ngữ nghĩa học ngôn ngữ tự nhiên trong Word và Object , đó là nguồn cảm hứng lớn cho Christopher Strachey. Nhưng cuốn sách này khá khó đọc.) Bộ sưu tập được chỉnh sửa Quintessence là một nguồn ý tưởng hay của Quine cho người mới bắt đầu.
[Lưu ý thêm: Một lợi thế của triết học so với toán học là các sinh viên được xem tranh luận , tức là họ được xem lập luận "đúng" và lập luận "sai" và xem các chuyên gia phá hủy những sai. Trong toán học, người ta không bao giờ thấy một lập luận sai, làm hạn chế giá trị giáo dục của nó.]