Xin chào,
Mọi người đã bao giờ nghe đến ngôn ngữ Scratch chưa? Mình thì cũng chỉ cũng mới nghe gần đây thôi. Mình cũng đã có một số dự án cùng Scratch, và đây là một trong những dự án đầu tiên của mình.
Có một câu chuyện được kể là,
Vào một ngày, trong một hôm, một người bạn của mình có gửi một chương trình game của anh ấy vừa hoàn thành, anh bạn ấy có mời đám anh em của mình trải nghiệm qua cái trò chơi ấy. Trò chơi cũng khá là đơn giản, chỉ cần click chuột để một con ngựa nó chạy và nhảy qua được một vật thể. Khá là cool đấy.
Lúc ấy mình tự hỏi là: “Wow, ông này tài thật, học Logistic còn rớt lên, rớt xuống mà giờ lại còn làm được cả game nữa à?”. Thế là mình nhắn tin ngay và hỏi luôn cho nóng.
Thế là mình được giới thiệu về một trang web, tên là Scratch, chỉ cần lấp ghép các câu lệnh đơn giản lại, là chúng ta có thể có được một trò chơi.
Bùm. Chắc chắn đây là thứ mình đang tìm kiếm bấy lâu nay. Các bạn biết tại sao không?
Trờ lại vào thời điểm thi trung học phổ thông quốc gia của mình, mình cũng từng có một ước mơ trong mảng công nghệ thông tin, nhưng không biết thế nào, dòng đời lại đưa đẩy mình vào khối ngành kinh tế, xuất nhập khẩu. Mình luôn có cái khao khát là một ngày nào đó mình sẽ có thể tạo ra một cái chương chính gì đó của riêng mình và tất cả mọi người đều có thể cùng thưởng thức.
Nhưng mình vẫn chưa thực sự có cơ hội. Một mặt là mình cũng có một cảm giác hơi lo, khi mà nói về việc lập trình. Mình luôn nghĩ là nó là một cái gì rất lớn lao, phải trải qua quá trình “tu luyện” các kiểu thì mới làm ra được một cái gì đó bởi chính mình.
Nhưng không,
Cuối cùng định mệnh đã mang Scratch đến cho mình. Hehe
Khi mà biết được cái Scratch này á, mình cũng chả biết nó là cái gì, chả biết sử dụng ra sao. Thế là mình mới tự tạo một cái “project” mới ở trên trển. Mình không biết là do mình là thiên tài tiềm năng hay là do cái Scratch nó quá là tài, mà mình chỉ cần đúng 5 phút là đã biết dùng rồi.
Để tạo ra một project trong Scratch nó rất là đơn giản, lúc đầu mình mới tiếp xúc, mình còn chả biết nó là một ngôn ngữ lập trình cơ, mình thấy nó giống như một cái game.
Mà đã nói đến game thì ai chả thích, nên là mình cũng không gặp khó khăn khi sử dụng cho lần đầu tiên.
Trong 1 trang project của Scratch thì theo mình quan sát là nó sẽ chia theo 3 phần chính.
Bên phía tay trái là mấy cái cục giống hình chữ nhật với đủ thứ màu. Những cục này chính là những câu lệnh của cái ngôn ngữ Scratch á. Nhìn nó có mấy dòng chữ ngắn ngắn vậy chứ nó làm được đủ thứ à. Không giống như mấy cái ngôn ngữ lập trình mà mình hay nghe là C, C#, C++, Python các thứ, mấy ngôn ngữ này thì mỗi lần học mà bắt học thuộc hết mấy câu lệnh thì không biết bao giờ mới xong, còn Scratch thì mình chỉ có kéo mấy cái cục đó phần trắng ở giữa màn hình, rồi cho nó gắn lại với nhau là xong, chả cần học mấy cái câu lệnh phức tạp.
Mấy cái cục đó còn được gọi là các khối á. Mà bạn gọi như thế nào cũng được, cũng chả quan trọng, bạn chỉ cần biết mấy cái khối đó nó hoạt động ra sao là được.
Muốn biết nó hoạt động ra sao à? Giờ mình chỉ cho nè.

