Trước hết, chào tất cả các bạn nghiên cứu chuyên sâu về CCGD/Tin học và tất cả các ngành khác.
Có một câu hỏi tôi vẫn luôn thắc mắc từ xưa đến nay. Vốn cấp 3 tôi học chuyên toán, và được học ngôn ngữ lâp trình Pascal. Đến khi lên đại học tôi cũng lại bị học lại pascal, và được giải thích "vì nó dễ hiểu" cũng như từ đó có thể dễ dàng học các ngôn ngữ lập trình khác.
Đã bao năm tôi yên tâm với lời giải thích đó, cho đến khi bắt đầu suy nghĩ và nhìn lại:
1-Nếu như bản chất của việc học là việc mô phỏng những tình huống sẽ xảy ra trong thực tế/ công việc để tạo thành kĩ năng (ví dụ học +-*/), thì tại sao lại cho chúng tôi học những thứ mà không bao giờ có ứng dụng?
Theo tôi hiểu sơ sơ, ngôn ngữ lập trình C không hề khó hơn Pascal, vậy tại sao lại cứ ép chúng tôi phải học Pascal khi một bên dùng hằng ngày, một bên gần giống về lý thuyết mà chả bao giờ dùng. Phải chăng chỉ vì giảng viên chỉ biết có Pascal nên chúng tôi cũng phải như vậy?
2-về khía cạnh sử dụng thực tế, tại sao không dạy chúng tôi những cái rất đơn giản mà rất cần thiết như CSS, cài Windows, lập trinh html, lập trình web và java, sử dụng linux và unix, còn Pascal thì để tự hiểu là đủ? Và về khả năng phát triển đê nghiên cứu chuyên sâu thì tất cả đều hơn xa pascal.
Ai có thể cho tôi lời đáp?
Trước hết, chào tất cả các bạn nghiên cứu chuyên sâu về CCGD/Tin học và tất cả các ngành khác.
Có một câu hỏi tôi vẫn luôn thắc mắc từ xưa đến nay. Vốn cấp 3 tôi học chuyên toán, và được học ngôn ngữ lâp trình Pascal. Đến khi lên đại học tôi cũng lại bị học lại pascal, và được giải thích "vì nó dễ hiểu" cũng như từ đó có thể dễ dàng học các ngôn ngữ lập trình khác.
Đã bao năm tôi yên tâm với lời giải thích đó, cho đến khi bắt đầu suy nghĩ và nhìn lại:
1-Nếu như bản chất của việc học là việc mô phỏng những tình huống sẽ xảy ra trong thực tế/ công việc để tạo thành kĩ năng (ví dụ học +-*/), thì tại sao lại cho chúng tôi học những thứ mà không bao giờ có ứng dụng?
Theo tôi hiểu sơ sơ, ngôn ngữ lập trình C không hề khó hơn Pascal, vậy tại sao lại cứ ép chúng tôi phải học Pascal khi một bên dùng hằng ngày, một bên gần giống về lý thuyết mà chả bao giờ dùng. Phải chăng chỉ vì giảng viên chỉ biết có Pascal nên chúng tôi cũng phải như vậy?
2-về khía cạnh sử dụng thực tế, tại sao không dạy chúng tôi những cái rất đơn giản mà rất cần thiết như CSS, cài Windows, lập trinh html, lập trình web và java, sử dụng linux và unix, còn Pascal thì để tự hiểu là đủ? Và về khả năng phát triển đê nghiên cứu chuyên sâu thì tất cả đều hơn xa pascal.
Ai có thể cho tôi lời đáp?
Mình có thể trả lời giúp bạn một số thắc mắc như sau:
1- Bản chất ngôn ngữ lập trình chỉ là một phương tiện dùng để giải một bài toán. Việc lựa chọn một ngôn ngữ lập trình nào phụ thuộc vào vấn đề bạn muốn giải quyết là gì.
Ở cấp III, mục đích học là để làm quen với ngôn ngữ lập trình và cách tư duy giải một bài toán bằng máy tính. Nên tôi nghĩ Pascal là một ngôn ngữ đáp ứng đủ được tiểu chuẩn này.
Tôi thấy không cần thiết phải đưa Ngôn ngữ C vào chương trình phổ thông vì nó phức tạp hơn ngôn ngữ Pascal rất nhiều (bạn tìm hiểu sơ sơ thì sẽ không thấy được điều đó). Cụ thể: nếu bạn làm việc với con trỏ trong C và làm sâu ở mức hệ thống sẽ thấy để quản lí bộ nhớ của C là một điều không dễ dàng chút nào đặc biệt là với học sinh cấp III, là những người mới làm quen với ngôn ngữ lập trình.
2- Bạn có nhắc đến ngôn ngữ Pascal không được ứng dụng hàng ngày. Tôi nghĩ nhận định của bạn không hoàn toàn chính xác.
Cụ thể: Ngôn ngữ Pascal sau này được phát triển lên thành Object Oriented Pascal. Một trong những bộ trình dịch Pascal được sử dụng phổ biến nhất để phát triển các phần mềm ứng dụng lớn hiện nay là Delphi. Nó là bộ công cụ phát triển trực quan và dễ hiểu. Với những kiến thức học được cấp III bạn có thể tìm hiểu thêm về nó rất dễ dàng. Bạn vào site này để [Only registered and activated users can see links. ].
3- Phải chăng chỉ vì giảng viên chỉ biết có Pascal nên chúng tôi cũng phải như vậy? Cái này có thể đúng.
Trước ở đơn vị tôi công tác cũng có hiện tượng như bạn nói.
4- Lên đại học thì tôi nghĩ là sinh viên, đặc biệt các khối kĩ thuật, không nên học lại Pascal mà nên học ngay ngôn ngữ lập trình C. Vì sinh viên đã có kiến thức cơ bản về ngôn ngữ lập trình ở cấp III. Nên việc làm quen với C không còn là vấn đề lớn mà có thể tập trung ngay vào những phần khó của C.
5- về khía cạnh sử dụng thực tế, tại sao không dạy chúng tôi những cái rất đơn giản mà rất cần thiết như CSS, cài Windows, lập trinh html,.
Những thứ trên tôi nghĩ không cần thiết phải dạy cho sinh viên học đại học vì nó không quá phức tạp chỉ bỏ một chút thời gian chịu khó tìm hiểu bạn có thể làm chủ được nó. Đặc biệt là với các công cụ hỗ trợ soạn thảo trực quan như Homesite, Dreamwave, bạn có thể làm những thứ đó không khó hơn soạn thảo một văn bản word là mấy.
6-"Tai sao không dạy ngay lập trình web và java, sử dụng linux và unix".
Nếu bạn học CNTT thì tôi nghĩ các môn trên đều được học cả. Nếu bạn nắm vững được một ngôn ngữ lập trình là Pascal hoặc C thì việc làm quen với lập trình Web hoặc Java sẽ không còn là vấn đề lớn. Tuy nhiên cũng cần bỏ thời gian để tìm hiểu. Đặc biệt là Java thì cần phải có khái niệm về Object Oriented Programming.
Riêng về Linux, ở Việt Nam mình sài đồ chùa là Windows và các ứng dụng trên nền Windows quen rồi, vì nó trực quan dễ tiếp cận lại rẻ như bèo 10.000 VND/CD. Linux thì phức tạp hơn. Các ứng dụng cũng không bắt mắt, sử dụng cũng không dễ dàng như trên Windows nên việc tìm hiểu Linux bác nào cũng ngại. Chưa kể đến việc phải thao tác trên dạng text mode phải nhớ lệnh....nên rất ít người tìm hiểu về Linux. Trước tôi bị phân công dạy môn Hệ điều hành Linux nên mới lọ mọ với. Nếu không bị dồn vào chân tường thì chả thấy có cái áp lực nào phải dùng nó cả .
- Dạy sử dụng file với C: fopen, fread, fscanf ... . Lệnh thông dụng nhất là freopen thì ko dạy.
- Khoái dậy con trỏ, cấp phát bộ nhớ, danh sách móc nối đơn, kép sử dụng con trỏ: thuong khá phức tạp với sv trung bình; mà thực tế sau này hầu như ko sử dụng. Nếu có thì nên giới thiệu STL C++, tính năng tương tự ... Cái gì cũng malloc, calloc ... Chỉ cần giới thiệu qua về con trỏ để sv hiểu khái niệm danh sách móc nối, cây, ... còn ko đi sâu vào viết chương trình, mô phỏng ... với sv trung bình thì nắm được mấy cái này đúng là cực hình.
Mình cũng học ngôn ngữ pascal . Tuy lúc học chẳng hình tượng được cái gì , Giờ nhìn lại mới thấy nó giống như dịch bài toán bằng tiếng việt sang tiếng anh vậy đó . Phần nào nó cũng giúp cho chúng ta học cách tư duy những cái đơn giản nhất từ tiếng việt sang tiếng anh .
__________________________ [Only registered and activated users can see links. ]|[Only registered and activated users can see links. ]|[Only registered and activated users can see links. ]|[Only registered and activated users can see links. ]
__________________
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts. | To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts. | To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts. | To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
- Dạy sử dụng file với C: fopen, fread, fscanf ... . Lệnh thông dụng nhất là freopen thì ko dạy.
- Khoái dậy con trỏ, cấp phát bộ nhớ, danh sách móc nối đơn, kép sử dụng con trỏ: thuong khá phức tạp với sv trung bình; mà thực tế sau này hầu như ko sử dụng. Nếu có thì nên giới thiệu STL C++, tính năng tương tự ... Cái gì cũng malloc, calloc ... Chỉ cần giới thiệu qua về con trỏ để sv hiểu khái niệm danh sách móc nối, cây, ... còn ko đi sâu vào viết chương trình, mô phỏng ... với sv trung bình thì nắm được mấy cái này đúng là cực hình.
chào bác,
1. ngày xưa lúc em học thì chỉ nói sơ sơ là có những hàm ấy rồi cho ví dụ được cái đọc với ghi là hết, số còn lại chỉ ghi có mỗi câu "Tìm hiểu thêm trong MSDN", tức là cần cái gì thì tự kiếm mà dùng, có thể em là dân chuyên nên được dạy thế.
2. thích dạy con trỏ, bộ nhớ,.. vì mục đích của môn học (với chương trình của em) là để hiểu rõ về những kỹ thuật ấy, những kỹ thuật này em không nắm vững thì khó tự tạo kiểu dữ liệu phức tạp được (ví dụ dùng để lưu tập tin chẳng hạn), còn STL là thực ra là một chủ đề riêng (ứng dụng) của template trong c++, hồi em học nó chỉ là chủ đề lấy điểm cộng thêm cho ai xung phong làm trình bày trước lớp ,