Học ngôn ngữ máy tính

Ngày nay, sinh viên quen thuộc với vật dụng công nghệ như điện thoại thông minh, laptop, và thiết bị trò chơi video. Nhiều người quan tâm tới học về máy tính hay theo đuổi một bằng cấp trong công nghệ thông tin. Không may khi họ vào đại học, nhiều người thấy rằng các lớp về khoa học máy tính hay kĩ nghệ phần mềm là khó hơn họ tưởng cho nên nhiều người bỏ hay đổi sang lĩnh vực học tập khác.

Một giáo sư máy tính nói với tôi: “Tôi đã từng dạy về khoa học máy tính trong mười lăm năm. Quan sát của tôi là ở chỗ hầu hết sinh viên vào đại học đều kích động với việc theo đuổi nghề máy tính, đầy ảo tưởng và hiểu nhầm về điều họ có thể đạt tới. Ngay khi họ thấy rằng nó không phải là như trò chơi video, hay tải xuống phim mà là nhiều việc vất vả, thì họ bỏ. Theo ý kiến tôi, đấy tất cả là về cách họ được dạy trong trường trung học. Họ dường như nghĩ rằng nếu cái gì đó là khó, thầy giáo phải “làm cho nó dễ ra” với họ. Không thành vấn đề họ học thế nào, mọi người đều phải qua được kì thi. Đó là lí do tại sao nhiều sinh viên thế đã rời khỏi trường.”

Theo một nghiên cứu mới, nhiều sinh viên đại học không biết cách học khoa học máy tính. Họ học nó chỉ giống như họ học trong các lớp khác: Họ đọc cả đoạn dài trong sách giáo khoa và cố ghi nhớ chúng. Nhiều người ghi chép nhiều trong lớp, lập dàn bài, và dựa trên trí nhớ của họ khi làm việc với kĩ năng lập trình của họ. Đó là lí do tại sao nhiều người thấy các lớp này là khó thế. Học khoa học máy tính không phải là về ghi nhớ sách mà bạn học bằng việc làm nó. Việc học được xây dựng trên hai thực nghiệm. Trong thực nghiệm thứ nhất, sinh viên được phép học từ sách giáo khoa giống như họ đã làm ở các lớp khác. Trong thực nghiệm thứ hai, sinh viên được cho hướng dẫn ngắn để xây dựng một chương trình từng bước mỗi lúc, họ chỉ đọc một văn bản trực tuyến ngắn về khái niệm nhưng phải thực hiện điều họ học ngay lập tức. Sau một tuần, cả hai nhóm được yêu cầu viết một chương trình ngắn. Nhóm thứ hai được điểm cao hơn về hoàn thành và ít lỗi hơn nhóm thứ nhất. Điều đó chứng minh rằng “học qua hành” là hiệu quả nhiều trong dạy khoa học máy tính hơn là theo phương pháp đào tạo truyền thống.

Từ khảo cứu này, tôi tin rằng không phải là sinh viên không thể học được kĩ năng máy tính mà đấy là phương pháp đào tạo, cách chúng ta dạy sinh viên có thể tạo ra khác biệt. Cách tốt nhất để học cách lập trình là viết các lệnh ngắn, từng bước mỗi lúc. Sinh viên học bằng việc làm nó trong nhiều bước nhỏ.

Sinh viên nên bắt đầu với một ngôn ngữ lập trình như C. Tôi nghĩ C là ngôn ngữ cơ sở để dạy bạn cách chương trình chạy và tương tác với phần cứng. Sau đó, sinh viên có thể chuyển sang C++ nơi họ sẽ học nhiều hơn về hướng đối tượng. Cũng có thể bắt đầu bằng một ngôn ngữ đa năng như Python, tương đối dễ học ngôn ngữ này rồi chuyển sang Java. Sinh viên nên hội tụ vào kết cấu trước khi chuyển vào các khái niệm trừu tượng như “hướng đối tượng”, “song hành” hay “động” vì họ sẽ không có khả năng hiểu được chúng chừng nào họ chưa thực tế có kinh nghiệm lập trình nào đó.

Ngày nay có nhiều website cung cấp các bài học về ngôn ngữ lập trình. Khi bạn sẵn lòng và quyết tâm, bạn có thể học lập trình cơ bản trong vài ngày. Thỉnh thoảng, bài học đại cương có thể gây thất vọng nếu bạn không thể có được câu trả lời cho những câu hỏi xác định. Trong trường hợp đó, lên các diễn đàn máy tính để đăng câu hỏi hay tìm ai đó đã biết cách lập trình để giúp đỡ. Nhớ rằng bạn đang học một bước mỗi lúc, cho nên đừng vội vàng. Bạn không thể viết vài nghìn dòng mã được trong vài tuần cho nên thực hành viết mã của bạn trong chương trình nhỏ thôi (10 tới 50 dòng mã) để thử kĩ năng của bạn. Không ai có thể chạy được trước khi họ có thể bước, để cho bản thân bạn vài tuần để làm chủ ngôn ngữ cơ bản đã.

Lập trình máy tính là kĩ năng mà chỉ có thể được xây dựng cùng thời gian. Nó cần nhiều giờ thực hành kĩ năng giải quyết vấn đề trên các kiểu vấn đề trước khi bạn có thể thực sự là giỏi về nó. Khi bạn có mọi kĩ năng cơ bản, bạn có thể bắt đầu học về thuật toán và lưu đồ. Mọi người học về máy tính đều có thể bảo bạn rằng việc đó có thể là đáng thất vọng, nhưng hoàn thành một chương trình cũng có thể là rất thoả mãn. Đừng từ bỏ nếu bạn không hiểu khái niệm. Lập trình có thể là việc trừu tượng để học. Khi làm việc trên vấn đề đặc biệt phức tạp, để thời gian để cho não bạn được thảnh thơi. Khi bạn làm chủ một ngôn ngữ, việc học ngôn ngữ thứ hai là dễ dàng hơn. Cuối cùng bạn sẽ biết nhiều ngôn ngữ lập trình và thấy rằng nó không khó chút nào.

English version

Full article: Learning computer language

Tác phẩm, tác giả, nguồn

  • Tác phẩm: Khoa học máy tính
  • Biên tập: Kipkis.com
  • Nguồn: Blog của giáo sư John Vu, Carnegie Mellon University.