Lập trình trong thời đại ngày nay

Lập trình là kĩ năng mới để điều khiển các thiết bị tự động và xử lí thông tin, rất cần cho xã hội hiện đại, bên cạnh các kĩ năng thông thường như đọc, viết, tính toán. Với trẻ em, có thể dạy lập trình bắt đầu từ những hoạt động đơn giản nhất nhưng thích ứng với cuộc sống công nghệ hiện đại.


Các em làm quen với lập trình Scratch (lập trình đơn giản cho thiếu nhi) trong ngày hội STEM diễn ra vào ngày 16-17/5/2015 tại Hà Nội

Lập trình, hiểu đơn giản, là tổ chức một công việc nào đó theo một trình tự để nó diễn ra được và đưa tới một kết quả hay sản phẩm. Với trẻ em, lập trình thường tập trung vào các trò chơi và khám phá máy móc tự động, không có mục đích như người lớn là lập trình để điều khiển máy móc và tổ chức. Các em chỉ cần biết cách điều khiển và làm cho các thiết bị hoạt động là được. Đây là một kĩ năng mới mà các cháu bé thích nghi rất nhanh trong khi những người lớn tuổi thì lại gặp khó khăn không dễ theo được (do đó mới có nỗi sợ công nghệ và sợ các máy móc mới).

 Ít người biết rằng, sử dụng các phương tiện di dộng hay Ipad cũng đã là một loại hình lập trình bởi có nhiều bước phải nhớ và làm đúng thì nó mới chạy được. Chơi trò chơi điện tử cũng được coi là một hoạt động thực hiện theo chương trình. Khi chơi, các em thuộc các qui tắc của trò chơi thì tự động lập trình các thao tác của mình để đáp ứng với hoàn cảnh của nó.

 Tuy nhiên, hai ví dụ trên mặc dù mang bản chất của việc lập trình nhưng không mang ý thức lập trình. Với việc sử dụng máy móc, các em học theo kiểu thử và sai, tức là sau vài lần làm sai thì các em sẽ học được cách dùng đúng. Còn khi chơi trò chơi điện tử, các em ít để ý tới cách chơi mà chỉ để ý tới kết quả. Chính vì thế, để định hướng tư duy lập trình trẻ em từ những hoạt động đơn giản hằng ngày, người dạy cần có cái nhìn sâu rộng hơn. 

Dạy lập trình như thế nào cho đúng? 

 Mọi trò chơi, đều là hình thức lập trình đơn giản gồm một số bước, một trình tự nào đó. Khi chơi, ta sẽ thấy có một số việc lặp lại, một số việc rẽ nhánh khi có điều kiện, và có một số việc tuần tự nhau. Đó là cấu trúc điều khiển trong lập trình. Trong trò chơi, người chơi tự đồng nhất mình thành một cái máy tính, “biến mình” thành một bộ xử lý để thực hiện các thao tác tuỳ theo hoàn cảnh xuất hiện. Còn khi được học về ngôn ngữ lập trình, người lập trình sẽ phải bố trí các lệnh theo các cấu trúc điều khiển để chương trình tự động chạy. 

 Hiểu được như vậy, qua việc chơi, thầy giáo sẽ hướng dẫn để các em nhận biết các động tác của mình là thực hiện các cấu trúc điều khiển (bấm lặp lại một số phím, bấm các phím để đổi hướng chuyển động,…). Các em nhờ vậy sẽ biết được mình đang tham gia vào việc điều khiển các hệ thống. Điều này có thể khuyến khích một số em tạo ra chương trình điều khiển như vậy, tức là tham gia vào hoạt động lập trình chuyên nghiệp. Tương tự với việc sử dụng các thiết bị ngày càng hiện đại với nhiều chức năng, trẻ em cần được hướng dẫn sử dụng. Thậm chí, các em phải biết cách viết ra các bước thực hiện. Đó cũng chính là một hình thức học lập trình.

 Dĩ nhiên, tùy theo hoàn cảnh mà các em sẽ được học cái gì và đến mức nào trong lập trình. Với những em có năng khiếu và đam mê với lập trình, có thể dạy các em ngôn ngữ lập trình, viết các chương trình và giải quyết những vấn đề xung quanh. Tuy nhiên, với số đông, việc dạy lập trình là để phổ cập và hỗ trợ các em thích ứng với công nghệ mới, làm chủ các công cụ hiện đại trong tương lai bởi khi đó, riêng việc điều khiển các thiết bị thông minh trong gia đình cũng đã là hoạt động lập trình đơn giản. 

 Chương trình học phổ thông hiện nay của chúng ta chưa chú trọng khía cạnh này, vì vậy nếu đưa ngay khía cạnh lập trình chuyên nghiệp vào dạy là chưa thích hợp (các em chỉ được học cách sử dụng phần mềm soạn thảo và một số ngôn ngữ lập trình). Trên thực tế, ngôn ngữ lập trình và phần mềm thay đổi qua thời gian. Mấy năm nữa chưa chắc có ai còn dùng phần mềm máy tính hiện nay, mà những phần mềm mới dễ dùng hơn nữa sẽ xuất hiện và thay thế chúng. Bây giờ học lập trình Pascal đã quá lạc hậu, vì trên thế giới không ai dùng nữa. Cũng không học sinh phổ thông nào học kiến trúc máy tính hay hệ điều hành DOS hay thậm chí Windows trong tương lai. 

 Còn một điều quan trọng khác, ý thức về lập trình cần nhìn ở nhiều góc độ đa dạng, không nên chỉ lấy kĩ năng lập trình cho máy tính là chủ chốt. Lập trình còn là điều khiển tập hợp con người thì thành kĩ năng quản lí, lãnh đạo, quản lí dự án, lập kế hoạch…Nhiều người không cần lập trình cho máy tính nhưng họ biết lập trình cho doanh nghiệp, cho tổ chức thì cũng rất tốt và cần thiết, đặc biệt là cho tổ chức làm việc trên nền công nghệ thông tin.

 Chính vì vậy, đối với trẻ em cần phải dạy nhiều kỹ năng và cần đặt lập trình trong tổng thể các kỹ năng khác. Lập trình của các em, có thể không cần cho máy móc mà cho một tập hợp người như lập kế hoạch dự án, biết triển khai công việc để làm ra được sản phẩm. Ngoài ra, bên cạnh đó là các kĩ năng giao tiếp để có thể khuyến khích và động viên mọi người cùng làm việc, kĩ năng định hướng phát triển cho một nhóm người…

Người dùng sản phẩm của lập trình, người dùng công nghệ hiện đại cần biết cách sử dụng các thiết bị và hệ thống mới. Điều này đưa tới người ta phải có thói quen lập trình cho các việc sử dụng, và do đó quen với cách tổ chức làm việc hiện đại theo kiểu chương trình (lập kế hoạch quản lí cũng là một hình thức lập trình cho nhóm người làm việc). Đây là cách dùng đại trà các thiết bị và công nghệ mới với tư duy của lập trình, cần phổ cập cho số đông để biết cách dùng tối đa năng lực đã tích luỹ trong thiết bị và hệ thống mới.

– Người làm ra sản phẩm và công nghệ mới thì cần biết cách viết chương trình, lập trình bố trí trước dãy các lệnh để cho máy móc hay nhóm người theo đó làm được công việc của họ. Những người này học lập trình cho các thiết bị máy móc hiện có, theo nghĩa nào đó đây là các nhà chuyên môn, không phổ cập cho số đông

Tác giả