Alice ở xứ lập trình

22/03/2009 16:53

Giống như cô bé Alice trong truyện của nhà văn Lewis Carroll luôn gặp những vấn đề toán học trong cuộc phiêu lưu vào thế giới kỳ lạ, người dùng phần mềm Alice tiếp cận một cách tự nhiên với những khái niệm lập trình căn bản.


"Hiện nay phụ nữ chưa có vai trò đúng mức trong Khoa học Máy tính (KHMT). Việc gia tăng số nữ sinh viên theo ngành KHMT vừa giúp cải tiến công nghệ nhờ sự đa dạng hóa quan điểm thiết kế, vừa giúp tăng cường nguồn nhân lực cho nhu cầu tương lai. Nhiều nghiên cứu cho thấy rằng nữ sinh từ cấp trung học cơ sở (THCS – middle school) thường không quan tâm đến những ngành nghề liên quan đến toán học và khoa học, trong đó có KHMT. Ở cuối lớp Tám, số nam sinh quyết định chọn nghề nghiệp tương lai thuộc các lĩnh vực khoa học kỹ thuật nhiều gấp đôi số nữ sinh.

Trong luận án này, tôi mô tả Storytelling Alice, một phương tiện mang đến cho nữ sinh THCS những trải nghiệm tích cực đầu tiên về lập trình máy tính. Thay vì giới thiệu việc lập trình như là mục tiêu tự thân, Storytelling Alice trình bày việc lập trình như một phương tiện để kể chuyện, đáp ứng hoạt động sôi nổi của phần lớn nữ sinh THCS".

Trong phần mở đầu luận án tiến sĩ KHMT, Caitlin Kelleher (Mỹ) nêu rõ mục tiêu của cô: tạo điều kiện cho nữ sinh THCS tiếp cận và yêu thích KHMT. Để đạt được mục đích ấy, Kelleher cải tiến công cụ lập trình Alice thành phần mềm "kể chuyện bằng hoạt hình" mà cô gọi là Storytelling Alice. Nhờ chứng minh rằng Storytelling Alice có hiệu quả rõ rệt so với "Alice thông thường" (Generic Alice), Kelleher bảo vệ thành công luận án tiến sĩ vào tháng 9/2006 tại Đại học Carnegy Mellon (Carnegy Mellon University – CMU). Chủ tịch hội đồng chấm luận án, cũng là người sáng lập dự án Alice - Tiến sĩ Randy Pausch (đã mất ngày 25/7/2008) - đánh giá cao đóng góp của Kelleher.




Caitlin Kelleher


Thế giới ảo của Alice

Thấu hiểu những khó khăn của người mới học lập trình, sau khi khảo sát, phân loại kỹ lưỡng những phương pháp dạy lập trình, từ năm 1998, Randy Pausch cùng nhóm nghiên cứu của ông tại CMU quyết định xây dựng phần mềm để dạy lập.trình theo hướng mới, dùng cho học sinh trung học phổ thông và sinh viên năm đầu của các ngành kỹ thuật. Phần mềm được đặt tên là Alice do cảm hứng từ truyện "Alice ở xứ thần tiên" của nhà toán học Lewis Carroll.

Alice là phần mềm nguồn mở. Lúc đầu, nhóm Pausch xây dựng Alice bằng ngôn ngữ Python. Do sự tài trợ của công ty Sun Microsystems, các phiên bản tiếp theo của Alice được viết bằng ngôn ngữ Java.

Giống như cô bé Alice của Carroll luôn gặp những vấn đề toán học trong cuộc phiêu lưu vào thế giới kỳ lạ, nhóm Pausch muốn tạo điều kiện để người dùng phần mềm Alice tiếp cận một cách tự nhiên với những khái niệm lập trình căn bản (biến, điều kiện, vòng lặp, đệ quy, thủ tục, đối tượng, tình huống) trong cuộc "phiêu lưu" của chính mình: xây dựng phần mềm trò chơi với những nhân vật trong thế giới ảo ba chiều, tương tự những nhân vật của phim hoạt hình Pixar.

Sau khi đặt nhân vật vào "sàn diễn" và thiết lập các thuộc tính thích hợp cho nhân vật, người dùng Alice quy định hành vi của nhân vật thông qua việc sắp xếp những thẻ lệnh (command tile) theo thứ tự cấn thiết. Những thẻ lệnh trong Alice giúp người dùng điều khiển chuyển động của nhân vật hoặc làm cho từng bộ phận của nhân vật (đầu, tay, chân) cử động. Khi người dùng quy định hành vi của nhân vật gắn với từng tình huống nhất định, nhân vật bắt đầu có "tính cách".