Các bạn thấy coi qua thì thấy có tận mấy màu, mà cũng có tới mấy cái cục có hình khác nhau đúng không. Để mình tóm tắt cho lẹ lẹ nè.
Trong mấy cái cục hiện tại đang có tổng cộng là 6 cái kiểu dáng và có 9 màu cho mấy cái khối đó.
Mấy cái thông tin này thì các bạn lên google là nó có hết á, mình thì mình tóm tắt gọn gọn cho mọi người dễ hiểu.
6 kiểu dáng của khối:

Đầu tiên là dạng khối có đầu trên tròn ở trên và một cái khớp nhô ra ở phía dưới, hình nó giống vậy nè:
Thi khi nhìn vô các bạn cũng hình dung ra là mấy cái khối khác chỉ được gắn ở dưới nó thôi ha. Còn ở trên đầu nó tròn rồi mình không có gắn thêm cái gì lên trên được. Vậy thì mấy cái khối kiểu này nó sẽ là các khối mang những câu lệnh để bắt đầu một cái gì đó. Dễ hiểu, dễ hình dung ha.

Nếu mà giới thiệu cái bắt đầu rồi thì giờ mình giới thiệu luôn cái cuối cùng luôn cho nó đủ bộ của của nó:
Nó có hình dáng như thế này, thì các bạn cũng biết là nó phải nằm đâu rồi đúng không. Chính xác, nó phải nằm ở cuối cùng đó. Khi mà bạn đặt cái cục xuống cuối cùng thì sẽ không thêm được cái cục khác xuống dưới nữa, chỉ có nhét thêm ở phía trên nó thôi.
Cái loại này sẽ được dùng để kết thúc một cái hoạt động nào đó trong Scratch và nó chỉ có mỗi 2 loại cho cái cục kiểu này thôi.
Còn cụ thể thế nào thì mình không nói đâu ^^. Các bạn tự trải nghiệm là biết ngay.
Giờ là mình có mở bài với kết bài rồi, tiếp theo mình sẽ giới thiệu về thân bài cho bạn nè.

Các khối điều khiển (Control blocks hay theo đúng cái của Scratch nó gọi là Stack Blocks á), các khối này sẽ thực hiện các hành động chính cho con nhân vật của bạn. Thì các bạn gọi sao cũng được, gọi sao cho “bon mồm” mà hiểu nó là được rồi.
Cái hình dạng của nó là như vậy. Các bạn cứ vào trong Scratch là sẽ thấy mấy cái cục kiểu này nhiều nhất và có ở đủ 9 màu luôn. Các bạn đừng thấy nó nhiều vậy mà rối nha, mấy cái này là nó dễ hiểu cực kì, trên mỗi cái cục nó sẽ ghi dòng chữ á, cái dòng chữ nó ghi sao là nó làm y chang vậy, không có ẩn dụ hay ẩn ý gì hết.
Ví dụ là cái khối giống dưới này ha

Nó đang ghi là Turn, tiếng Việt nghĩa là xoay á, rồi có thêm cái vòng tròn ngược chiều kim đồng hồ - ý là nó sẽ xoay ngược chiều kim đồng hồ, là quay sang trái, rồi có cái khoảng trắng với chữ “degrees” - cái ô trắng đó là để điền số vô á.
Nếu mà cái hình nó đang có như vầy thì nó sẽ phát một câu lệnh là Xoay sang trái 1 góc 45 độ.
Chỉ có vậy thôi á, mà không hiểu nữa thì thôi á.
Còn khó hiểu nữa thì CHUNKS đang có khóa Scratch 10 ngày á. Tới đó cũng là mình dạy luôn á ^^. Học xong 10 ngày là bạn đọc Scratch như 1 quyển sách luôn.
Back lại câu chuyện chính nè.

Kế đến là những cái khối có hình dạng giống chữ C
Cũng giống giống chữ C ha.
Những cái khối này gọi là C blocks. Thì nó giống chữ C thì gọi là C đi cho dễ hiểu.
Nhìn vậy thì các bạn có hiểu ý nghĩa của nó không? Chắc là cũng mường tượng ra tác dụng có nó rồi đúng không.
Những khối này sẽ luôn đi kèm theo một cái điều kiện gì đó nha. Là nó sẽ làm các hành động nằm trong cái khối C này, mà dựa theo một cái điều kiện nào đó.
Tới ví dụ luôn cho nóng hổi:

