Chỉ cần một vài suy nghĩ, nếu tôi có thể.
Wendy nói rằng người ta có thể tốt nghiệp với bằng CS, nhưng ít có ý tưởng về thực hành lập trình. Đó không phải là cực kỳ rắc rối, thậm chí khủng khiếp? Điều đáng lo ngại là sự gian lận đã nhấn chìm các khoa tiếng Anh trong thập niên 70: văn học không phải là một tập hợp các ý tưởng mà người ta có thể hiểu và tích hợp, mà là một loạt các 'văn bản' mà học sinh phải trừu tượng hóa và 'giải cấu trúc' ( http: / /www.answers.com/topic/deconloyment ). Hạnh phúc thay, thủy triều thai nhi đang trỗi dậy, có thể bởi vì những người hướng dẫn đã quét sạch trong làn sóng cỏ dại của nó đang nghỉ hưu.
Cách đây nhiều năm - nhiều thập kỷ trước - khóa học đầu tiên về CS đã dạy tôi ngôn ngữ lắp ráp (trước khi C được phát minh) sử dụng các vấn đề thực tế như sắp xếp, băm và tìm kiếm (và, vâng, đệ quy). Khóa học thứ hai của tôi đã dạy thiết kế và hiện thực hóa một trình biên dịch làm việc trực tiếp thực sự. Tôi là một sinh viên bán thời gian tại MIT và hai khóa học đó là tất cả những gì tôi cần để bắt đầu được trả tiền với tư cách là một lập trình viên; và để trở nên có năng suất hơn hai hoặc ba tháng sau.
Vì vậy, sáng nay, nghe thấy tiếng khóc của Wendy, tôi nghĩ rằng chắc chắn MIT, ở tất cả mọi nơi, không thể làm loãng các dịch vụ của mình và đánh lừa học sinh của mình (trong bối cảnh thực hành lập trình) khá là vô dụng. Nhưng khi tôi nhìn vào chương trình giảng dạy EE / CS của MIT, tôi thấy đó chỉ là những gì đã xảy ra:
http://student.mit.edu/catalog/m6a.html
Tôi đặc biệt lưu ý rằng bộ phận sử dụng Python như một / ngôn ngữ giảng dạy! Ý tôi thực sự là! Có vẻ như bằng cấp CS tại MIT có nghĩa là đủ điều kiện để một sinh viên trở thành giáo viên của CS tại MIT. Nói về đệ quy!
Sau đó, tôi đã xem qua đóng góp này cho Mã hóa kinh dị ( http: //www.codinghorror.com/blog/2006/07/separating-programming-sheep-from-non-programming-goats.html ) và nghĩ rằng nó rất quan trọng của cuộc trò chuyện này:
"Tôi là người đến muộn trong cuộc thảo luận này [về dự đoán thành công trong các ứng cử viên lập trình viên], nhưng theo kinh nghiệm của tôi khi là một sinh viên đại học CS 30 tuổi nở muộn, tôi thấy các lớp lập trình là vô dụng, và ít được dạy như chưa được dạy. Tôi chỉ đến một trường cao đẳng cộng đồng và sau đó là Đại học Illinois ở Chicago, nhưng các lớp lập trình giới thiệu là:
"1. Hướng đối tượng, khiến học sinh ít hoặc không hiểu về các phương pháp thủ tục, và
"2. Các lớp học hết. Các lớp học chủ yếu bao gồm các mô tả về các loại vấn đề khác nhau và toán học đằng sau chúng, thay vì ayntax và cấu trúc, mà mọi người được cho là chỉ đọc cuốn sách.
"Mã hầu như không được thừa nhận trực tiếp cho đến khi lõi Cấu trúc dữ liệu, và sau đó nó vẫn phụ thuộc vào người hướng dẫn mà bạn có, một số rất nhẹ mã và một số mã nặng. Bạn có thể nói rằng đó là một sự cám dỗ lớn đối với giáo viên về ánh sáng mã tại thời điểm này, bởi vì nếu họ tập trung vào mã, họ cũng sẽ phải tập trung vào việc dạy các sinh viên đã tham gia khóa học về khoa học máy tính trong hai năm để lập trình.
"Vì mã hóa là sở thích của nhiều người trẻ, tôi nghĩ rằng các tổ chức giáo dục đã dựa vào đó để thiết lập các đường cong học tập dự kiến của họ, khiến những người không có kinh nghiệm lập trình khi họ vào trường không có lựa chọn nào khác ngoài lừa đảo như điên, tiêu hết về thời gian rảnh rỗi của họ để học mã, hoặc chuyển đổi chuyên ngành. Và đó không hẳn là sự thiếu hụt trong suy nghĩ trừu tượng trong kinh nghiệm của tôi, bởi vì tất cả mọi người tôi biết, người đã bỏ học CS đều kết thúc ở Kỹ thuật điện, không có gì để bắt đầu Trên mặt trận trừu tượng. Họ vẫn không biết cách lập trình, trong khi làm toán mà tôi không thể tạo ra đầu hay đuôi. Những ký ức ngớ ngẩn nhất:
"1. Java là ngôn ngữ lập trình bắt buộc. Tôi sẽ không bash Java ở đây, nhưng sẽ không tốt nếu học sinh phải học bộ sưu tập rác của riêng mình? Và sẽ không phải là một điều hay để học, ngay cả khi chúng tôi không bao giờ quyết định lập trình bằng ngôn ngữ với họ một lần nữa?
"2. Học một lớp cốt lõi về lý thuyết hệ điều hành, sau khi bị Java sử dụng và phát hiện ra nó ở C (dĩ nhiên) mà không có một lớp C nào trong khuôn viên trường?
"Tất nhiên, tôi ba mươi tuổi và cũng là một trong những người luôn lập trình, vì vậy tôi không gặp vấn đề gì, nhưng tôi đã thấy nhiều người mà tôi biết là giỏi trừu tượng hơn tôi (từ lớp Compus, DiffEQ và các lớp vật lý trước đây ) và sự đau đớn hoàn toàn của họ khi cố gắng hoàn thành một chương trình đã được xếp chồng lên họ. "
Chỉ là một vài điểm dữ liệu, nhưng, như những người khác đã nói, ám ảnh.
- Pete