Với Alice, người học lập trình không cần ghi nhớ cú pháp của ngôn ngữ lập trình nào cả, dù là ngôn ngữ giản lược như BASIC hay "ngôn ngữ tự nhiên" như Pascal. Do không cần viết câu lệnh, người dùng Alice không bao giờ vấp phải "lỗi cú pháp" (syntax error). Những sai lầm vào lúc chạy chương trình (run-time error) luôn thể hiện rõ ràng qua... hành vi "kỳ quặc" của nhân vật, giúp người dùng chỉnh sửa dễ dàng.

Từ tháng 10/2006, CMU hợp tác với công ty Electronic Arts để xây dựng Alice 3.0 với các nhân vật từ trò chơi "The Sims 2" nổi tiếng. Theo dự định, Alice 3.0 sẽ được phát hành chính thức vào mùa hè 2009 và đưa vào sử dụng trong học kỳ mùa thu năm 2009 tại CMU.

"Alice kể chuyện"

Khi nói rằng nữ giới tham gia vào KHMT sẽ tạo nên sự đa dạng trong thiết kế công nghệ, phục vụ cho sự đa dạng của xã hội, vô hình trung Kelleher đã diễn đạt vai trò của chính cô trong nhóm phát triển phần mềm Alice. Kelleher cho rằng Alice có thể dùng cho nữ sinh ở lứa tuổi bé hơn nếu được thiết kế khác đi.

Kelleher viết trong luận án của mình: "Những vấn đề mà chúng ta chọn để giải quyết và những công nghệ mà chúng ta tạo ra để giải quyết vấn đề chắc chắn thể hiện quan điểm cá nhân về loại vấn đề được cho là quan trọng. Chẳng hạn, các bậc cha mẹ của trẻ em mắc bệnh tâm thần luôn nghĩ nhiều về những công nghệ có thể trợ giúp con em họ, hơn các bậc cha mẹ của trẻ em bình thường".

Kelleher cho rằng nam giới và nữ giới có khuynh hướng đặt vấn đề và giải quyết vấn đề khác nhau, do vậy sự hiện diện của nữ giới trong KHMT và trong khoa học kỹ thuật nói chung sẽ giúp công nghệ đáp ứng tốt hơn những nhu cầu xã hội. Theo Kelleher, việc dạy lập trình ở cấp THCS giúp phát triển tư duy lô-gích và kỹ năng giải quyết vấn đề của học sinh. Cô tin rằng nữ giới sẽ tham gia nhiều hơn vào KHMT nếu Alice tạo được hứng thú cho nữ sinh ở lứa tuổi THCS – lứa tuổi dậy thì, lứa tuổi khởi đầu những nhận thức về vai trò của bản thân, lứa tuổi dễ rơi vào "khủng hoảng", đánh mất sự tự tin.

"Ở lứa tuổi này, nữ sinh thường thể nghiệm những vai trò khác nhau trong mối quan hệ với cha mẹ, thầy cô, bạn bè. Đối với thầy cô, các em tỏ ra ngoan ngoãn, có trách nhiệm. Đối với bạn bè, các em trở nên táo bạo, luôn muốn chứng tỏ sự độc lập của mình. Đối với cha mẹ, các em lại làm nũng như trẻ con".

Có lẽ vì đã trải qua lứa tuổi ấy, Kelleher biết rõ rằng mỗi nữ sinh đến trường đều "trang bị" những câu chuyện để kể cho bạn bè. Nữ sinh không quan tâm nhiều đến trò chơi điện tử như nam sinh. Kelleher đi đến kết luận: Alice cần giúp nữ sinh kể chuyện, "diễn xuất" những vai khác nhau thông qua những "phim hoạt hình" do chính các em viết kịch bản và dàn dựng. Nhờ vậy, kỹ năng lập trình và niềm tin vào kỹ năng đó trong mỗi "cô bé người lớn" sẽ hình thành một cách tự nhiên.

Được sự khuyến khích của Randy Pausch, Kelleher tiến hành sửa đổi Alice, tạo nên phiên bản "Alice kể chuyện" - Storytelling Alice - với nhiều chức năng cho phép dựng cảnh tốt hơn, cung cấp sẵn "kho nhân vật" phong phú hơn, có những hành vi phức tạp hơn (đi, qùy, ngồi, nằm, té ngã,...). Kelleher cũng biên soạn tài liệu hướng dẫn sử dụng dưới dạng chuyện kể.




Alice có sẵn trên 700 nhân vật.





Một cảnh phim được dàn dựng bằng Storytelling Alice.




Thực hiện kịch bản trong Storytelling Alice.


Con đường "gian khổ"

Khi Kelleher hoàn thành phiên bản Storytelling Alice đầu tiên, vấn đề đặt ra với cô là phải thử nghiệm phần mềm trong thực tế, không chỉ để khắc phục những nhược điểm mà quan trọng hơn là để chứng tỏ hiệu quả của ý tưởng mới một cách định lượng và khách quan, thông qua các phương pháp thăm dò, thống kê.