Đây, cái C block là cái màu cam còn cái màu xanh là hồi nãy mình giới thiệu ở trên rồi đó.
Cái cục màu cam nó đang có chữ là Repeat 8 - có nghĩa là nó sẽ lập lại hành động của cái khối nằm trong nó(khối màu xanh á) tới 8 lần thì nó sẽ dừng.

1 lần xoay 45 độ, mà xoay tới tận 8 lần thì sẽ có 1 phép tính đơn giản là: 45*8=360.
Vậy là khi câu lệnh này kích hoạt, là nó tự sang trái 1 vòng rồi về vị trí cũ đó.
Có cái hình này nè, các bạn hình dung đi nha.

Cái này dễ hiểu hơn nè.
Foerver - Mãi mãi.
Vậy thì mãi mãi là bao lâu?
Trong Scratch thì mãi mãi là mãi mãi, cho tới khi bạn bấm dừng cái chương trình nha. Còn khi các bạn chọn bắt đầu chương trình thì câu lệnh này sẽ lập lại đến tận cùng á, nó còn được gọi là Loop - vòng lập forver.
Chứ không có giống mấy cái anh ngoài kia cứ nói là mãi mãi là 3 tháng, hay 1 năm, hay vài năm gì đâu.
Giờ là còn 2 cái nữa nè, cũng quan trọng lắm đấy các bạn, ngồi vững nha chứ skip qua phần này thì sau này mình làm mấy cái vip vip hơi cực á.
Khối Value - khối giá trị. Cái dáng của loại này là nó tròn ở 2 đầu. Như cái tên của nó thôi, khối giá trị, thì khối này sẽ chứa những giá trị, có thể là giá chị là số hoặc giá chị là kí tự (là chữ á, nói kí tự cho nghe hay ho thôi)
Vào ví dụ ngay cho mọi người dễ hình dung:


Các khối này được gọi chung là Value Blocks đó.
Khi mà bấm vào cái “X postition” thì nó sẽ hiện ra tọa độ điểm x:
Cái còn lại đó chính là:
Các khối Boolean Blocks - nhà CHUNKS gọi là các khối Operators (Toán tử) - Còn mình gọi là Khối Tạo điều kiện.

Hinh dáng của loại khối này sẽ giống như thế này.
Tại sao gọi nó là các khối tạo điều kiện. Mình sẽ cho một ví dụ thực tế cho các bạn dễ hiểu nè.
Các bạn biết phim Mai của anh Trần Thành mà đúng không.
Phim này hay á, mà mình nghĩ vậy thôi, chứ mình chưa đi xem nữa.
Thì phim Mai nó được gắn mác là phù hợp cho độ tuổi 18 trờ lên.
Các bạn tạo điều kiện đi.
Có phải là: “Những ai trên có số tuổi > 18 sẽ được đi vào”

> Chị bán vé: Bạn máy tuổi rồi
< Bạn sẽ nhập câu trả lời là 20
> Chị bán vé sẽ tính là 20 > 18 → OK
> Chị bán vé: Mời bạn vào!
Rồi bạn Go to Rạp chiếu phim
Nếu:
< Bạn nhập câu trả lời là 17
> Chị bán vé sé tính là 17<18→ Not OK
> Chị bán vé nói là: Bạn chưa đủ tuổi
Hãy lựa chọn phim phù hợp với bạn nhé.
Thì để tạo được cái điều kiện là lớn hơn hay bé hơn 18 tuổi. Mình sẽ khối Tạo điều kiện để làm. Vậy thôi, dễ mà đúng không?
Cũng qua cái ví dụ trên, bạn có nhận thấy là các công việc, các hoạt động hằng ngày của chúng ta đều xoay quanh những điều kiện được đặt ra không?
Thì lập trình cũng vậy, nó cũng chỉ đơn giản là những điều kiện mà chúng ta đưa ra cho máy tính để nó có thể hiểu. Bằng cách sử dụng các ngôn ngữ lập trình từ cơ bản đến nâng cao, để mình và các bạn có thể giao tiếp với máy tính, để nó có thể hiểu được những gì chúng ta muốn nó làm.
Đối với mình thì cách xử lý của một cái máy vi tính nó cũng giống như là bộ não chúng ta vậy, chỉ là những điều kiện đúng và sai. Có một điều khác biệt giữa con người và máy tính đó là, bộ não con người sẽ luôn tiếp thu thông tin và luôn cập nhật và điều chỉnh những điều kiện ấy để đưa đến những kết quả phù hợp nhất. Vì con người con người có thứ gọi là “cảm xúc” nên những những kết quả của con người không luôn luôn là đúng và sai.
À con về phần màu của các loại khối trong Scartch, để mình lướt nhanh qua nha.

