Đó là một buổi chiều thứ Bảy tháng Năm,
tôi bỗng nhiên nhận ra
rằng ngày hôm sau là ngày của Mẹ,
và tôi chưa chuẩn bị món quà nào cho mẹ tôi cả.
vì vậy tôi bắt đầu nghĩ đến
tôi nên mua món quà gì cho ngày của Mẹ đây?
Tôi nghĩ, tại sao không làm cho mẹ
một tấm thiệp có khả năng tương tác bằng cách sử dụng
phần mềm Scratch một chương trình mà tôi đang nghiên cứu
cùng với nhóm của tôi ở phòng Thí Nghiệm Truyền Thông ờ MIT
Chúng tôi phát triển phần mềm này để mọi người có thể dễ dàng tạo ra
những câu chuyện, trò chơi tương tác và chuyển động của riêng họ,
và sau đó sẽ chia sẻ những sản phẩm đó cho mọi người..
Do đó tôi nghĩ, đây là cơ hội tốt để sử dụng phần mềm Scratch
để tạo ra tấm thiệp có tính tương tác cho Mẹ tôi.
Trước khi làm tấm thiệp cho ngày của Mẹ,
Tôi nghĩ tôi lướt qua
trang web của Scratch.
Những năm gần đây, trẻ em trên thế giới
cỡ tám tuổi trở đi, đã chia sẻ những sản phẩm của chúng,
va tôi nghĩ, tôi tự hỏi nếu như trong ba triệu sản phẩm này
liệu có ai đã nghĩ ra tấm thiệp điện tử cho ngày của Mẹ.
Tôi gõ vào mục tìm kiếm
"Ngày Của Mẹ"
và rất ngạc nhiên và vui khi nhìn thấy
hàng loạt những tấm thiệp
hiện ra trên trang web Scratch,
rất nhiều trong số này chỉ mới được làm cách đây 24 tiếng đồng hồ
bởi những người "hay trễ nài" như bản thân tôi
Nên tôi bắt đầu xem từng cái một.
Tôi thấy một cái với hình con mèo con
và mèo mẹ, và lời ước 'Chúc mừng ngày của Mẹ'.
Và tác giả của tấm thiếp đã rất cẩn thận
đặt thêm một phím "replay" (xem lại lần nữa) cho mẹ của cậu ta.
Một tính năng có khả năng tương tác khác, đó là
khi bạn di chuyển con chuột vào những từ trong 'Chúc Mừng Ngày Của Mẹ'
nó sẽ hiện ra một câu chúc đặc biệt cho Ngày Của Mẹ.
Chẳng hạn như cái này, tác giả kể về
việc cô đã tìm kiếm thông tin qua Google
thông tin về 'Ngày Của Mẹ' bắt đầu từ khi nào.
Và khi cô ấy đã tìm ra được thông tin đó,
cô đã tạo ra một lời chúc đặc biệt cho Ngày Của Mẹ
nhắn nhủ rằng cô yêu mẹ rất nhiều.
Tôi thật sự rất thích thú khi xem những sản phẩm này
và rất là ngưỡng mộ chúng.
Thật ra thì tôi thích đến nỗi mà thay vì tôi làm một cái cho mẹ tôi,
thì tôi gởi những đường link với hàng tá những tấm thiệp như vậy cho mẹ tôi.
Và thú vị là, bà phản ứng giống với những gì tôi hi vọng.
Bà viết thư trả lời tôi và nói,
'Mẹ rất tự hào có môt con trai như con, người tạo ra phần mềm
để cho mấy đứa trẻ có thể tạo ra những tấm thiệp mừng 'Ngày Của Mẹ' cho mẹ của chúng.'
Và mẹ tôi rất vui mừng, và điều đó làm tôi vui theo,
nhưng một điều làm tôi vui hơn nữa,
Tôi vui vì những đứa trẻ này dùng Scatch
đúng theo hướng mà chúng tôi hi vọng.
Khi chúng tạo ra những tấm thiệp tương tác,
bạn có thể thấy rằng chúng thật sự
trở nên thành thục với công nghệ mới.
Tôi có ý gì khi nói "thành thục"?
Ý tôi muốn nói ở đây là chúng có thể chia sẻ ý nghĩ
và cũng bắt đầu chia sẻ ý tưởng.
Khi chúng ta thành thạo một ngôn ngữ,
có nghĩa là bạn có thể viết một trang trong lịch trình của bạn
hoặc kể câu chuyện cười hoặc viết một lá thư cho một người bạn.
Nó cũng giống như những kỹ thuật mới.
Bằng cách viết ra, tạo ra những tấm thiệp mừng 'Ngày Của Mẹ',
những đứa trẻ này chứng minh được là chúng thực sự thành thạo
với công nghệ mới.
Còn bây giờ, có thể bạn sẽ không ngạc nhiên lắm với cái này,
bởi vì nhiều lúc mọi người cảm thấy rằng
thế hệ trẻ bây giờ có thể làm mọi thứ với công nghệ thông tin.
Ý tôi là, hầu hết chúng ta nghe nhắc đến thể hệ trẻ như là 'thế hệ kỹ thuật số.
Cá nhân tôi thì tôi hơi nghi ngại cho thuật ngữ này.
Tôi không nghĩ là chúng ta nên nghĩ về chúng như một thế hệ ký thuật số.
Khi chúng ta thật sự cân nhắc, làm thế nào mà thế hệ trẻ
sử dụng hầu hết thời gian vào những công nghệ mới?
Bạn thường thấy những trường hợp như vậy,
hoặc như thế này,
và đúng là thế hệ trẻ
rất thỏa mái và quen với việc lướt net
chat, gửi tin nhắn hoặc chơi game.
Nhưng những việc này không thật sự làm bạn trở nên 'điêu luyện'.
Nên thế hệ trẻ ngày nay có rất nhiều kinh nghiệm
và rất quen với việc sử dụng các công nghệ thông tin mới,
nhưng không nhiều trong số này tạo ra một cái gì đó với công nghệ thông tin
và thể hiện bản thân mình với kỹ thuật mới.
Hầu hết là họ có thể đọc
nhưng không viết được với công nghệ.
Và tôi rất thích tìm hiểu xem là chúng tôi có thể giúp gì để thế hệ trẻ trở nên điêu luyện
để họ có thể viết các kỹ thuật mới?
Và đó cũng có nghĩa là họ cần có khả năng
viết chương trình máy tính, hoặc lập trình.
Vậy nên, càng ngày càng nhiều người nhận thấy
việc quan trọng học cách lập trình.
Trong những năm gần đây, có khoảng
hàng trăm các tổ chức và website
giúp thế hệ trẻ học cách lập trình
Nếu bạn tìm trên mạng, bạn sẽ thấy những nơi như là Codecademy
và các sự kiện như CoderDojo
hoặc trang web như Girls Who Code,
hoặc Black Girls Code.
Dường như là mọi người đang bắt đầu tìm hiểu.
Đầu năm nay,
ngay lúc chuẩn bị qua năm mới,
Thị Trưởng thành phố New York Michael Bloomberg
đưa ra tiêu chí trong năm mới là ông sẽ đi học
lập trình trong năm 2012.
Một vài tháng sau, nước Estonia ra quyết định
tất cả các học sinh trung học nên học cách lập trình
Và đó cũng là vấn đề gây tranh cãi ở Anh.
về việc nên cho trẻ con học lập trình hay không.
Trong số các bạn, khi chúng ta nghe về vấn đề này,
có thể nghe rất lạ về việc mọi người học lập trình
Khi nhiều người nghĩ đến việc lập trình, người ta nghĩ đến nó
như một việc gì đó mà chỉ có một phần rất ít
người đang làm,
và họ nghĩ lập trình giống như vậy.
Nhưng thật ra, lập trình là như thế này,
nó chỉ thật sự dành cho một số ít cộng đồng người
với kỹ năng tính toán đặc biệt và trình độ kỹ thuật
có thể lập trình
Nhưng lập trình không phải như vậy.
Để tôi chứng minh cho các bạn thấy việc lập trình sẽ như thế nào trong Scratch.
Trong Scratch, để lập trình, bạn chỉ cần dịch chuyển các khối lại với nhau.
Trong trường hợp này, bạn lấy một khối
và chuyển nó vào một khối hộp,
và khối hộp này điều khiển hành động
của các nhân vật khác nhau trong trò chơi hay câu chuyện của bạn,
trong trường hợp này là điều khiển một con cá lớn.
Sau khi đã tạo ra chương trình của mình, bạn có thể nhấn vào "chia sẻ",
và gửi đến những người khác,
và sau đó bạn có thể sử dụng sản phẩm này
và cũng có thể bắt đầu phát triển nó.
Đương nhiên là tạo ra một trò chơi cá không chỉ là một chương trình duy nhất
mà bạn có thể làm với Scratch.
Trong hàng triệu sản phẩm trong trang web Scratch,
có tất cả mọi thứ từ những câu chuyện hoạt hình
đến các dự án khoa học ở trường
đến các chương trình phát thanh
đến các chương trình không gian 3 chiều
đến việc tạo lại các chương trình trò chơi video được tạo trước đó
đến các cuộc bầu cử
đến các bài toán hình học
đến các môn nghệ thuật chuyển đông, và
cả các tấm thiệp Mừng Ngày của Mẹ.
Nên tôi nghĩ, có rất nhiều cách
mà mọi người có thể biểu hiện bằng cách sử dụng chương trình này,
để có thể tạo và chia xẻ các ý tưởng với thế giới.
Và các ý tưởng này không chỉ ở yên trên màn hình.
Bạn có thể lập trình để tương tác với thế giới xung quanh bạn.
Đây là một ví dụ từ Hồng Kông,
nơi mấy đứa trẻ tạo ra một trò chơi
và sau đó tạo ra thiết bị riêng
và có cả cảm ứng ánh sáng, và chính thiết bị cảm ứng này
phát hiện ra cái lổ trên tấm bảng,
và khi chúng di chuyển cái cưa
thiết bị cảm ứng ánh sáng phát hiện thấy cái lổ
và kiểm soát bàn cưa trên màn hình
và cưa đổ cái cây.
Chúng ta sẽ tiếp tục quan sát cách mới khác liên quan
đến việc liên kết thể giới thật và thế giới ảo
và liên kết thế giới xung quanh chúng ta.
Đây là một ví dụ từ một phiên bản mới của Scratch
mà chúng ta sẽ ra mắt trong vài tháng tới,
và chúng tôi đang xem xét lại để có thể
khiến bạn đi vào hướng mới hay không.
Đây là một ví dụ.
Nó được sử dụng webcam.
Và khi bàn tay tôi di chuyển, tôi có thể làm nổ mấy quả bóng
hoặc có thể di chuyển những con bọ.
Nó cũng hơi giống với Microsoft Kinect,
mà các bạn có thể tương tác với các cử chỉ.
Nhưng thay vì chỉ chơi trò chơi của những người khác,
bạn có thể tạo ra các trò chơi,
và nếu bạn thấy trò chơi của ai đó,
bạn chỉ cần nói 'nhìn bên trong',
và nếu bạn nhìn vào trong các khối hộp mà kiểm soát.
Trong đó, có một khối hộp thể hiện cho chúng ta thấy có bao nhiêu chuyển động cảm xúc,
và sau đó những chuyển động này
sẽ kết nối với các bong bóng hiệu ứng để phát ra.
Cách này cũng giống trong sử dụng máy chụp hình
để lấy thông tin trong Scratch,
bạn cũng có thể sử dụng microphone.
Đây là một ví dụng của một dự án sử dụng microphone.
Nên tôi sẽ để cho các bạn điều khiển trò chơi này
bằng cách sử dụng giọng nói của mình.
(tiếng dế kêu) (tiếng hét) (tiếng nuốt chửng)
(tiếng cười)
(tiếng vỗ tay)
Mấy đứa trẻ tạo ra những dự án như thế này,
chúng cũng học cách lập trình,
nhưng quan trọng hơn, là chúng đang học lập trình.
Vì khi học cách lập trình,
mấy đứa trẻ có cơ hội học nhiều thứ khác,
có nhiều cơ hội mới cho việc học tập.
hãy so sánh với việc đọc và viết.
Khi bạn có thể học cách đọc và viết, nó tạo ra
nhiều cơ hội cho bạn học nhiều thứ khác.
Khi bạn học cách để đọc, bạn cũng bắt đầu đọc để học.
Và lập trình cũng như vậy.
Nếu bạn học các lập trình, bạn cũng bắt đầu lập trình để học.
Nên những việc bạn có thể học trở nên rõ ràng.
Bạn học nhiều về cách vận hành của máy tính.
Nhưng đó chỉ là bước khởi đầu.
Khi bạn học cách lập trình, bạn lại có thể học thêm
nhiều thứ.
Để tôi cho các bạn một ví dụ nữa.
Đây là một dự án khác,
và tôi thấy cái này khi tôi đi thăm
một trung tâm vi tính.
Đây là những trung tâm đào tạo thêm mà chúng tôi giúp mở ra
tại đây những bạn trẻ từ những nhóm thu nhập thấp
học cách thể hiện mình một cách sáng tạo với kỹ thuật mới.
Và khi tôi tới một trong những trung tâm này vài năm trước,
tôi có gặp một cậu bé 13 tuổi dùng chương trình Scratch
để tạo ra một trò chơi giống như cái này,
cậu bé rất vui và tự hào với trò chơi của cậu ấy
nhưng cậu bé cũng muốn làm hơn như vậy nữa.
Cậu bé muốn giữ điểm của mình.
Đây là một trò mà mấy con cá lớn ăn mấy con cá nhỏ,
nhưng cậu bé muốn giữ nguyên điểm đạt, nên mỗi lần
cá lớn ăn cá bé,
điểm được cộng thêm và điểm vẫn có thể được giữ nguyên,
nhưng cậu bé không biết cách làm sao.
Và tôi đã chỉ cho cậu bé cách làm.
Trong Scratch, bạn cũng có thể tạo ra một thứ được gọi là 'biến số'
Tôi sẽ gọi là điểm đạt.
Và một vài hộp block mới tạo ra cho bạn,
và cũng tạo ra một bảng điểm để có thể lưu lại các điểm đạt được,
nên mỗi lần tôi nhấn vào 'thay đổi điểm', nó tự động thêm điểm.
Sau đó, tôi có đưa cho một thành viên trong câu lạc bộ xem
cậu ta là Victor - và Victor,
khi cậu ấy nhận thấy rằng những khối này có thể tự động cộng điểm đạt,
cậu ấy biết ngay phải làm gì.
Cậu ấy dùng khối block
và bỏ nó vào trong chương trình
ngay vị trí mà cá lớn ăn cá bé.
Nên, mỗi lần cá lớn ăn cá bé,
cậu ta sẽ được thêm điểm, và điểm này sẽ được cộng dồn.
Và nó ngay lập tức phát huy hiệu quả
Cậu bé rất hứng khởi khi làm được như vậy,
cậu ấy chìa tay ra,
và nói với tôi 'Cảm ơn, cảm ơn, cảm ơn.'
Và tự nhiên tôi chợt nghĩ,
có bao nhiêu lần giáo viên nhận được lời cảm ơn từ học trò của mình
về việc dạy chúng các "biến số" như thế?
Chắc chuyện như vậy không thường xảy ra trong hầu hết các lớp học,
nhưng đó là vì trong hầu hết các lớp học, khi mấy đứa trẻ học về các 'biến số'
chúng không biết tại sao chúng được dạy về điều này.
Đó không phải như là, chúng có thể lợi dụng nó.
Khi chúng ta học những ý tưởng như Scratch,
bạn có thể học nó theo cách thật sụ hữu dụng và thúc đẩy cho bạn,
như vậy bạn có thể hiểu được ký do học các 'biến số',
và chúng tôi nhận thấy rằng trẻ học về phần này sâu hơn
và học tốt hơn.
Tôi chắc rằng, Victor được dạy về các 'biến số' trong trường,
nhưng cậu bé không thật sự để ý đến.
Và bây giờ cậu có lý do để học về các 'biến số'.
Nên khi bạn học về cách lập trình, và lập trình để học,
bạn nên học theo đúng hoàn cảnh, và đó là các tốt nhất để học.
Những đứa trẻ như Victor đang tạo ra những dự án như thế này,
chúng học về những phần quan trọng như 'biến số',
nhưng đó chỉ là phần khởi đầu.
khi Victor làm ra dự án và viết chương trình,
cậu ấy cũng học về cách xây dựng thiết kế,
làm sao để bắt đầu với một ý tưởng sơ khai
và phát triển ý tưởng hơn nữa
như các bạn thấy ở đây.
Vì vậy mà cậu học rất nhiều phần chính khác nhau của việc thiết kế,
vầ cách thể hiện ý tưởng mới,
và cách nắm được ý tưởng phức tạp và tách nó ra thành những phần nhỏ đơn giản hơn,
và cách phối hợp làm việc với những thành viên trong dự án của mình,
và về cách tìm và sửa đổi những phần bị lỗi,
cách kiên định và kiên trì
khi đối mặt với những áp lực nhất là khi có những phần không hoạc động tốt.
Đó là những kỹ năng quan trọng
mà nó không chỉ liên quan đến việc lập trình.
Nó liên quan đến tất cả các hoạt động khác.
Ai mà biết được là sau này Victor sẽ lớn lên và trở thành
một lập trình viên hoặc một nhà khoa học máy tính?
Có thể nó sẽ không giống như vậy,
nhưng dù cậu bé làm gì,
thì cậu bé vẵn có thể dùng những kỹ năng thiết kế mà cậu bé học được.
Dù cậu bé có trở thành Giám Đốc Quảng Cáo khi lớn lên
hoặc một kỹ sư máy móc hoặc một người tổ chức các chương trình cộng đồng,
thì những điều này đều rất hữu dụng đối với mọi người.
Một lần nữa, hãy nghĩ so sánh nó với ngôn ngữ.
Khi bạn đọc và viết trôi chảy,
Đó không chỉ là việc bạn làm
để trở thành nhà văn.
Rất ít người trở thành nhà văn chuyên nghiệp.
Nhưng nó rất hữu dụng để học đọc và viết cho mọi người.
Và tôi cũng xin lặp lại, nó giống với việc lập trình.
Nhiều người sẽ không trở thành
nhà khoa học máy tính hoặc viết chương trình chuyên nghiệp,
nhưng những kỹ năng về suy nghĩ một cách sáng tạo,
lý do hóa một cách hệ thống, hổ trợ nhau làm việc
những kỹ năng mà bạn có thể phát triển khi bạn tạo mã trong chương trình Scatch
là những phần mà mọi người có thể dùng trong bất cứ công việc này mà người ta đang làm.
Và nó không chỉ phục vụ cho công việc.
Lập trình cũng có thể giúp bạn
thể hiện ý tưởng và cảm xúc trong cuộc sống riêng của mình.
Tôi xin kết thúc với một ví dụ nữa.
Đây là một ví dụ từ
ngày sau khi tôi gởi những tấm thiệp Mừng Ngày của Mẹ tới mẹ tôi,
bà quyết định đi học Scratch.
Để bà có thể tạo ra một tấm thiệp cho ngày sinh nhật của tôi
và gởi cho tôi một tấm thiệp mừng sinh nhật Scatch.
Tấm thiệp này sẽ không dành giải gì cho việc thiết kế,
và bạn cũng yên tâm rằng người mẹ 83 tuổi của tôi
không học để trở thành lập trình viên cũng như kỹ sư máy tính chuyên nghiệp.
Nhưng khi làm thiệp cho phép bà
kết nối với một ai đó mà bà thương yêu
và giúp bà học được nhiều điều mới
và tiếp tục với sự sáng tạo của bà
và tạo ra cách mới mà bà muốn thể hiện bản thân mình.
Như chúng ta đã thấy
Michael Bloomberg học cách lập trình,
các người con của Estonia học cách lập trình,
thậm chí cả mẹ tôi,
bạn có nghĩ rằng đến lúc bạn cũng
nghĩ là mình nên học lập trình?
Nếu bạn muốn thử,
Tôi khuyến khích bạn nên vào website Scatch.
scratch.mit.edu,
và thử lập trình nhé.
Cảm ơn. (Vỗ tay)