Khó khăn bắt đầu đến với Kelleher khi các trường THCS, dù trường công hoặc trường tư, đều từ chối thử nghiệm Storytelling Alice vì "không có thì giờ", do đang triển khai chương trình "cải cách giáo dục" đầy căng thẳng (đạo luật "No Child Left Behind Act" do Tổng thống Bush ký ban hành năm 2001 nhấn mạnh tầm quan trọng của hai môn Toán và Văn, đồng thời công khai bảng xếp hạng các trường theo thành tích đạt được). Với những trường chấp nhận thử nghiệm Storytelling Alice do mối quan hệ cá nhân của Kelleher với hiệu trưởng, kế hoạch của cô cũng bất thành vì không có tiền trả cho giờ làm thêm của người phụ trách phòng máy tính.

Kelleher chọn hướng triển khai khác. Cô "vận động" được 20 máy tính xách tay cho cuộc thử nghiệm, nhắm vào các nhóm nữ sinh học tại nhà (luật pháp Mỹ không bắt buộc học tại trường) và tại các "trại hè học thuật".

Tuân theo phương pháp "lập trình cặp" (pair programming), trong các cuộc thử nghiệm, Kelleher sắp xếp hai nữ sinh dùng một máy tính, nhưng ở các nhóm học tại nhà điều đó cũng trở thành vấn đề. Có những em nhút nhát, chỉ "dám" làm việc với máy tính khi có... anh trai ngồi bên cạnh. Kelleher đành cho phép một số nam sinh tham gia cuộc thử nghiệm nhưng chỉ ghép cặp hai nam hoặc hai nữ. Việc bảo đảm tính khách quan khi thăm dò ý kiến nữ sinh cũng không đơn giản do sự can thiệp của phụ huynh (nhiều em không dám có ý kiến riêng!).

Kelleher hướng dẫn các nữ sinh thực hiện công việc theo từng bước rõ ràng. Trước hết, các em phải viết tóm lược câu chuyện muốn kể "giống như nội dung phim được trình bày ở hộp đĩa DVD". Sau đó là khâu phân cảnh và làm kịch bản hình ảnh. Việc sử dụng Storytelling Alice là khâu cuối cùng.

Phương án "ghép cặp" của Kelleher bị "phá sản" ở ngay khâu đầu tiên (tóm lược câu chuyện): các cặp nữ sinh thường nói chuyện quá nhiều về đề tài không liên quan đến công việc hoặc bất đồng về nội dung câu chuyện muốn kể đến mức "không thèm" nhìn mặt nhau! Điều này buộc Kelleher phải giải tán "hợp tác xã làm phim", cho mỗi em dùng một máy tính để dàn dựng câu chuyện của riêng mình. Tuy nhiên, cô sắp xếp các máy sát bên nhau để các em tự do trao đổi ý kiến, chỉ vẽ cho nhau.

Những lúc không phải hướng dẫn, giải đáp thắc mắc cho các nữ sinh, Kelleher lặng lẽ quan sát các em và ghi chép cẩn thận diễn biến của cuộc thử nghiệm. Cô buồn mỗi khi thấy các em càu nhàu và vui sướng cùng những tiếng reo cười thích thú.

Kelleher cũng tìm đến các trại nữ hướng đạo sinh để tìm được những em có lứa tuổi thích hợp (từ 10 đến 17) với trình độ học vấn đa dạng hơn. Lúc đầu, thông báo của cô về cuộc thử nghiệm không thu hút được người tham gia. Sau khi Kelleher bổ sung vào thông báo rằng mỗi em tham gia được thưởng 10 USD, cô lại phải đối phó với số lượng đăng ký quá đông, có cả những lứa tuổi ngoài dự kiến!




Caitlin Kelleher giới thiệu Storytelling Alice tại Hội thảo Công nghệ Phần mềm Canada (22-24/1/2009).


Kết quả thống kê của Kelleher cho thấy Storytelling Alice thu hút nữ sinh với hiệu quả gấp ba so với Alice thông thường (về sự tiếp thu những khái niệm lập trình, hai phương pháp có hiệu quả tương đương). Hiệu quả gấp ba! Kết luận ngắn gọn này là phần thưởng qúy báu dành cho Kelleher sau hai năm thử nghiệm ròng rã.

Một ngày nào đó, khi dùng Alice hoặc Storytelling Alice, bạn đừng quên nghĩ đến những người tạo ra nó, trong đó có một phụ nữ uyên bác, dịu dàng và nhẫn nại.

NGỌC GIAO


Ý kiến bạn đọc (0)
Tên   Email

Lên đầu trang