Từ nhỏ, chúng ta đã được học đếm số bằng những con số từ 1 đến 10. Trong chương trình toán học, chúng ta đã rất quen thuộc với hệ thập phân và dùng hệ số này rất nhiều không chỉ trong nhà trường mà còn ở trong cuộc sống hằng ngày. Vậy máy tính có đếm số 1, 2, 3 và dùng hệ số thập phân như chúng ta không?
Câu trả lời hoàn toàn là không. Máy tính sử dụng hệ đếm số riêng, gọi là hệ nhị phân. Hệ nhị phân là hệ đếm chỉ dùng hai chữ số 0 và 1. ‘Nhị’ là hai và ‘thập’ là mười – chúng ta có thể hiểu như vậy để dễ dàng phân biệt hệ nhị phân và thập phân.
Tại sao máy tính lại sử dụng hệ nhị phân mà không phải hệ thập phân? Đó là vì máy tính được tạo nên từ hàng tỷ mạch điện nhỏ. Với mạch điện, chúng ta chỉ có thể điều khiển nó với hai cách – bật hoặc tắt. Hai chế độ ấy tương ứng với hai con số trong hệ nhị phân, 1 đồng nghĩa với việc mạch điện được bật lên, và 0 nghĩa là mạch điện được tắt đi.
Vậy nên, máy tính dịch những dãy số như 010101010 thành những hiệu lệnh để có thể hiện hình ảnh, bật ứng dụng web, in bài báo, bật nhạc, và rất nhiều công dụng khác nữa.
2. Biến Số (Variable) là gì?
Biến số được sử dụng để lưu trữ thông tin. Những thông tin trong biến số này có thể được thay đổi và sử dụng sau này. Chúng ta có thể hình dung biến số như một chiếc hộp, trong đó có thể đựng một vật bất kỳ. Chúng ta có thể mở hộp ra để xem nó đựng gì hoặc đặt một vật khác vào chiếc hộp ấy.
Biến số luôn có tên và giá trị. Tên của Biến số luôn được đặt tên bằng một danh từ hoặc cụm danh từ có nghĩa liên quan trực tiếp và cụ thể đến chức năng của biến số đó. Ví dụ như toa_do_x, toa_do_y dùng để lưu toạ độ của 1 điểm trên mặt phẳng, hoặc vi_kem_yeu_thích dùng để lưu vị kem yêu thích của bạn vậy.
Biến số có thể lưu giá trị là 1 con số, 1 chuỗi ký tự, hoặc 1 trong các kiểu dữ liệu khác. Giá trị của một biến số có thể thay đổi. Ví dụ như trong trò chơi bóng đá, chúng ta có hai biến số: diem_team1, và diem_team2. Xuyên suốt trận bóng, mỗi lần đội 1 ghi điểm, chúng ta sẽ cộng thêm 1 vào điểm cho đội bóng ấy.
3. Hàm Số (Function) là gì?
Trong lập trình, chúng ta thường sử dụng một đoạn code nhiều lần để lặp lại các hành động. Hàm số là cách chúng ta dạy cho máy tính cách thực hiện hành động đấy để có thể dễ dàng sử dụng lại sau này.
Hàm số là một chuỗi mệnh lệnh mà chúng ta có thể sử dụng nhiều lần. Một ví dụ thường thấy của hàm số trong đời sống hàng ngày là công thức nấu ăn. Chúng ta có thể lấy tên công thức là nau_com(). Trong hàm số nau_com(), chúng ta có thể viết ra các bước như sau:
1. Đo gạo
2. Vo gạo
3. Cắm nồi cơm điện
4. Bật nút
Sau này, mỗi khi chúng ta cần đặt cơm, chúng ta có thể dễ dàng tìm lại công thức này và làm theo, thay vì phải suy nghĩ ra các bước từ đầu.
Trong các ngôn ngữ lập trình, hàm số luôn được đặt tên bằng một động từ hoặc cụm động từ. Ví dụ lay_toa_do_x(), lay_toa_do_y()dùng để truy xuất toạ độ x và y của 1 điểm nào đó. Có 2 cách để chúng ta viết tên hàm số:
1. camelCase:
Tên của hàm số sẽ được viết liền. Mỗi từ được viết hoa chữ cái đầu tiên, ngoại trừ từ đầu tiên luôn được viết thường.
Ví dụ:
nauCom()
lamBaiTap()
2. snake_case:
Tên của hàm số sẽ được chia bằng các gạch dưới (“_”), và tất cả các chữ đều được viết thường. Cùng là các hàm số như ở trên, với snake_case chúng sẽ được thể hiện là
nau_com()
lam_bai_tap()
Trong lập trình bằng ngôn ngữ Python, hàm số được thể hiện dưới dạng câu lệnh bao gồm các biến (variables) và mảng (arrays). Hàm số sẽ tạo ra một lệnh mới thực hiện những công việc của riêng chúng ta.
Hàm số là một yếu tố rất quan trọng trong lập trình. Nó giúp cho chương trình chúng ta viết ngắn, đơn giản và dễ hiểu hơn.
Tóm lại, sau bài học đầu tiên, các bạn học sinh cần ghi nhớ những kiến thức sau để có thể làm bài tập dễ dàng hơn:
Tuy là ngôn ngữ “hot” nhất trong thời gian gần đây, Python đã có lịch sử hình thành và phát triển được hơn 30 năm. Ngôn ngữ Python được lập trình viên Guido Van Rossum “ thai nghén” vào cuối năm 1980 và chính thức ra mắt vào tháng 2 năm 1991.
Khi ấy, Van Rossum muốn tạo ra một ngôn ngữ lập trình nhằm giúp ông truy cập vào hệ điều hành Amoeba (thay vì hệ điều hành Unix phổ biến thời đó). Cũng vì thế mà ngôn ngữ Python được định hướng phát triển với tiêu chí đơn giản, dễ hiểu và có tính mở rộng cao. Triết lý căn bản của ngôn ngữ Python được lập trình viên Tim Peters diễn tả qua một bài thơ đơn giản mà dễ thuộc:
Là một ngôn ngữ được định hướng với tính mở rộng cao, ngôn ngữ Python luôn không ngừng làm mới mình và thay đổi cho phù hợp với xu hướng phát triển của công nghệ. Tính đến nay, Python đã ra mắt tổng cộng 7 phiên bản mới.
2. Lợi ích của việc học Python
Giữa vô vàn các ngôn ngữ lập trình như Java, C, C++ cùng nhiều ngôn ngữ khác, ngôn ngữ Python là một ngôn ngữ đơn giản, dễ học và dễ sử dụng nhờ những ưu điểm nổi bật sau.
a. Cú pháp đơn giản
Python là ngôn ngữ lập trình dễ tiếp cận và dễ truyền tải vì nó được xây dựng để hạn chế tính phức tạp nhất có thể. Không giống như C++ hay Java, những câu lệnh của Python tương đối gần gũi với ngôn ngữ của con người. Những học sinh nhập môn có thể nhanh chóng hiểu bài, thực hành làm bài tập và phát hiện lỗi sai (bugs). Nhờ lợi thế này, thầy cô và học sinh có thể rút ngắn thời gian tìm hiểu cú pháp và dành thời gian cho việc thực hành dự án lập trình hoàn chỉnh ngay sau buổi học đầu tiên mà chưa cần có những kỹ năng nhất định.
b. Thư viện Python Tiêu Chuẩn (Python Standard Library) có chất lượng cao
Thư viện Python Tiêu Chuẩn được ví von như một cuốn từ điển Google. Chỉ cần gõ một từ khóa, Google sẽ đưa ra hàng triệu kết quả từ thời tiết, bản tin nước ngoài, ẩm thực đến thời trang. Tương tự, Thư viện Python Tiêu Chuẩn sẽ là “công cụ tìm kiếm” mà các lập trình viên thỏa sức tìm tòi học hỏi. Khi lập trình viên thực hiện câu lệnh chạy một ứng dụng được tích hợp sẵn trên Thư viện Python, lập trình viên được cung cấp quyền truy cập vào hệ thống và kích hoạt sử dụng ứng dụng trên máy tính của mình.
Không chỉ có The Python Standard Library, có nhiều thư viện khác mà chúng ta có thể dựa vào như SciPy, NumPy, và Django.
c. Ngôn ngữ Python Sở Hữu Nhiều Cộng Đồng Hỗ Trợ
Python đã và đang sở hữu một lực lượng cộng đồng hỗ trợ hùng hậu, nơi mà các lập trình viên có thể tìm đến để chia sẻ hướng dẫn và bí quyết học lập trình. Các bạn học sinh có thể tham khảo những cộng đồng học tập sau để cùng tham gia luyện tập:
Stack Overflow là cộng đồng nơi các lập trình viên đặt câu hỏi và trả lời câu hỏi từ những người đang gặp khó khăn hoặc muốn chia sẻ sự thông thái với cộng đồng. Theo khảo sát, có đến hơn 1,1 triệu câu hỏi liên quan đến Python được thảo luận trên Stack Overflow hằng năm.
GitHublà nơi lưu trữ dự án và cộng tác giữa các lập trình viên trên toàn thế giới. Với hơn 1 triệu kho lưu trữ trên GitHub và hơn 59 nghìn người dùng cam kết hoặc tạo ra các vấn đề trong các kho này, Python là một trong những cộng đồng nhà phát triển lớn nhất trên GitHub hiện nay.
Python cũng có một hệ sinh thái cộng đồng người dùng phong phú được tổ chức trong thư viện The Python Package Index (PyPI). Lập trình viên có thể sử dụng ngôn ngữ Python xây dựng các modules cho thư viện PyPi ngày càng phát triển hoặc sử dụng thư viện để tìm hiểu sâu các công cụ lập trình trí tuệ nhân tạo và phát triển website.
d. Hiệu quả và Tự động hoá
Python được sử dụng rộng rãi trong nhiều lĩnh vực của cuộc sống như Lập trình Web (Web Development), Lập trình Game (Game Development), Trí tuệ Nhân tạo (AI) và Máy học (Machine Learning), hay Khoa học Dữ liệu (Data Science). Lý do hầu hết các Kỹ sư Phần mềm sử dụng Python vào các công việc lập trình hay nghiên cứu là bởi vì sự hiệu quả và tính tự động hoá của ngôn ngữ này.
Ngôn ngữ Python có thể giúp ích rất nhiều trong việc tự động hóa vì có rất nhiều công cụ và modules có sẵn, giúp mọi thứ trở nên dễ dàng hơn. Một lập trình viên có thể tự động hoá nâng cao một cách dễ dàng chỉ bằng cách sử dụng ngôn ngữ Python. Python cũng là công cụ tăng hiệu suất tốt nhất trong quá trình tự động hóa việc kiểm tra và thử nghiệm phần mềm.
Bên cạnh đó, tính mở rộng của Python còn thể hiện qua khả năng di chuyển các chương trình ngôn ngữ Python giữa các hệ điều hành (Windows, MacOS hay Linux). Mã lệnh được lập trình bằng Python có thể chạy trên bất kỳ hệ điều hành máy tính nào mà không cần phải viết lại mã lệnh khác nhau cho các máy khác nhau. Điều này giúp việc làm việc nhóm giữa các lập trình viên trở nên dễ dàng hơn nhiều.
3. Khả năng sáng tạo của Python
Các bạn có biết, rất nhiều trò chơi điện tử các bạn học sinh chơi hàng ngày có thể được viết và xây dựng bởi ngôn ngữ lập trình Python?
Đầu tiên,Civilization IV là một trò chơi khá phổ biến trên máy tính, được thiết kế và phát triển bởi Soren Johnson. Map editor hỗ trợ ngôn ngữ Python
Tiếp theo, không thể không kể đến trò chơi điện tử Sims 4, phân phối bởi Electronic Arts. Hỗ trợ mod cho The Sims 4 được chuẩn bị thông qua Python bao gồm ứng dụng lập trình Python.
Cuối cùng không kém phần thú vị làBattlefield 4từ Digital Illusions CE. Battlefield Heroes chạy một số phần logic liên quan đến các chế độ chơi, ghi điểm bằng các tập lệnh Python.
Khi đến với khoá học CS 101 – Nhập môn Khoa học Máy tính với Python của STEAM for Vietnam, học sinh sẽ được học về các khối lệnh cơ bản cũng như nâng cao trong Python. Với sự đa dạng và tinh tế trong cách dạy của đội ngũ giáo viên tại STEAM for Vietnam, học sinh không những được học mà còn thỏa thích sử dụng trí tưởng tượng của mình để xây dựng những dự án cuối khoá. Những dự án này hứa hẹn sẽ chứa đựng nhiều điều bổ ích nhằm tạo cơ hội cho học sinh Việt Nam áp dụng những gì mình đã học để tạo hoá thành một sản phẩm game thú vị, hoặc có ích cho cộng đồng.
4. Cơ hội việc làm với Python
Python là ngôn ngữ phổ biến và thịnh hành trên thế giới. Cũng vì thế, có rất nhiều cơ hội việc làm dành cho các lập trình viên sử dụng ngôn ngữ Python, bao gồm cả các tập đoàn công nghệ như Google hay Facebook.
Tại Google, một kỹ sư phần mềm ở Google từng nói: “Python where we can, C++ where we must”. Python đã trở thành ngôn ngữ lập trình chính thức tại Google, đồng nghĩa với việc các kỹ sư đang phát triển rất nhiều dự án, được viết bởi Python. Có thể nói, Pythin là thứ ngôn ngữ thuận tiện mà vẫn tạo ra hiệu quả cao.
Tại Facebook, ngôn ngữ Python được sử dụng để phát triển các ứng dụng quản lý cơ sở hạ tầng như xử lý thiết lập và hình ảnh chuyển mạch mạng, lập lịch và thực hiện công việc bảo trì, hay quản lý chức năng quảng cáo.
Việc hiểu và sử dụng thành thạo ngôn ngữ lập trình Python là một kỹ năng quan trọng sẽ mang lại cơ hội việc làm tại các công ty công nghệ hàng đầu trong tương lai, ngay cả khi tính chất công việc không thuộc phạm trù kỹ thuật.
Tạm kết
Python là một ngôn ngữ dễ học mà có ứng dụng rất rộng rãi trong nhiều lĩnh vực của công nghệ thông tin. Cùng với tiêu chí “Học mà chơi, chơi mà học” của STEAM for Vietnam, những bài học với ngôn ngữ Python sẽ giúp các em học sinh tiếp cận với ngôn ngữ lập trình một cách tự tin nhưng không thiếu đi tính thử thách và sáng tạo. Các em học sinh nắm chắc được ngôn ngữ này có thể sử dụng nó lâu dài trên con đường lập trình.
Với Khóa học “CS101 – Nhập môn Khoa học Máy tính với Python” trong Học kỳ Mùa Xuân 2021 của STEAM for Vietnam, học sinh sẽ được khám phá những kiến thức căn bản về hoạt động của máy tính và học lập trình bằng ngôn ngữ Python. Lớp học sẽ giúp các em học cách sử dụng ngôn ngữ Python và áp dụng nó để giải quyết các vấn đề trong cuộc sống hằng ngày hoặc tạo ra các phần mềm có ý nghĩa.
Đội ngũ giảng viên và các khách mời chuyên gia đến từ các công ty công nghệ hàng đầu sẽ giúp các em nhanh chóng vượt qua những bỡ ngỡ ban đầu khi mới học lập trình và tự tin thực hiện một lập trình một dự án lập trình đầu tay.
Khoá học đã chính thức khai giảng vào Chủ nhật ngày 10/01/2021. Hãy theo dõi fanpage của STEAM for Vietnam để cập nhập những bài học thú vị sẽ được học trong khoá học này nhé!
— — — — — — — — — — — —
Spring Coding Bootcamp 2021 – Học kỳ Mùa xuân 2021 của STEAM for Vietnam chính thức khai giảng vào ngày 10/1/2021 với ba khóa học mới để đào tạo các kiến thức về Khoa học Máy tính cho học sinh cấp hai tại Việt Nam và nhiều quốc gia khác trên thế giới: CS 001 – Nhâp môn Tư duy Máy tính và Lập trình Scratch, CS 101 – Nhập môn Khoa học Máy tính với Python, và CS 201 – Nhập môn Thiết kế và Lập trình Robotics với VEX IQ. Các lớp học sẽ kéo dài khoảng 2 tháng và diễn ra vào sáng Chủ nhật hàng tuần giờ Việt Nam.
Theo dõi thông tin trên fanpage STEAM for Vietnam để cùng cập nhật những thông tin mới nhất về Spring Coding Bootcamp 2021: https://www.facebook.com/steamforvietnam.org
Kết thúc mùa hè 2020, STEAM for Vietnam đã tạo dấu ấn với hơn 5,000 học sinh tham dự Trại hè Lập trình Miễn phí Summer Coding Bootcamp 2020. Phương pháp giảng dạy OMO – Online kết hợp Offline và hình thức Live MOOC độc đáo của STEAM for Vietnam đã tạo ra phong trào học lập trình trong các bạn học sinh.
Khởi đầu 2021, STEAM for Vietnam quay trở lại với Học kỳ Mùa xuân Spring Coding Bootcamp 2021 với ba lớp học hoàn toàn miễn phí về Lập trình và Robotics, trong đó có khoá học CS101: Nhập môn Khoa học Máy tính với Python. Đây là khoá học được phát triển dựa trên khóa học CS50: Introduction to Computer Sciencecủa Đại học Harvard. Vậy có gì đặc biệt trong khóa học này? Hãy cùng tìm hiểu nhé!
1. Tại sao lựa chọn khóa học CS50?
a. Ngôn ngữ lập trình
Giữa vô vàn các ngôn ngữ lập trình: Java, C, C++ cùng nhiều ngôn ngữ khác, Python đã trở thành lựa chọn không thể ưu việt hơn. Với tiêu chí “Học mà chơi, chơi mà học” của STEAM for Vietnam, Python sẽ giúp các em học sinh tiếp cận với ngôn ngữ lập trình một cách tự tin nhưng không thiếu đi tính thử thách.
Python là ngôn ngữ lập trình dễ tiếp cận và dễ truyền tải vì nó được xây dựng để hạn chế tính phức tạp nhất có thể. Không giống như những ngôn ngữ Lập trình hướng đối tượng (Object – oriented programming) C++ hay Java, những câu lệnh của Python tương đối gần gũi với ngôn ngữ của con người. Những học sinh nhập môn có thể nhanh chóng hiểu bài, thực hành làm bài tập và phát hiện lỗi sai (bugs). Nhờ lợi thế này, thầy cô và học sinh có thể hoàn thành dự án hoàn chỉnh ngay sau buổi học đầu tiên mà chưa cần quá nhiều kiến thức về lập trình.
Python được sử dụng rộng rãi trong nhiều lĩnh vực của cuộc sống như Phát triển Website (Website Development), Ứng dụng Thiết kế (Design Application), hay Phát triển Phần mềm (Software Development). Vì tính ứng dụng rộng rãi này mà Python sở hữu nhiều cộng đồng hỗ trợ trực tuyến, tạo điều kiện cho các bạn học sinh tìm hiểu và học hỏi thêm bên ngoài phạm vi lớp học.
b. Giáo trình CS50 Harvard
STEAM for Vietnam đã phát triển khoá học CS 101 – Nhập môn Khoa học Máy tính với Python dựa theo giáo trình CS50 Introduction to Computer Science. Giáo trình CS50 được biên soạn bởi các giáo viên của Đại học Harvard và được giảng dạy phổ biến cho học sinh tại các trường trung học của Mỹ dưới dạng lớp AP (Advanced Placement) – các khóa học cho phép học sinh làm quen, nhập môn và có cơ hội lấy được tín chỉ Đại học ngay từ khi còn ở bậc phổ thông.
Cấu trúc bài giảng được thiết kế phù hợp với đại đa số người học, không cần yêu cầu kiến thức nền tảng về lập trình. Vì vậy, đã thu hút được hơn 2,5 triệu lượt đăng ký học trên nền tảng edX.
Mục tiêu khóa học không những giới thiệu cho học viên về ngôn ngữ lập trình, mà còn tập trung hướng dẫn học sinh cách tư duy logic thông qua việc giải quyết các thuật toán (hệ thống quy trình giải quyết dữ liệu của máy tính).
2. Học sinh sẽ học được gì từ khóa học này?
a. Khám phá được sự thú vị của bộ môn lập trình tưởng chừng như khô khan
Tuy dựa theo giáo trình CS50 của Đại học Harvard, giáo trình khoá học CS101: Nhập môn Khoa học Máy tính với Python đã có sự cải tiến và thiết kế lại phù hợp với học sinh Việt Nam. Qua 8 buổi học, học sinh sẽ tham gia hành trình khôi phục lại hệ thống Siêu Máy Tính đã bị nhiễm mã độc và giải cứu đội ngũ Chuyên gia để hoàn thành nhiệm vụ nghiên cứu vaccine chống COVID-19. Đồng hành trên chặng đường là bạn Trẩu và robot Tre.
Hành trình thú vị này sẽ giúp các các bạn học sinh nắm được thao tác lập trình căn bản với Python cũng như tìm hiểu về cách máy tính vận hành và xử lý dữ liệu.
Ngay từ bài học đầu tiên học sinh sẽ được trải nghiệm thử thách giải mật mã bằng các con chữ và kí hiệu được mã hoá đặc biệt dưới dạng ngôn ngữ máy tính. Thay vì truyền tải kiến thức một cách khô khan, thầy và trò cùng nhau giải mã mật số bằng cách tìm hiểu ngôn ngữ Hệ nhị phân (Binary) của máy tính. Bên cạnh đó, các em còn được giới thiệu về cách những emoji được sử dụng hàng ngày – cũng là sản phẩm của một chuỗi ký hiệu được lập trình sẵn.
Ở những bài học tiếp theo, thầy và trò sẽ cùng khám phá nhiều thử thách kỳ thú hơn nữa. Điển hình như bài học số 1, học sinh sẽ cùng thầy cô chỉnh sửa lỗ hổng bảo mật, cho phép máy tính lựa chọn mật mã hợp lý để mở cánh cửa thần kì trong hành trình giải cứu. Thử tương tượng với việc học lập trình nghiêm túc, ngay từ buổi học số 2, học sinh đã có thể lập trình ra được một hệ thống có thể tự động thông báo khi nhập mật khẩu đúng hoặc có những gợi ý khi nhập mật khẩu sai sẽ kỳ thú đến như thế nào!
Một điểm mới mẻ trong khóa học này là bài tập về nhà có hai phần cho học sinh lựa chọn tuỳ thuộc vào khả năng bản thân. Phần cơ bản để luyện tập những kiến thức đã học và phần nâng cao để thử thách bản thân hơn. Ngoài ra, nội dung bài học còn có những buổi học ngoại khóa dành cho học sinh, nhấn mạnh vào kỹ năng mềm cũng như khả năng hoạt họa – phần Nghệ thuật (Arts) trong giáo dục STEAM.
b. Học hỏi với các chuyên gia hàng đầu
Bên cạnh đó, Đội ngũ giảng viên, bao gồm các thầy cô hiện đang là Kỹ sư Phần mềm tại các tập đoàn lớn, có kinh nghiệm lâu năm trong việc sử dụng Python trong lập trình. Bên cạnh đó, đội ngũ trợ giảng hùng hậu sẽ tổ chức “Giờ Giải đáp” (Office Hour) hỗ trợ trả lời các thắc mắc của học sinh.
“Việc dạy các khái niệm cơ bản về khoa học máy tính cho các em là hoàn toàn có cơ sở.
c. Mô hình giáo dục Online merge Offline (OMO)
STEAM for Vietnam ứng dụng mô hình giáo dục Online merge Offline (OMO) mang lại cơ hội được học với những chuyên gia giỏi nhất cho học sinh Việt Nam ở bất kỳ đâu trên thế giới, không phân biệt vị trí địa lý hay điều kiện gia đình. Một giảng viên có thể giảng bài trực tiếp và tương tác với cả ngàn học sinh, trong khi đó, đội ngũ trợ giảng luôn sẵn sàng hỗ trợ để học sinh không bị ảnh hưởng tới việc tiếp thu bài học. Các em học sinh sẽ học tập trên các nền tảng onlineSTEAM for Vietnam LMS và Live App như các trường học tại nước ngoài. Mục Thảo Luận trực tuyến là nơi học sinh đặt câu hỏi thảo luận với các bạn cùng khoá, qua đó khuyến khích tinh thần học hỏi từ bạn bè. Đặc biệt, học sinh có thể chia sẻ các Dự án cá nhân trên hệ thống STEAMese Profilevới các học sinh khác trên toàn thế giới.
3. Khởi đầu con đường trở thành Kỹ sư Phần mềm với STEAM for Vietnam.
Khóa học “CS101: Nhập môn Khoa học Máy tính với Python” sẽ giúp các bạn học sinh tìm hiểu về cách máy tính vận hành và cách lập trình bằng ngôn ngữ Python. Thông qua việc học lập trình, các em học sinh trau dồi và phát triển tư duy logic, kỹ năng nhìn nhận và giải quyết vấn đề một cách hiệu quả. Qua đó, sẽ giúp các em học tập bộ môn Khoa học Máy tính hiệu quả và phát triển kỹ năng cần thiết để trở thành Kỹ sư Phần mềm trong tương lai.
Khoá học phù hợp nhất với các bạn học sinh từ 13 tới 16 tuổi. Phương pháp học kết hợp với thực hành thông qua dự án cá nhân tạo điều kiện cho các bạn học sinh hiểu những khái niệm cơ bản về Khoa học Máy tính, rèn luyện kỹ năng lập trình và niềm đam mê sáng tạo.
Khoá học đã chính thức khai giảng vào Chủ nhật ngày 10/01/2021. Hãy theo dõi fanpage của STEAM for Vietnam để cập nhập những bài học thú vị sẽ được học trong khoá học này nhé!
— — — — — — — — — — — —
Spring Coding Bootcamp 2021 – Học kỳ Mùa xuân 2021 của STEAM for Vietnam chính thức khai giảng vào ngày 10/1/2021 với ba khóa học mới để đào tạo các kiến thức về Lập trình và Robotics cho hàng ngàn học sinh Việt tại Việt nam và nhiều quốc gia khác trên thế giới: CS 001 – Nhâp môn Tư duy Máy tính và Lập trình Scratch, CS 101 – Nhập môn Khoa học Máy tính với Python, và CS 201 – Nhập môn Thiết kế và Lập trình Robotics với VEX IQ. Các lớp học sẽ kéo dài khoảng 2 tháng và diễn ra vào sáng Chủ nhật hàng tuần giờ Việt Nam.
Theo dõi thông tin trên fanpage STEAM for Vietnam để cùng cập nhật những thông tin mới nhất về Spring Coding Bootcamp 2021: https://www.facebook.com/steamforvietnam.org
Câu lệnh lấy ngẫu nhiên từ () đến () sẽ cho bạn một con số ngẫu nhiên trong khoảng 2 số cho sẵn, tính cả 2 số đó.
Nếu cả 2 số cho trước đều là số nguyên, câu lệnh sẽ cho bạn 1 số nguyên. Ví dụ, 2 số cho trước là 1 và 3, các số bạn có thể nhận được là 1,2,3.
Nếu 1 trong 2, hoặc cả 2 số cho trước là số thực, câu lệnh sẽ cho bạn 1 số thực, với 17 chữ số sau dấu phẩy. Ví dụ, 2 số cho trước là 0,1 và 0,14, bạn có thể nhận được bất kỳ số nào giữa 0,1 và 0,14, như là số 0,13545101673985742.
2. Một số ứng dụng của Lấy ngẫu nhiên trong Scratch
a. Cho nhân vật 1 trang phục ngẫu nhiên :
b. Cho biến 1 giá trị ngẫu nhiên :
c. Chọn 1 đối tượng bất kỳ :
d. Thực hiện một hành động với xác suất ngẫu nhiên :
e. Đợi từ 1 đến 3 giây (Các bạn có thể thay số tùy ý nhé).
Cái này có thể kết hợp với câu lệnh “Đi tới vị trí ngẫu nhiên” và vòng lặp “Liên tục” để tạo thành khối cứ một số giây ngẫu nhiên thì chuyển vị trí
Có rất nhiều ứng dụng thú vị được tạo ra bằng cách lấy ngẫu nhiên, các bạn hãy tìm tòi khám phá thêm nhé.
— — —
STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.
Biến số (Variable) là một đại lượng thay đổi dùng để lưu trữ dữ liệu trên bộ nhớ của Scratch. Tại mỗi thời điểm nhất định, biến số chỉ mang một giá trị duy nhất. Nhưng có thể thay đổi giá trị của biến nhiều lần trong quá trình chạy chương trình.
Ví dụ:
Trong trò chơi Phá Đảo Thiên Thạch, chúng ta cần sử dụng biến Điểm (Score) để có thể lưu lại số Điểm của người chơi. Sau mỗi lần Bóng chạm vào Thiên Thạch, biến điểm lại thay đổi (cụ thể là tăng lên 1 điểm).
CÁC LOẠI BIẾN
Về cơ bản, có hai loại biến số:
Biến cho tất cả các nhân vật trong trò chơi (Biến toàn cục): Giá trị của biến có thể hiển thị hay thay đổi bởi tất cả các đối tượng trong Scratch (nhân vật, sân khấu)
Biến chỉ cho nhân vật này (Biến cục bộ): Giá trị của biến chỉ có thể hiển thị và thay đổi bởi chính nhân vật mà lúc đầu chúng ta chọn để tạo biến.
HƯỚNG DẪN TẠO BIẾN
Bước 1:
Chọn nhân vật bạn muốn để tạo biến
Bước 2:
Chọn nhóm lệnh Các biến số
Bước 3:
Chọn Tạo một biến. Sau đó màn hình sẽ hiển thị hộp thoại:
Bước 4:
Điền tên biến, chọn loại biến thích hợp rồi sau đó nhấn nút OK
Kết quả:
Sau khi nhấn OK, biến mới được tạo ra và xếp ở dưới như hình vẽ.
Ngoài ra để thao tác với biến, chúng ta có các khối lệnh sau đây:
CÁC KHỐI LỆNH VỚI BIẾN
1. Đặt biến số
Câu lệnh giúp đặt giá trị ban đầu cho biến. Ví dụ khi bắt đầu trò chơi, điểm số sẽ trở về 0, ta được khối lệnh như sau:
2. Thay đổi giá trị
Câu lệnh giúp thay đổi giá trị của biến. Ví dụ, khi Rắn ăn Ngôi Sao thì người chơi được tăng thêm 1 điểm:
Một ví dụ khác, khi chạm Quái Vật thì người chơi bị trừ đi 1 điểm:
3. Ẩn/Hiện biến số trên màn hình
Khối lệnh giúp thiết lập ẩn hay hiện biến số trên màn hình. Dưới đây là hình ảnh khi chọn Ẩn và Hiện biến Điểm. Khi hiện, biến Điểm sẽ mặc định được đặt ở vị trí trên cùng bên trái, ta cũng có thể di chuyển biến Điểm tới một vị trí khác trên màn hình.
— — —
STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.
Trục Ox là trục nằm ngang, kéo dài từ bên trái sang bên phải tương ứng với giá trị x từ -240 (bên trái màn hình) đến 240 (bên phải màn hình). Tọa độ x (hay còn gọi là hoành độ) để biểu thị vị trí của nhân vật theo phương ngang.
Tương tự như vậy, trục Oy là trục thẳng đứng, kéo dài từ dưới lên trên tương ứng với giá trị y từ -180 (phía dưới màn hình) đến 180 (phía trên màn hình). Tọa độ y (hay còn gọi là tung độ) để biểu thị vị trí của nhân vật theo phương thẳng đứng.
Kết hợp tọa độ x và y, ta được một bộ (x;y) dùng để biểu diễn chính xác vị trí của nhân vật trên màn hình.
Ngoài ra, điểm O sẽ là điểm nằm chính giữa màn hình và O có tọa độ (0;0).
Ứng dụng
1. Tọa độ của nhân vật :
Để biết được tọa độ của nhân vật, ta nhấn chọn nhân vật đó và nhìn ở phần thuộc tính nhân vật.
Ví dụ:
Nhân vật mèo Miu dưới đây có tọa độ x bằng -125 còn tọa độ y bằng -18.
2. Tìm tọa độ của nhân vật ở vị trí bất kỳ
Muốn biết tọa độ của nhân vật ở vị trí bất kỳ, bạn hãy nhấn chọn nhân vật và di chuyển nhân vật đến vị trí đó và thả chuột. Phần thuộc tính của nhân vật sẽ tự động cập nhật vị trí tọa độ (x;y) tương ứng.
Ví dụ:
Vị trí ban đầu của nhân vật là (-177;-1) (hoành độ x có giá trị là -177, tung độ y có giá trị là -1). Sau khi di chuyển nhân vật đến vị trí mới thì tọa độ của nhân vật lúc đó là (1;103) (hoành độ x có giá trị là 1, tung độ y có giá trị là 103).
— — —
STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.
Tiện ích mở rộng trong Scratch giúp kết nối các dự án Scratch với phần cứng bên ngoài (chẳng hạn như LEGO WeDo hoặc micro: bit), các nguồn thông tin trên web (chẳng hạn như Google Dịch và Amazon Text to Speech) hoặc các khối cho phép chức năng nâng cao hơn.
Tiện ích mở rộng thêm các khối để có thể kết nối với một thiết bị hoặc nguồn dữ liệu cụ thể.Khi một tiện ích mở rộng được bật, các khối của tiện ích sẽ xuất hiện ở một vị trí có cùng tên với tiện ích mở rộng.
Để tải tiện ích mở rộng, hãy nhấp vào biểu tượng ở góc dưới cùng bên trái của màn hình và chọn tiện ích mở rộng.
Có hai loại tiện ích mở rộng trong Scratch 3.0: phần cứng và web.
Tiện ích Pen là một tiện ích mở rộng trong Scratch cho phép bạn điều khiển bút của của mình, cũng như tự đóng dấu trên màn hình và xóa tất cả các dấu bút trước đó.
Tiện ích Pen có 9 khối trong Scratch.
4. Tiện ích Văn bản thành Giọng nói
Tiện ích Văn bản thành giọng nói giúp bạn phiên dịch một văn bản bao gồm ba khối và cho phép các dự án sử dụng nó để xuất ra giọng nói tổng hợp.
5. Tiện ích Dịch
Tiện ích Dịch giúp bạn dịch các từ giữa các ngôn ngữ bằng Google Dịch. Phần mở rộng này có hai khối, cả hai đều là Khối báo cáo.
Khối Dịch chỉ hoạt động khi được kết nối với internet. Nếu câu nhất định đã được dịch khi trực tuyến, Scratch sẽ ghi nhớ câu cho lần dịch tiếp theo, ngay cả khi ngoại tuyến.
— — —
STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.
Câu lệnh này truyền 1 thông điệp (các bạn có thể hiểu đơn giản là tín hiệu) cho tất cả những chỗ có câu lệnh “Khi nhận …” mà chỗ “…” là thông điệp đó.
Câu lệnh “phát tin” có thể tạo một thông điệp mới bằng cách ấn vào “Thông báo mới”.
2. Khối lệnh khi nhận (…) :
Đây là câu lệnh để xử lý khi nhân vật nhận được thông điệp.
Ý nghĩa:
Khi nhận được thông điệp (các bạn có thể hiểu đơn giản là tín hiệu), thì thực hiện kịch bản.
Khi ấn vào hình mũi tên chỉ xuống, các bạn sẽ thấy danh sách các thông điệp đã được tạo, hoặc tạo một thông điệp mới bằng cách ấn vào “Thông báo mới”.
Chú ý : Dù không bắt buộc, nhưng các bạn nên đặt tên cho thông điệp của mình một cái tên có ý nghĩa nhé. Nó sẽ giúp ích cho các bạn rất nhiều đấy !
Ví dụ :
Câu lệnh “Phát tin xuất hiện” này sẽ gửi thông điệp “xuất hiện” đi khi phím “Phím trắng” được ấn, và thông điệp này sẽ được nhận bởi câu lệnh “Khi nhận xuất hiện”.
Khi nhận được thông điệp “xuất hiện”, nhân vật sẽ thực hiện hành động (xuất hiện) theo kịch bản.
3. Khối lệnh phát tin (…) và đợi
Đây cũng là câu lệnh phát tin, tức là gửi đi một thông điệp, và nó hoạt động tương tự như câu lệnh “Phát tin … “. Chỉ khác là câu lệnh này sẽ chờ cho nhân vật thực hiện xong hành động theo kịch bản, sau đó mới thực hiện câu lệnh tiếp theo
Ví dụ :
Trong đoạn lệnh này, sau khi ấn phím trắng, mèo sẽ phát đi thông điệp “Đi tới gần cá”, sau đó nói “xin chào”. Nhưng mèo không nói “xin chào” ngay sau khi phát đi thông điệp, mà chờ cho đến khi thông điệp này được thực hiện xong, là khi mèo đã đi đến chỗ cá, mèo mới nói “xin chào”.
— — —
STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.
Vòng lặp (loop) là một khái niệm cơ bản trong lập trình. Chức năng của vòng lặp là lặp đi lặp lại những hành động bên trong vòng lặp. Thay vì cứ nối đoạn chương trình với các câu lệnh giống y hệt nhau thì người ta có thể sử dụng vòng lặp để giảm số câu lệnh và khiến chương trình rõ ràng hơn.
Ví dụ:
Thay vì nối 5 câu lệnh trang phục kế tiếp, chúng ta có thể lập trình như sau:
2. Các loại vòng lặp trong Scratch
Tùy theo số lần lặp mà người ta phân ra làm ba loại: Lặp lại, Lặp lại cho đến khi và Liên tục.
a. Vòng lặp Lặp lại:
Ý nghĩa:
Lặp lại với số lần cố định biết trước
Ví dụ:
Một bạn nhỏ đang ở dưới chân cầu thang, cầu thang dài 10 bậc. Thay vì nối liền 10 câu lệnh di chuyển 1 bước, chúng ta có thể lặp lại câu lệnh đó 10 lần:
b. Vòng lặp Lặp lại cho đến khi:
Ý nghĩa:
Lặp lại cho đến khi thỏa mãn một điều kiện nào đó (có thể hoặc không biết trước số lần lặp, miễn là thỏa mãn điều kiện thì vòng lặp sẽ dừng lại)
Ví dụ:
Một bạn nhỏ đang ở dưới chân cầu thang, không biết trước số bậc là bao nhiêu. Miễn là bạn đó leo hết cầu thang, đến tầng gác mái thì vòng lặp dừng lại.
c. Vòng lặp Liên tục:
Ý nghĩa:
Lặp lại mãi mãi (Cho đến khi nào chương trình dừng thì sẽ dừng vòng lặp. Chừng nào chương trình còn chạy thì vẫn tiếp tục lặp)
Khi bạn muốn chơi một đoạn nhạc nền trong chương trình, bạn sẽ sử dụng vòng lặp liên tục (chơi nhạc) đến khi chương trình kết thúc.
Lưu ý: Ta vẫn có thể lập trình tiếp sau câu lệnh Lặp lại hay Lặp lại cho đến khi. Còn đối với liên tục, ta không thể nối bất cứ câu lệnh nào phía sau nó.
— — —
STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.
Một trong câu lệnh cơ bản của tất cả các ngôn ngữ lập trình, bao gồm cả Scratch, chính là câu lệnh Nếu … thì …
Câu lệnh Nếu được gọi là câu lệnh điều kiện. Câu lệnh này dùng để kiểm tra một điều kiện nào đó, nếu thỏa mãn điều kiện thì thực hiện câu lệnh.
Ví dụ:
Trong trường hợp này, nếu nhân vật đang chạm Mèo Min thì chương trình sẽ dừng lại các kịch bản khác cho nhân vật.
Ở đây “Dừng lại các kịch bản khác cho nhân vật” được hiểu đơn giản là các nhân vật khác sẽ dừng ở trạng thái hiện tại và không thực hiện các hành động sau nữa.
Nếu điều kiện sai (đang không chạm Mèo Min) thì sẽ không làm gì cả.
Một ví dụ khác đơn giản hơn:
Chương trình sẽ kiểm tra “Nếu hôm nay là chủ nhật? Thì đến thăm ông bà”. Trong trường hợp hôm nay không phải là chủ nhật, thì không làm gì.
MỞ RỘNG
Ngoài ra còn có câu lệnh Nếu … thì … Nếu không … thì …
Câu lệnh này gần giống với câu lệnh Nếu … thì … nguyên bản, nhưng điểm đặc biệt ở chỗ: Sau khi kiểm tra điều kiện, nếu thỏa mãn đúng điều kiện thì thực hiện nhóm lệnh 1, nếu không thỏa mãn điều kiện thì thực hiện nhóm lệnh 2.
Ví dụ:
Ở ví dụ này, nếu nhân vật đang chạm Mèo Min thì sẽ thực hiện dừng lại các kịch bản khác cho nhân vật. Trong trường hợp ngược lại (nếu đang không chạm Mèo Min) thì nhân vật sẽ di chuyển 10 bước.
Một ví dụ khác đơn giản hơn:
Chương trình sẽ kiểm tra “Nếu hôm nay là chủ nhật? Thìđến thăm ông bà”. Trong trường hợp hôm nay khôngphải làchủ nhật thì sẽ đến trường.
— — —
STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.