Có tổng cộng là 9 màu tất cả.
Mỗi màu nó sẽ tương ứng với một những chức năng khác nhau.
Bạn đọc ở đây thì đầu tiên sẽ thấy màu xanh cùng với chữ - Motion,
Motion là Chuyển động
Chuyển động cái gì? - Chuyển động con nhân vật của các bạn đấy.
Chuyển động như thế nào? - Bạn nghĩ ra được bao nhiêu cách chuyển động thì trong phân Motion này nó cho bạn bấy nhiêu. Thật đấy, Sratch đọc bạn như 1 quyển sách luôn ấy chứ.
Cái này chắc chắn là phải có rồi nè, chứ mà không có cái này thì cái Scratch này nó khó dễ sợ khó á các bạn. Hên mà mấy ông tạo ra Scartch ổng không làm khó mình.
Looks - Bề ngoài
Bề ngoài này là bề ngoài của con nhân vật của bạn ấy.
Những câu lệnh trong phần này sẽ làm thây đổi vẻ bề ngoài của con nhân vật, đồng thời cũng sẽ làm xuất hiện những câu nói, hoặc là hiện lên những ý nghĩ của nhân vật.
Có câu nói là “Yêu từ cái nhìn đầu tiên”, nên mình cũng tự hiểu là vẻ bề ngoài nó cũng là cái gì đó khá quan trọng á. Nên là trong Scratch cũng có luôn.
Sounds - Âm thanh
Ở trên đã có Motion với Looks hỗ trợ về phần nhìn rồi thì tiếp theo không thể thiếu chính là phần nghe.
Đối với mình thì cả âm thanh và hình ảnh đều rất quan trọng, và mình nghĩ mọi người cũng như vậy luôn.
Do đấy không thể thiếu phần âm thanh trong Scratch được. Âm thanh nó là điều gì đó tạo nên màu sắc cho cuộc sống này vậy á. Bạn có thử tưởng tượng bỗng một người mà không có âm thanh gì xem, giống như tâm hồn của bạn đang bị giam bên trong một lòng kính vậy. Âm thanh chính là chìa khóa để mới cái lòng kính ấy ra.
Tiếp đến là Event - Thì ở trong phần này sẽ có nhiều nhất là các khối có cái phần trên đầu tròn tròn á. Là những khối dùng để bắt đầu những hành động khác vậy. Mình nghĩ phần này nó được đặt tên là Events tại vì khi một điều gì đó diễn ra thì, thì nó sẽ tạo thanh một sự kiện của chính cái đó. Còn Scratch nghĩ sao thì mình không biết, những mình tin là họ cũng nghĩ giống mình ^^
Control - Điều khiển:
Mình thấy đâu cũng là một trong những màu mà chúng ta dẽ dùng chính nè.
Trong loại Control này sẽ bao gồm các khối dạng chữ C là nhiều á.
Đặc biệt là nó có cái cốt lõi của lập trình, các bạn biết là gì không? Đó chính là các câu lệnh If - Else.
Bạn có thể hỏi những người làm chuyên gia trong lĩnh vực lập trình, đối với những người thực sự hiểu về nó, họ sẽ trả lời đó chỉ là thiết lập những câu lệnh IF-ELSE.
Bạn không tin sao? Hãy thử xem và tìm câu trả lời cho riêng mình nhé.
Sensing - Cảm biến.
Đây là một phần khá là thú vị trong Scratch nè. Mình sẽ giải thích một cách đơn giản cho phần này chính là khi để bạn tương tác với Scratch thì bạn sẽ cần những câu lệnh này. Chỉ vậy thôi.
Ví dụ như là khi bạn muốn bấm phím Mũi tên đi lên thì nhân vật của bạn sẽ đi lên, khi bạn muốn hét to lên thì con nhân vật bạn sẽ nói là “Á, sợ quá”, hoặc là bạn muốn khi di chuyển con chuột thì con nhân vật bạn sẽ chạy theo sau, Bạn chắc chắn sẽ cần đến các khối trong phần Sensing cho việc này.
Đơn giản là Sensing là tương tác của chúng ta đối với Scratch.
Operators (cái này mình sẽ dịch là loại Tạo điều kiện he)
Operators này nó giống như cái khối có hình lục giác vậy á.
Bạn nào chưa đọc thì lượt lên lại để đọc đi ha. Chứ mình lười viết lại lắm 🙁
Trong phân này có điểm đặc biệt là các khối lục giác và khối tròn tròn 2 đầu đầu có tác dụng là Tạo điều kiện. Nói chung là công dụng của cái tròn cũng giống như cái lục giác á. Các bạn dùng thử là thấy ngay.
Mà dùng thử rồi cũng chưa hiểu hả, tới nhà CHUNKS tham gia khóa Scratch 10 ngày đi ^^.
Variables - Biến giá trị
Cái này mình nghĩ là chắc sẽ dễ hiểu nè.
Giống như các bạn đi học Toán từ lớp 1 đến lớp 13, 14 gì á, các bạn luôn học qua cái bài mà đi tìm x đúng không.
Rõ ràng x nó nằm đó mà cô cứ bảo mình đi tìm? Khó kiểu thật sự.
Còn trong Scratch cũng vậy, bạn xẽ tạo ra x, xong bạn sẽ bắt thằng Scratch đi tìm x đi.
Vậy tại sao lại có Biến ở trong Scratch?
Ví dụ là nhà bạn có trồng cây, mà bạn đang đi du lịch 10 ngày không có nhà, mà bạn sợ cây của bạn nó bị héo.
Nên bạn đi mua một cái máy tới nước tự động.
Thì trong cái máy đó nó sẽ có một cái biến là x. X sẽ được thiết lập bằng thời gian thực hàng ngày của chúng ta á.
Cái rồi bạn set up là mỗi buổi sáng lúc 7:00 AM là máy sẽ tưới nước.
Thay vì cứ phải đến 7h bạn ra vườn để tưới nước thì bây giờ cái biến X trong máy nó sẽ tự động đếm tới 7 giờ, rồi nó sẽ tưới nước.
Vậy thôi đó, đơn giản là biến giúp cho mấy tính nó tự động tính toán thôi.
Những phần trên là những cảm nhận có nhân của mình về việc mình sử dụng Scratch và những phần hiểu của mình về các chứ năng chính trong Scratch.
Thì đối với mình Scratch nó cũng chỉ có là một ngôn ngữ lập trình thôi. Mà nó không có khó như mấy ngôn ngữ cao siêu ngoài kia đâu. Tại vì Scratch nó cung đâu phải định hướng là dạy chúng ta ngồi gõ mấy câu code dài dài đâu, nó chỉ là mấy cái khối bạn gắn lại với nhau để tạo ra được một cái gì đó. Cái thực sự mà Scratch đang cố truyền tải đó chính là cách chúng ta tư duy một vấn đề theo một cách có logic để cho máy tính có thể hiểu được điều đó.
Nếu các bạn vẫn chưa tin thì tự mình trải nghiệm xem cảm nhận của mình có đúng không nhé. Và nếu các bạn cảm thấy thích thú, muốn nâng cao cho khả năng tư duy logic của mình hoặc chỉ đơn giản là muốn biến những ý tưởng từ trước nay bạn chưa làm được, thì có CHUNKS sẽ đồng hành cùng với bạn để giúp những ý tưởng đó thành những sự thật nhé.
Chào tạm biệt các bạn!

