Kết thúc Học kỳ Mùa thu 2021, Demo Day – Ngày hội lập trình viên nhí – đã bình chọn và trao giải cho những bài thi sáng tạo và nổi bật nhất là hai phiên bản ‘‘Bay cao Việt Nam’ của bạn Trần Quốc Bảo (10 tuổi) và bạn Trần Hoàng Long (10 tuổi).
Giải xuất sắc nhất: Trần Quốc Bảo
Với sức sáng tạo và sự nỗ lực, bạn Trần Quốc Bảo đến từ Đồng Nai đã vượt qua hàng trăm bài thi và giành được Giải Xuất sắc nhất trong Demo Day vừa qua. Dự án cuối khóa ‘Bay cao Việt Nam’ của Quốc Bảo có những biến tấu vô cùng khác biệt và thú vị. Dựa vào ý tưởng gốc là một trò chơi kể về hành trình của bạn Cò bay qua mọi miền đất nước, Quốc Bảo làm trò chơi của mình thêm phần thú vị với ý tưởng lập trình cho bạn Cò sẽ “béo” thêm mỗi khi có đồ ăn cùng với thanh điểm thể hiện độ “béo” của bạn Cò. Cùng khả năng thuyết trình tự tin và sự am hiểu về kiến thức lập trình, Quốc Bảo thật xứng đáng giành giải thưởng cao nhất trong ngày hội Demo Day này!
Giải được Yêu thích nhất: Trần Hoàng Long
Dự án của bạn Trần Hoàng Long đến từ An Giang chinh phục được thầy cô với ý tưởng vô cùng thú vị. Trong dự án ‘Bay cao Việt Nam’ của Hoàng Long, người chơi sẽ được hóa thân thành các nhân vật của STEAM for Vietnam (bạn Cò, bạn Robot và bạn Miu) trở thành các dũng sĩ diệt COVID – đại diện cho đội ngũ chống dịch tuyến đầu – mang vaccine đến cho mọi nhà. Với ý tưởng đột phá này, trong tổng số hơn 300dự án tham gia, bạn Hoàng Long đã tạo dấu ấn với 127 lượt bình chọn từ các bạn học sinh STEAM for Vietnam với nhiều bình luận tích cực.
Học kỳ Mùa Xuân 2022 có gì đáng chú ý?
Trải qua 4 học kỳ lập trình cùng với 3 khóa học CS 001, CS 101 và CS 201, STEAM for Vietnam đã mang lập trình đến với hơn 35,000 học sinh đang sinh sống và học tập tại 34 quốc gia. Bên cạnh đó, đội ngũ hơn 140 giảng viên, trợ giảng, và tình nguyện viên hỗ trợ cũng rất tự hào khi chứng kiến sự phát triển của học sinh qua những chia sẻ của các em trong dự án ‘Nhật ký Lập trình’.
Để tiếp nối thành công của các học kỳ trước và hoàn thành sứ mệnh mang nền giáo dục STEAM đẳng cấp quốc tế đến với trẻ em Việt Nam một cách bình đẳng, đội ngũ STEAM for Vietnam cho ra mắt khóa học chuyên sâu hoàn toàn mới CS 002 – Tư duy Máy tính và Lập trình Scratch Nâng caotrong Học kỳ Mùa xuân 2022 này.
CS 002 – Tư duy Máy tính và Lập trình Scratch Nâng cao là khóa học lập trình hướng đến học sinh từ 8 đến 16 tuổi chưa hoặc ít tiếp xúc với lập trình. Xuyên suốt khóa học, học sinh sẽ được đào tạo và rèn luyện khả năng tư duy máy tính và sử dụng ngôn ngữ lập trình Scratch theo hình thức “học mà chơi, chơi mà học” được giảng dạy bởi đội ngũ giảng viên là các kỹ sư phần mềm thực thụ với kinh nghiệm giảng dạy cho hàng nghìn học sinh Việt Nam.
Khóa học là hành trình thú vị của nhân vật Miu và các bạn khám phá thế giới STEAMderland. Trong mỗi buổi học, bạn sẽ được học về tư duy lập trình và các kiến thức cơ bản của lập trình thông qua việc làm dự án. Tư duy Máy tính sẽ được sử dụng để phân tích và đưa ra giải pháp thực hiện dự án. Sau đó học sinh sẽ thực hành lập trình theo giải pháp đã đề ra để giải quyết vấn đề. Kết thúc buổi học, học sinh sẽ có ngay cho mình một trò chơi hay một đoạn phim hoạt hình để có thể tự hào chia sẻ với bạn bè và người thân.
CS 002 – Tư duy Máy tính và Lập trình Scratch Nâng caolà phiên bản ‘nâng cao’ của khóa học CS 001 – Nhập môn Tư duy Máy tính và Lập trình Scratch. Cùng sử dụng ngôn ngữ lập trình Scratch, một sản phẩm của Viện Công nghệ Massachusetts (MIT), tuy nhiên, các câu hỏi và thử thách đặt ra trong khóa học CS 002 đòi hỏi học sinh cần có vốn kiến thức nhất định về Toán và Vật Lý để hoàn thành dự án và bài tập về nhà. Điều đó cũng có nghĩa là những kiến thức lập trình được giảng dạy trong khóa học CS 002 này sẽ vô cùng mới mẻ và các dự án lập trình cuối khóa của học sinh sẽ rất đáng được mong chờ!
Sau hơn 4 tháng dày công chuẩn bị, đội ngũ STEAM for Vietnam tin chắc rằng khóa học CS 002 – Tư duy Máy tính và Lập trình Scratch Nâng cao sẽ mang đến cho các em học sinh Việt Nam một trải nghiệm học lập trình vô cùng ý nghĩa và bổ ích. Tìm hiểu thêm về khóa học tại đây.
— — —
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 số kiến thức chúng ta đã được học ở bài 3 của khoá CS 101 sẽ được áp dụng để hoàn thành trò chơi này:
Mảng trong Python.
Cách lấy phần tử ngẫu nhiên trong mảng bằng thư viện random.
Vòng lặp while trong Python.
Câu lệnh input() để nhập dữ liệu trong Python.
Câu lệnh print() để in thông báo ra màn hình.
Câu chuyện về dự án
Các bạn học sinh hãy thử tưởng tượng mình hóa thân vào vai một vị đạo diễn tài năng đang làm phim. Trong phim có hai nhân vật chính: một nam, một nữ. Ý tưởng về lời thoại và trang phục phù hợp cho hai nhân vật đã có trong kịch bản trên tay đạo diễn. Thế nhưng, có quá nhiều kịch bản hay nên các bạn chưa biết phải lựa ra kịch bản nào làm một bộ phim hoàn chỉnh. Các bạn học sinh đã có những ý tưởng khắc phục vấn đề này hay chưa? STEAM for Vietnam gợi ý thư viện random trong Python có thể giúp chúng ta kết hợp các lời thoại, trang phục khác nhau để tạo nên những câu chuyện đa dạng đấy!
Trong Python, thư viện random để thực hiện ngẫu nhiên một việc gì đó. Ở trò chơi Nhà thám hiểm và cánh cửa bí mật, chúng ta đã sử dụng một câu lệnh trong thư viện này để tạo số ngẫu nhiên cho nhân sư: random.randint(1,10).
Ngoài ra, thư viện random còn có một câu lệnh để lấy ngẫu nhiên một phần tử trong mảng: random.choice(). Chúng ta sẽ dùng câu lệnh này để tạo ra game.
Code:
a) Bước 1: Tạo danh sách các nhân vật, lời thoại, trang phục, và diễn biến câu chuyện:
Chúng ta sử dụng mảng để lưu trữ danh sách các nhân vật, lời thoại, trang phục, và diễn biến câu chuyện. Mảng sẽ được khai báo bằng [], các phần tử trong mảng được ngăn cách với nhau bởi dấu phẩy:
women = ["Một nữ hoàng", "Một bà già", "Bà Granny", "Một con chim", "Một nhà quý tộc", "Một bác sĩ", "Một diễn viên", "Trẩu"]
men = ["một sĩ quan", "một bá tước", 'một vị vua', 'một rô bốt sát thủ', 'một nghệ sĩ', 'một ông già', 'một nhà hoá học', 'William']
place = ['dưới biển', 'trên sao Hoả', 'ở siêu thị', 'trong một toà lâu đài', 'trong nhà bạn', 'trên mái nhà', 'phòng thí nghiệm']
women_wear = ['một cái váy', 'một cái túi giấy', 'một bộ đồ lặn', 'một cánh tiên', 'một bao ni lông']
men_wear = ['một bộ vest tím', 'một bộ đồ hoá trang con gấu', "một cái áo sơ mi"]
happens = ['sập nhà', 'cãi lộn', 'đánh nhau', 'một bàn chân lớn nghiền nát họ','núi lửa phun trào', 'động đất', 'Trái đất nổ tung']
women_say = ['Ngươi là ai?', 'Xin chào', 'đưa tiền đây', 'hello']
men_say = ["Ai đó", 'bíp bíp', 'ngươi là đứa nào', 'giết người', 'hello', 'Chả hiểu nói gì']
b) Bước 2: Tạo câu chuyện ngẫu nhiên:
Bộ phim của chúng ta sẽ bắt đầu khi nhân vật nam gặp nhân vật nữ tại một địa điểm nào đó. Hai người nói chuyện với nhau và sự việc tiếp theo xảy ra.
Tương tự như trò chơi “Nhà thám hiểm và cánh cửa bí mật”, chúng ta sử dụng câu lệnh input() để hỏi người dùng khi nào muốn dừng trò chơi và vòng lặp while để tiếp tục trò chơi. Chúng ta sử dụng câu lệnh print để in ra câu chuyện.
Để lấy ngẫu nhiên một phần tử trong mảng, chúng ta sử dụng câu lệnh: random.choice(). Trong dấu ngoặc sẽ là tên của mảng. Ví dụ, để lấy ngẫu nhiên một nhân vật nữ trong mảng women, chúng ta sử dụng câu lệnh: random.choice(women)
Code hoàn chỉnh sẽ là:
import random
tiep = "y"
while tiep == "y":
print(random.choice(women),"gặp", random.choice(men),random.choice(place))
print("Cô ấy mặc", random.choice(women_wear))
print("Anh ấy mặc", random.choice(men_wear))
print("Cô ấy nói", random.choice(women_say))
print("Anh ấy nói", random.choice(men_say))
print("Điều đó dẫn đến", random.choice(happens))
print()
tiep = input("Nhấn y để tiếp tục hoặc n để thoát: ")
print()
4. Tada!!!
Như vậy chúng ta đã hoàn thành trò chơi rồi đấy. Thật đơn giản đúng không nào.
Code hoàn chỉnh sẽ là:
# -*- coding: utf-8 -*-
women = ["Một nữ hoàng", "Một bà già", "Bà Granny", "Một con chim", "Một nhà quý tộc", "Một bác sĩ", "Một diễn viên"]
men = ["một sĩ quan", "một bá tước", 'một vị vua', 'một rô bốt sát thủ', 'một nghệ sĩ', 'một ông già', 'một nhà hoá học']
place = ['dưới biển', 'trên sao Hoả', 'ở siêu thị', 'trong một toà lâu đài', 'trong nhà bạn', 'trên mái nhà']
women_wear = ['một cái váy', 'một cái túi giấy', 'một bộ đồ lặn', 'một cánh tiên', 'một bao ni lông']
men_wear = ['một bộ vest tím', 'một bộ đồ hoá trang con gấu', "một cái áo sơ mi"]
happens = ['sập nhà', 'cãi lộn', 'đánh nhau', 'một bàn chân lớn nghiền nát họ','núi lửa phun trào', 'động đất', 'Trái đất nổ tung']
women_say = ['Ngươi là ai?', 'Xin chào', 'đưa tiền đây', 'hello']
men_say = ["Ai đó", 'bíp bíp', 'ngươi là đứa nào', 'giết người', 'hello', 'Chả hiểu nói gì']
import random
tiep = "y"
while tiep == "y":
print(random.choice(women),"gặp", random.choice(men),random.choice(place))
print("Cô ấy mặc", random.choice(women_wear))
print("Anh ấy mặc", random.choice(men_wear))
print("Cô ấy nói", random.choice(women_say))
print("Anh ấy nói", random.choice(men_say))
print("Điều đó dẫn đến", random.choice(happens))
print()
tiep = input("Nhấn y để tiếp tục hoặc n để thoát: ")
print()
Quá trình hoàn thành dự án “Câu chuyện ngẫu nhiên” thật thú vị đúng không? Các bạn học sinh hãy tự sáng tạo cho mình những cốt truyện phim khác nhau từ nhân vật, trang phục tới nơi chốn, sự việc để hoàn thành một bộ phim của riêng mình nhé! Sau khi hoàn thành game, các bạn có thể chia sẻ game của mình trên STEAMese Profile để khoe cùng mọi người.
— — —
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.
Sau khi học về câu điều kiện và vòng lặp, chúng ta đã có thể tạo được một game nhập vai đơn giản giống như bạn Hoàng Long. Một số kiến thức cần thiết để áp dụng trong game mà các bạn học sinh cần nhớ:
Sử dụng Thonny để tạo một game đơn giản bằng Python.
Câu lệnh input() để nhập dữ liệu trong Python.
Câu lệnh print() để in thông báo ra màn hình.
Câu điều kiện với if, elif, và else trong Python.
Kiểu dữ liệu booleantrong Python với so sánh ==.
Thư viện randomđể tạo số ngẫu nhiên.
Vòng lặp whiletrong Python.
Hành trình đầy thử thách của nhân vật trong game
Cốt truyện game là hành trình hết sức khó khăn của một nhà thám hiểm vô tình đi lạc vào một tòa lâu đài cổ kính. Xung quanh là không gian tối tăm, tĩnh mịch không một tiếng động, bạn ấy vừa hoang mang, vừa lo sợ khi trên tay chỉ cầm một ngọn đuốc le lói ánh sáng. Liệu điều gì đang chờ nhà thám hiểm trong tòa lâu đài này đây?
Bỗng nhiên, nhà thám hiểm tìm thấy 4 căn phòng bí ẩn. Mỗi căn phòng lại có một kết cục khác nhau cho số phận của nhà thám hiểm đó! Các bạn học sinh có thể trải nghiệm game bằng cách nhấn vào đường link sau trước khi bắt tay vào code nhé!: https://s4v.trinket.io/sites/adventure-game
Bắt tay viết code thôi nào!
Trước khi bắt đầu viết code, chúng ta sẽ xây dựng một sơ đồ để hình dung thuật toán của game. Điều này rất cần thiết để chúng ta có thể hình dung các bước giải quyết một bài toán và code dễ dàng hơn.
Hãy bắt đầu với vị trí đầu tiên của nhà thám hiểm, đối diện với 4 cánh cửa trong tòa lâu đài tối tăm.
Căn phòng thứ nhất: nhà thám hiểm ngỡ ngàng trước vô số vàng bạc, kim cương lấp lánh. Nếu may mắn chọn đúng căn phòng này, nhà thám hiểm sẽ có thể thoát khỏi tòa lâu đài và trở nên giàu có với rương kho báu khổng lồ.
Căn phòng thứ hai: một con yêu tinh xấu xí, đáng sợ đang ẩn náu trong căn phòng để chờ nhà thám hiểm đi đến. Nó xông ra với một cây chùy trên tay và khiến nhà thám hiểm phải bỏ mạng ngay tại căn phòng này.
Căn phòng thứ ba: một con rồng khổng lồ đang nằm ngủ ngay góc phòng. Nếu nhà thám hiểm hoảng hốt và hét lên, con rồng sẽ tỉnh giấc và phun lửa thiêu rụi nhà thám hiểm ngay lập tức. Còn khi nhà thám hiểm đứng im không nhúc nhích, con rồng vô tình thức dậy thì sẽ trông thấy và nuốt trọn nhà thám hiểm. Vậy phải làm thế nào đây? Cách an toàn nhất là nhẹ nhàng đi ra khỏi phòng. Thế nhưng không hiểu sao cánh cửa lại bị khóa. Khi đó, tay nắm cửa đột nhiên phát ra tiếng động, bẫy được kích hoạt và khiến cho nhà thám hiểm bị rơi ra khỏi tòa lâu đài. Nhà thám hiểm đã trở về thành phố mà không có kho báu.
Căn phòng thứ tư: Bước vào căn phòng cuối cùng, nhà thám hiểm sẽ gặp con nhân sư với một câu đố hóc búa. Nhân sư rất thông minh và nó bắt nhà thám hiểm đoán đúng con số nó đang nghĩ trong đầu. Con số từ 1 đến 10. Nếu đoán đúng, nhân sư sẽ cho nhà thám hiểm đi khỏi lâu đài. Nếu đoán sai, nhà thám hiểm sẽ phải ở lại làm nô lệ cho nhân sư.
Để hoàn thiện trò chơi, các bạn học sinh cần hỏi thêm người chơi có muốn tiếp tục chơi hay dừng lại sau khi đã mở cửa 1 căn phòng không nhé!
Tiến hành code
Bước 1: Viết giới thiệu game
Chúng ta sẽ sử dụng chương trình Thonny để thực hiện game này. Trước tiên, chúng ta cần sử dụng câu lệnh print() để in ra màn hình vị trí bắt đầu của nhà thám hiểm. Để cho game sinh động, chúng ta sẽ thêm hình vẽ lâu đài bằng các ký tự ASCII (Nguồn: https://www.asciiart.eu/buildings-and-places/castles).
LAUDAI = """
|>>> |>>>
| |>>> |>>> |
* | | *
/ \ * * / \
/___\ _/ \ / \_ /___\
[ ] |/ \_________/ \| [ ]
[ I ] / \ / \ [ I ]
[ ]_ _ _ / \ / \ _ _ _[ ]
[ ] U U | {#########} {#########} | U U [ ]
[ ]====/ \=======/ \=======/ \====[ ]
[ ] | | I |_ _ _ _| I | | [ ]
[___] |_ _ _ _ _ _| | U U U | |_ _ _ _ _ _| [___]
\===/ I | U U U U U | |=======| | U U U U U | I \===/
\=/ |===========| I | + W + | I |===========| \=/
| I | | |_______| | | I |
| | | ||||||||| | | |
| | | I ||vvvvv|| I | | |
_-_-|______|-----------|_____|| ||_____|-----------|______|-_-_
/________\ /______|| ||______\ /________\
|__________|-------|________\_____/________|-------|__________|
"""
print("Bạn đang ở trong một căn phòng tối tăm nằm trong một lâu đài bí hiểm.")
print(LAUDAI)
print("Có 4 cánh cửa trước mặt bạn, bạn hãy chọn một cánh cửa để thám hiểm.")
Để yêu cầu người chơi chọn cửa để khám phá, chúng ta sẽ sử dụng câu lệnh input():
a = input("Bạn chọn cánh cửa sổ: ")
Bước 2: Viết phần lựa chọn phòng
Câu lệnhinput()chuyển dữ liệu người dùng nhập thành chuỗi nên a sẽ có kiểu dữ liệu chuỗi (string). Các bạn sẽ kiểm tra giá trị người chơi nhập vào từ bàn phím để xem người chơi chọn cửa số mấy để thám hiểm. Vì a có kiểu dữ liệu chuỗi nên chúng ta sẽ kiểm tra với “1”, “2”, “3”, “4”. Chúng ta lưu ý phải có dấu "". Để kiểm tra xem hai chuỗi có giống nhau không chúng ta có thể sử dụng ==. Khi kiểm tra, kết quả trả về sẽ có kiểu dữ liệu boolean True hoặc False. Vì có bốn phòng nên chúng ta sẽ sử dụng câu lệnh điều kiện rẽ nhánh để kiểm tra xem người chơi chọn thám hiểm phòng nào:
if a == "1":
print("Bạn đang ở phòng 1.")
elif a == "2":
print("Bạn đang ở phòng 2.")
elif a == "3":
print("Bạn đang ở phòng 3.")
elif a == "4":
print("Bạn đang ở phòng 4.")
else:
print("Xin lỗi, bạn chỉ có thể nhập 1,2,3 hoặc 4")
Câu lệnh điều kiện rẽ nhánh sẽ kiểm tra điều kiện ở câu lệnh if trước, sau đó sẽ đến điều kiện ở các câu lệnh elif. Nếu tất cả điều kiện đó đều không thoả mãn thì sẽ thực hiện dòng lệnh ở else. Dòng lệnh ởelsegiúp nhắc nhở người chơi phải nhập các số 1, 2, 3, hoặc 4. Chúng ta lưu ý đi sauifvà elif là điều kiện nhưng ở elsethì không. Có một cách rất hay để chúng ta có thể kiểm tra code mình viết (debug) đó là sử dụng câu lệnhprint(). Khi chạy code, chúng ta hãy nhập vào bất kì phòng nào và xem chương trình in ra màn hình đúng phòng không.
Sau khi kiểm tra phần chọn phòng, chúng ta sẽ thêm vào một câu lệnh để hỏi người chơi muốn chơi tiếp hay dừng lại:
exit_choice = input("Ấn Enter để chơi lại, hoặc gõ thoát để đóng trò chơi.")
Sau khi người dùng nhập câu trả lời, chúng ta phải kiểm tra và nếu người chơi muốn chơi tiếp, chúng ta sẽ thực hiện lại toàn bộ các câu lệnh ở trên. Các bạn hãy sử dụng kiến thức vòng lặp while. Trong khi biến exit_choice không phải là “thoát” thì chúng ta sẽ quay lại thực hiện toàn bộ các câu lệnh. Để kiểm tra điều kiện không phải, chúng ta sử dụng !=:
while exit_choice != "thoát":
Tuy nhiên, chương trình chúng ta vẫn còn một lỗi nho nhỏ đấy. Đó chính là khi lần đầu tiên chơi, biến exit_choice chưa được gán bất kỳ giá trị nào. Chúng ta có thể gán biến đó với bất kỳ giá trị nào, ngoại trừ “thoát” để có thể bắt đầu trò chơi:
exit_choice = "c"
Chương trình hoàn chỉnh sẽ là:
exit_choice = "c"
while exit_choice != "thoát":
if a == "1":
print("Bạn đang ở phòng 1.")
elif a == "2":
print("Bạn đang ở phòng 2.")
elif a == "3":
print("Bạn đang ở phòng 3.")
elif a == "4":
print("Bạn đang ở phòng 4.")
else:
print("Xin lỗi, bạn chỉ có thể nhập 1,2,3 hoặc 4")
exit_choice = input("Ấn Enter để chơi lại, hoặc gõ thoát để đóng trò chơi.")
Bước 3: Viết phần lựa chọn từng phòng:
Phòng 1:
Sau khi đã chia thành từng trường hợp, chúng ta sẽ đi theo sơ đồ đã vẽ ở sơ đồ 1. Với phòng 1, chúng ta sẽ in ra màn hình chúc mừng người chơi đã chọn đúng phòng có kho báu và hỏi người chơi muốn chơi tiếp hay dừng lại:
if a == "1":
print("Bạn đã tìm thấy một căn phòng chứa kho báu, phát tài rồi!")
print("Bạn đã thắng cuộc, trò chơi kết thúc.")
print("(Khởi động lại để tiếp tục khám phá.)")
Phòng 2:
Với phòng 2 có con yêu tinh, chúng ta sẽ in ra màn hình chia buồn với người chơi và hỏi người chơi muốn chơi tiếp hay dừng lại:
elif a == "2":
print("Cửa bật mở, một con yêu tinh xông ra và phang chuỳ vào đầu bạn.")
print("Bạn đã chết, trò chơi kết thúc.")
print("(Khởi động lại để tiếp tục khám phá.)")
Phòng 3:
Với phòng 3 có con rồng, chúng ta sẽ yêu cầu người chơi chọn làm gì sau khi thấy con rồng. Có ba lựa chọn tương ứng với ba số 1, 2, 3:
elif a == "3":
print("Bạn bước vào căn phòng và thấy một con rồng đang ngủ say, bạn sẽ: ")
print("1: Hét to lên để hăm doạ con rồng.")
print("2: Từ từ đi ra khỏi phòng.")
print("3: Chả làm gì cả.")
b = input("Nhập lựa chọn của bạn vào đây: ")
Chúng ta sử dụng biến mới b để lưu câu trả lời của người chơi, tương tự như khi chúng ta hỏi người chơi chọn phòng nào. Và chúng ta cũng sẽ sử dụng câu lệnh điều kiện rẽ nhánh để chia thành các trường hợp lựa chọn:
if b == "1":
print("Con rồng giật mình và phun lửa vào bạn.")
print("Bạn đã bị thiêu rụi, trò chơi kết thúc.")
elif b == "2":
print("Bạn định ra khỏi phòng thì nhận ra cánh cửa đã khóa, bạn chạm vào tay nắm cửa cũ kỹ và nó phát ra tiếng động!")
print("Bẫy được kích hoạt, bạn rơi ra khỏi lâu đài và bạn thấy thành phố trước mắt mình.")
print("Bạn đã thoát, trò chơi kết thúc.")
print("(Khởi động lại để tiếp tục khám phá.)")
elif b == "3":
print("Bạn đứng đó hồi lâu và con rồng thức dậy, vừa nhìn thấy bạn, con rồng lập tức nuốt chửng bạn ngay!")
print("Bạn đã trở thành bữa ăn ngon cho rồng, bạn đã chết, trò chơi kết thúc.")
print("(Khởi động lại để tiếp tục khám phá.)")
else:
print("Xin lỗi, bạn chỉ có thể nhập 1,2,3.")
Phòng 4:
Ở căn phòng cuối cùng có một con nhân sư yêu cầu nhà thám hiểm phải đoán được số nó đang nghĩ. Chúng ta cũng bắt đầu nhánh ở phòng 4 bằng việc hỏi người chơi đoán số nhân sư đang nghĩ:
elif a == "4":
print("Căn phòng bạn bước vào có một con nhân sư.")
print("Nhân sư bắt bạn phải đoán được số mà nó đang nghĩ đến trong các số nguyên từ 1 đến 10.")
print("Nếu bạn đoán đúng, nhân sư sẽ cho bạn đi.")
print("Ngược lại bạn phải làm nô lệ cho nó!")
number = int(input("Bạn chọn số nào: "))
Chúng ta cùng tìm hiểu cách để nhân sư nghĩ ra một số ngẫu nhiên. Để có thể tạo một số nguyên ngẫu nhiên từ 1 đến 10, chúng ta sẽ sử dụng thư viện (library) random trong Python. Thư viện random sẽ gồm rất nhiều câu lệnh nhỏ với những chức năng khác nhau. Ở đây chúng ta sẽ sử dụng random.randint() với hai input là 1 và 10. Tuy nhiên trước hết, chúng ta phải gọi thư viện đó trong Python bằng câu lệnh import.
Chúng ta sử dụng câu lệnh int()để chuyển kiểu dữ liệu từ chuỗi (string) sang số nguyên (int). Mục đích để kiểm tra số người dùng nhập và số nguyên tạo ngẫu nhiên bằng random.randint():
import random
if number == random.randint(1,10):
print("Nhân sư gầm lên thất vọng. Bạn đã đoán đúng.")
print("Nhân sư phải thả bạn đi.")
print("Bạn đã chiến thắng. Trò chơi kết thúc.")
print("(Khởi động lại để tiếp tục khám phá.)")
else:
print("Nhân sư cười khoái trá. Bạn đã đoán sai!")
print("Bạn đã trở thành nô lệ của nhân sư!")
print("Bạn đã thua, trò chơi kết thúc.")
print("(Khởi động lại để tiếp tục khám phá.)")
Chương trình hoàn chỉnh của game
Chúng ta sẽ thêm câu lệnh # -*- coding: utf-8 -*- để hiển thị tiếng Việt. Đồng thời, các bạn học sinh lưu ý chương trình hoàn chỉnh phải lùi lề. Chương trình Python hoàn chỉnh của game sẽ là:
# -*- coding: utf-8 -*-
import random
LAUDAI = """
|>>> |>>>
| |>>> |>>> |
* | | *
/ \ * * / \
/___\ _/ \ / \_ /___\
[ ] |/ \_________/ \| [ ]
[ I ] / \ / \ [ I ]
[ ]_ _ _ / \ / \ _ _ _[ ]
[ ] U U | {#########} {#########} | U U [ ]
[ ]====/ \=======/ \=======/ \====[ ]
[ ] | | I |_ _ _ _| I | | [ ]
[___] |_ _ _ _ _ _| | U U U | |_ _ _ _ _ _| [___]
\===/ I | U U U U U | |=======| | U U U U U | I \===/
\=/ |===========| I | + W + | I |===========| \=/
| I | | |_______| | | I |
| | | ||||||||| | | |
| | | I ||vvvvv|| I | | |
_-_-|______|-----------|_____|| ||_____|-----------|______|-_-_
/________\ /______|| ||______\ /________\
|__________|-------|________\_____/________|-------|__________|
"""
exit_choice = "c"
while exit_choice != "thoát":
print("Bạn đang ở trong một căn phòng tối tăm nằm trong một lâu đài bí hiểm.")
print(LAUDAI)
print("Có 4 cánh cửa trước mặt bạn, bạn hãy chọn một cánh cửa để thám hiểm.")
a = input("Bạn chọn cánh cửa số: ")
if a == "1":
print("Bạn đã tìm thấy một căn phòng chứa kho báu, phát tài rồi!")
print("Bạn đã thắng cuộc, trò chơi kết thúc.")
print("(Khởi động lại để tiếp tục khám phá.)")
elif a == "2":
print("Cửa bật mở, một con yêu tinh xông ra và phang chuỳ vào đầu bạn.")
print("Bạn đã chết, trò chơi kết thúc.")
print("(Khởi động lại để tiếp tục khám phá.)")
elif a == "3":
print("Bạn bước vào căn phòng và thấy một con rồng đang ngủ say, bạn sẽ: ")
print("1 : Hét to lên để hăm doạ con rồng.")
print("2 : Từ từ ra khỏi phòng.")
print("3 : Chả làm gì cả.")
b = input("Nhập lựa chọn của bạn vào đây: ")
if b == "1":
print("Con rồng giật mình và phun lửa vào bạn.")
print("Bạn đã bị thiêu rụi, trò chơi kết thúc.")
elif b == "2":
print("Bạn định ra khỏi phòng thì nhận ra cánh cửa đã khóa, bạn chạm vào tay nắm cửa cũ kỹ và nó phát ra tiếng động!")
print("Bẫy được kích hoạt, bạn rơi ra khỏi lâu đài và bạn thấy thành phố trước mắt mình.")
print("Bạn đã thoát, trò chơi kết thúc.")
print("(Khởi động lại để tiếp tục khám phá.)")
elif b == "3":
print("Bạn đứng đó hồi lâu và con rồng thức dậy, vừa nhìn thấy bạn, con rồng lập tức nuốt chửng bạn ngay!")
print("Bạn đã trở thành bữa ăn ngon cho rồng, bạn đã chết, trò chơi kết thúc.")
print("(Khởi động lại để tiếp tục khám phá.)")
else:
print("Xin lỗi, bạn chỉ có thể nhập 1,2,3.")
elif a == "4":
print("Căn phòng bạn bước vào có một con nhân sư.")
print("Nhân sư bắt bạn phải đoán được số mà nó đang nghĩ đến trong các số nguyên từ 1 đến 10.")
print("Nếu bạn đoán đúng, nhân sư sẽ cho bạn đi.")
print("Ngược lại bạn phải làm nô lệ cho nó!")
number = int(input("Bạn chọn số nào: "))
if number == random.randint(1,10):
print("Nhân sư gầm lên thất vọng. Bạn đã đoán đúng.")
print("Nhân sư phải thả bạn đi.")
print("Bạn đã chiến thắng. Trò chơi kết thúc.")
print("(Khởi động lại để tiếp tục khám phá.)")
else:
print("Nhân sư cười khoái trá. Bạn đã đoán sai!")
print("Bạn đã trở thành nô lệ của nhân sư!")
print("Bạn đã thua, trò chơi kết thúc.")
print("(Khởi động lại để tiếp tục khám phá.)")
else:
print("Xin lỗi, bạn chỉ có thể nhập 1,2,3 hoặc 4")
exit_choice = input("Ấn Enter để chơi lại, hoặc gõ thoát để đóng trò chơi.")
STEAM for Vietnam khuyến khích các bạn học sinh hãy thử sáng tạo cốt truyện, tạo nhiều phòng và thử thách cho nhà thám hiểm hơn. Bên cạnh đó, các bạn cũng có thể cải tiến thêm cho game như thế này: khi người chơi nhập sai yêu cầu (Ví dụ: không phải các số từ 1 đến 4 cho số phòng), chương trình sẽ cho người chơi nhập lại đến khi đúng.
Chỉ với những kiến thức từ hai bài đầu tiên của khoá CS101, bạn Hoàng Long đã tạo ra được một game đơn giản nhưng cũng không kém phần thú vị và gay cấn. STEAM for Vietnam tin rằng bạn học sinh nào cũng có thể sáng tạo dự án cá nhân đầy ấn tượng như vậy. Các bạn hãy thử bắt tay vào thực hiện dự án nhé! Sau khi hoàn thành game, các bạn có thể chia sẻ game của mình trên STEAMese Profile để khoe cùng mọi người.
— — —
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.
STEAM for Vietnam đã đem đến cho các bạn nhỏ một hành trình thú vị để nắm được các thao tác lập trình căn bản, cũng như nâng cao tư duy máy tính. Theo mình, khóa học CS101 được thiết kế với nội dung và tài liệu rất phù hợp với các em nhỏ. Đặc biệt, bé nhà mình rất thích phần làm đồ họa nhảy theo nhạc. Trong quá trình học, các thầy cô luôn tận tình hướng dẫn dễ hiểu cho các bé. Nhờ vậy mà học sinh không chỉ học được cách “dịch từ “ngôn ngữ người” sang “ngôn ngữ máy” mà còn học được cách tư duy và làm ra sản phẩm cụ thể. Dự án cuối khóa chắc hẳn là cột mốc đặc biệt đối với các em học sinh. Bé nhà mình cũng học hỏi được nhiều khi phải phải chuẩn bị video giới thiệu về dự án cuối khóa, từ nội dung đến cách nói, cách trình bày. Con đóng cửa phòng viết, sửa, tìm hiểu… rất hăng say. Con đã học được rất nhiều sau khi hoàn thành dự án, đồng thời tạo ra một sản phẩm cụ thể mà con chưa bao giờ có.
(Mẹ của bé Quỳnh Mai – lập trình viên nhí đạt giải Demo Day CS 001 đã chia sẻ cho STEAM for Vietnam về những cảm xúc khi cho con theo học CS 001 & CS 101)
“Chị muốn con học tư duy trước khi học kiến thức”
Lúc đầu thì mình cũng chỉ muốn cho cháu làm quen với lập trình thôi vì đây cũng là một kỹ năng quan trọng như ngoại ngữ vậy. Chị cảm thấy cháu tự tin hơn hẳn vì lập trình là một kỹ năng khá mới mẻ với các bạn nhỏ. Các bé được học cách tư duy, làm việc khoa học qua hình thức sắp xếp đoạn code và “Tách-Tìm-Nhìn-Viết”. Đồng thời, chị thấy rằng việc học lập trình sẽ giúp cho con tăng khả năng sáng tạo và giải quyết vấn đề. Cho nên, chị khuyến khích ba mẹ hãy cho con cái học lập trình từ sớm. Không hẳn học lập trình sẽ thành lập trình viên, dù rằng gia đình mình cũng rất mong muốn điều đó. May mắn là hiện tại cháu cũng rất yêu thích lập trình và muốn theo đuổi ngành này trong tương lai. Thế nhưng, chị tin rằng việc học lập trình sẽ trao cho các bé nhiều giá trị hữu ích hơn thế!
(Chia sẻ của phụ huynh bé Minh Đức – đạt giải Demo Day CS 101 khóa Spring Coding Bootcamp 2021)
“Con chưa bao giờ quen được nhiều bạn mới đến vậy”
Mỗi bài học của các con mình đều theo dõi, mình thấy rằng học với STEAM các bé còn học được nhiều điều ngoài kiến thức. Chẳng hạn các con hay chấm bài cho bạn, rất chăm chỉ và cẩn thận. Đồng thời khi viết code cũng gọn gàng, ngay ngắn hơn trước nhiều. Nhờ học STEAM for Vietnam mà các con có thêm nhiều bạn mới ở khắp nơi. Hai anh em thường xuyên trao đổi với nhau và với các bạn trên STEAMese Profile. Cứ làm xong bài tập về nhà là lại đăng lên cho các bạn xem liền, háo hức lắm. Bình thường mỗi buổi học các con đều vào ngay LMS sớm để chat với các bạn nữa!
(Anh Tuấn – phụ huynh của Trung Hiếu – có hai con đều đạt giải Weekly Challenge vui vẻ chia sẻ cảm nhận về khóa học)
STEAM for Vietnam rất vui vì phụ huynh và các em nhỏ đã cùng đồng hành trên hành trình thực hiện sứ mệnh lan tỏa công nghệ đến với hơn 20 triệu trẻ em Việt Nam trong 5 năm tới. Những phản hồi tích cực từ cha mẹ là động lực giúp cho STEAM for Vietnam tiếp tục thực hiện sứ mệnh ý nghĩa này.
— — —
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.
Quý vị phụ huynh nào chưa đăng ký khoá học cho con, vui lòng tham khảo ở phần I của bài viết.
Quý vị phụ huynh nào đã đăng ký khoá học cho con nhưng vẫn chưa nhận thư mời nhập học, vui lòng tham khảo từ phần II của bài viết.
Quý vị phụ huynh nào đã nhận thư mời nhập học, vui lòng tham khảo từ phần III của bài viết.
Quý vị phụ huynh nào chưa biết dùng Live App, vui lòng tham khảo từ phần IV của bài viết.
Lưu ý: Đối với lớp CS 201: Hiện tại STEAM for Vietnam chưa mở lớp mới, chỉ mở đăng ký danh sách chờ; lớp hiện tại sẽ tiếp tục khi tình hình dịch ổn định và sẽ thông báo sau.
I. DÀNH CHO PHỤ HUYNH CHƯA ĐĂNG KÝ
STEAM for Vietnam mở đơn đăng ký Học kỳ mùa Thu từ ngày 01/09/2021 đến 23:59 ngày 15/09/2021.
Trong quá trình tạo tài khoản STEAMese Profile, phụ huynh sẽ nhận được các email sau:
Tài khoản STEAMese Profile là tài khoản quan trọng mà các học sinh sẽ dùng để vào khoá học sau khi được nhận học. STEAM for Vietnam khuyến khích phụ huynh nên sử dụng email của học sinh (nếu đã có) hoặc tạo một email cho học sinh (nếu chưa có) để đăng kí STEAMese Profile. Email phụ huynh sẽ là email dùng để kiểm duyệt và xác thực thông tin cho học sinh. Sau khi đăng ký, vui lòng lưu tài khoản ở trong điện thoại, sổ tay, để sử dụng khi cần thiết.
Đối với các học sinh dưới 13 tuổi, BTC sẽ gửi email yêu cầu phụ huynh duyệt thông tin của con trên STEAMese Profile. Phụ huynh kiểm tra xong thì hãy quay lại hoàn thành các bước đăng ký còn lại (điền đơn đăng ký).
Tạo xong tài khoản STEAMese Profile không có nghĩa hoàn thành đăng ký khoá học.
Sau khi đăng ký khoá học, phụ huynh sẽ nhận được email sau:
II. PHẦN DÀNH CHO PHỤ HUYNH ĐÃ ĐĂNG KÝ VÀ CHƯA NHẬN THƯ MỜI NHẬP HỌC
Phụ huynh cần xem kỹ mình đã thực hiện đủ 4 bước ở phần I chưa.
1. Đối với phụ huynh chỉ mới hoàn thành STEAMese Profile
Quý phụ huynh hãy xem lại phần I để hoàn thành đơn đăng ký.
2. Đối với phụ huynh đã hoàn thành đơn đăng ký và nhận email Xác nhận đăng ký
Sau 23:59 tối thứ Tư ngày 15/09/2021 (giờ Việt Nam): BTC sẽ gửi thư mời nhập học và các hướng dẫn cần thiết trong thời gian sắp đến. Quý phụ huynh hãy thường xuyên kiểm tra email để không bỏ lỡ các thông tin từ BTC.
Lưu ý:
Nếu phụ huynh có từ 2 con đăng ký học trở lên, xin vui lòng kiểm tra thư mời nhập học được gửi tới địa chỉ email đăng ký STEAMese Profile của mỗi con.
Tài khoản STEAMese Profile là tài khoản sử dụng email học sinh hoặc email phụ huynh tạo ra cho học sinh lúc đăng ký học, không phải sử dụng email phụ huynh nhận thư.
III. DÀNH CHO PHỤ HUYNH ĐÃ ĐĂNG KÝ VÀ NHẬN ĐƯỢC THƯ MỜI NHẬP HỌC
Khi đăng nhập vào LMS lần đầu tiên, vui lòng sử dụng địa chỉ email và mật khẩu của tài khoản STEAMese Profile. Sau đó, hệ thống sẽ gửi 1 email kích hoạt tới địa chỉ email trên (email được gửi về từ learn@steamforvietnam.org). Nếu quý phụ huynh và học sinh đã nhận được email này và hoàn thành từ phần I, có thể bỏ qua. Học sinh kiểm tra hòm thư (đặc biệt là hòm thư Spam/Promotions) để nhận email và kích hoạt tài khoản.
Bước 1: Xác nhận tham gia khoá học
Sau khi xác nhận tham gia, các học sinh sẽ được BTC ghi danh vào khoá học trong vòng 24 – 48 tiếng. Nếu quá 48 tiếng chưa thấy ghi danh thì liên hệ BTC qua email: hello@steamforvietnam.org
Bước 2: Học khoá Get Started Course
Sau khi được ghi danh, đăng nhập vào hệ thống LMS với email và mật khẩu của STEAMese Profile. Mở mục “Các khoá học của tôi“. Truy cập Get Started Course. Học sinh cần hoàn thành khóa học Get Started Course để có thể tiếp tục tham gia các buổi học tiếp theo.
Bước 3: Làm bài kiểm tra đầu vào của khóa học (nếu có)
Sau khi hoàn thành Get Start Course, học sinh hãy trở về trang chủ khoá học trên LMS, truy cập khóa học đã đăng ký và hoàn thành bài kiểm tra đầu vào (nếu có) để bắt đầu chính thức tham gia vào khoá học. Thông tin chi tiết vui lòng đọc kỹ trong email hướng dẫn từ BTC.
Bước 5: Xem tài liệu chuẩn bị Bài 1
Học sinh xem và chuẩn bị nội dung bài học số 1 trước khai giảng.
IV. HƯỚNG DẪN VÀO LIVE APP
Bước 1: Truy cập vào hệ thống Live App
Bước 2: Đăng nhập bằng tài khoản STEAMese Profile/ LMS đã tạo trước đó.
Bước 3: Nhấn nút “Tham dự” vào khoá học đã đăng kí
Bước 4: Giao lưu với các bạn, chơi game do BTC đưa lên và bắt đầu giờ học cùng các thầy cô.
Các lỗi hay gặp phải khi truy cập Live App
1. Khoá học của mình hiển thị “Chưa đăng ký”
Phụ huynh và học sinh hãy kiểm tra xem mình đã hoàn thành các bước đầy đủ ở phần I->III chưa
2. Youtube bài giảng của mình chất lượng video hiển thị thấp
Phụ huynh và học sinh hãy chọn vào nút Cài đặt (hình bánh răng) ở góc phải dưới thanh video, nhấn chất lượng và chọn 720p.
3. Sao mình không thấy quiz hiển thị
Để quiz hiển thị trên Live App, trước tiên học sinh cần phải đăng nhập trên LMS. Sau khi đăng nhập thành công, học sinh quay lại trang Live App và tải lại trang, quiz sẽ hiển thị.
Cảm ơn quý phụ huynh và các em học sinh đã tin tưởng và đồng hành cùng các khoá học của STEAM for Vietnam. Mọi câu hỏi cho chúng tôi, vui lòng gửi về hòm thư hello@steamforvietnam.org
— — —
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.
Trong hai tháng diễn ra Trại hè Lập trình Coding Bootcamp 2021, đã có hơn 8668 em học sinh đến từ 36 quốc gia tham gia học lập trình cùng các thầy cô STEAM for Vietnam. Với mô hình “Học mà chơi — Chơi mà học”, các bạn học sinh được rèn luyện cách giải quyết vấn đề và luyện tập các kỹ năng mềm,, chia sẻ dự án với bạn bè và giao lưu với những nhân vật thành công. Với một kỳ học trong thời kỳ giãn cách do dịch bệnh, STEAM for Vietnam chính là sân chơi bổ ích dành cho bố mẹ cùng con khám phá và gắn kết tình cảm giữa các thành viên trong gia đình.
Các em học sinh của STEAM for Vietnam đã rất sáng tạo khi lồng ghép những ý tưởng độc đáo vào dự án cuối khóa của mình. Chỉ sau 8 bài học, đã có 1079 project được hoàn thành với 11.607 trang nhật ký được gửi về cho STEAM for Vietnam. Đây là những con số vô cùng ấn tượng với thầy cô STEAM for Vietnam.
Trong Dự án Cuối khoá, các bạn học sinh được yêu cầu lập trình trò chơi, đòi hỏi khả năng áp dụng bài học, sáng tạo và làm việc nhóm cao. Độ khó của thử thách còn nhân đôi khi các bạn học sinh được yêu cầu thuyết trình về cách lập trình trò chơi cho bạn bè, thầy cô.
Những dự án xuất sắc nhất thông qua cuộc bầu chọn của hơn 10,000 lập trình viên nhí cùng với sự cân nhắc kỹ lưỡng từ các thầy cô STEAM for Vietnam sẽ được vinh danh, chia sẻ rộng rãi và trao giải trong buổi Demo Day. Đây cũng là buổi tổng kết đặc biệt nhìn lại toàn bộ cuộc hành trình hai tháng làm quen với lập trình, cùng với những màn biểu diễn tài năng đặc sắc đến từ các bạn học sinh lớp CS 001 và CS 101. Xem các dự án của các em học sinh tại đây.
Hơn thế nữa, Demo Day kỳ này còn có thêm một giải thưởng thú vị cho các bạn nhỏ, đó là giải Ham học hỏi – nhằm mục đích ghi nhận những nỗ lực học tập của các bạn học sinh. Liệu lập trình viên nhí nào xuất sắc giành được giải thưởng này đây? Cha mẹ và các bạn nhỏ đừng quên theo dõi buổi Demo Day vào 05/09 nhé!
Thông tin chi tiết về chương trình:
Thời gian:20:00 – 21:30 tối Chủ nhật, ngày 05/09/2021 (giờ Việt Nam)
Cảm ơn quý phụ huynh và các em học sinh đã tin tưởng và đồng hành cùng các khóa học của STEAM for Vietnam. Mọi câu hỏi cho chúng tôi, vui lòng gửi về hòm thư hello@steamforvietnam.org
— — —
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.
Ngày 16/8/2020, STEAM for Vietnam chính thức khai giảng Trại hè Lập trình Miễn phí đầu tiên với chủ đề Nhập môn Tư duy Máy tính với Lập trình Scratch (Introduction to Computational Thinking and Scratch Programming). Sau hơn hai tháng gấp rút chuẩn bị, Trại hè đã diễn ra với hơn 7,000 học sinh và trở thành là một trong những hoạt động đầu tiên của STEAM for Vietnam trong hành trình thực hiện sứ mệnh mang giáo dục STEAM đẳng cấp thế giới tới với người Việt một cách miễn phí.
Kể từ dấu mốc đáng nhớ ấy, STEAM for Vietnam đã nhận được sự ủng hộ nhiệt tình của các bậc phụ huynh, học sinh cũng như nhiều đối tác lớn trong và ngoài nước. Trong 1 năm, STEAM for Vietnam với đội ngũ hùng hậu những người Việt trẻ thành công trong lĩnh vực STEAM trên khắp thế giới đã tiếp tục khai giảng thêm 2 học kỳ mới.
Mùa thu 2021 STEAM for Vietnam sẽ tiếp tục tổ chức các lớp học miễn phí về lập trình cho hàng chục nghìn học sinh Việt trên toàn cầu.
Các bài giảng với ngôn ngữ tiếng Việt được triển khai dưới mô hình lớp học OMO Supermodel Class và hình thức học trực tuyến Live MOOC, đồng thời được giảng dạy bởi giảng viên là các kỹ sư phần mềm người Việt có nhiều năm kinh nghiệm trong những công ty công nghệ hàng đầu ở Silicon Valley cùng nhiều quốc gia khác.
Với sự phát triển thần kỳ như một startup công nghệ, STEAM for Vietnam đã liên tục tìm cơ hội hợp tác với nhiều đối tác lớn gồm các công ty, tổ chức, trường học và các cơ quan báo chí danh tiếng cả ở Việt Nam và nước ngoài.
Đặc biệt, STEAM for Vietnam đã kí kết hợp tác với Quỹ Nhi đồng Liên Hợp Quốc (UNICEF) để hiện thức hoá mục tiêu: Mang giáo dục số bình đẳng tới 20 triệu trẻ em Việt Nam trong vòng 5 năm tới. Đây là nguồn động lực to lớn để STEAM for Vietnam kêu gọi hàng trăm người Việt trẻ tài năng trên toàn cầu cùng tham gia để tạo ra một thế hệ công dân toàn cầu với những kĩ năng của Thời đại số.
— —
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.
Quý vị phụ huynh nào chưa đăng ký khoá học cho con, vui lòng tham khảo ở phần I của bài viết.
Quý vị phụ huynh nào đã đăng ký khoá học cho con nhưng vẫn chưa nhận thư mời nhập học, vui lòng tham khảo từ phần II của bài viết.
Quý vị phụ huynh nào đã nhận thư mời nhập học, vui lòng tham khảo từ phần III của bài viết.
Quý vị phụ huynh nào chưa biết dùng Live App, vui lòng tham khảo từ phần IV của bài viết.
I. DÀNH CHO PHỤ HUYNH CHƯA ĐĂNG KÝ
Trại hè Lập trình 2021 đã bắt đầu từ 27/6, phụ huynh và các em học sinh có thể xem lại bài học qua Youtube CS 001hoặcCS 101.
Chúng tôi tiếp tục mở đơn đăng ký đến 23:59 ngày 03/07/2021. Nộp đơn và trở thành học sinh chính thức cho phép học sinh được tương tác với trợ giảng trong giờ học, tiếp cận slide bài giảng, làm bài tập và được chấm điểm cho bài làm của mình. Đồng thời, chỉ học sinh chính thức mới có cơ hội nhận được chứng chỉ cuối khoá và học bổng/các phần quà hấp dẫn từ đối tác của chúng tôi.
Trong quá trình tạo tài khoản STEAMese Profile, phụ huynh sẽ nhận được các email sau:
Tài khoản STEAMese Profile là tài khoản quan trọng mà các học sinh sẽ dùng để vào khoá học sau khi được nhận học. STEAM for Vietnam khuyến khích phụ huynh nên sử dụng email của học sinh (nếu đã có) hoặc tạo một email cho học sinh (nếu chưa có) để đăng kí STEAMese Profile. Email phụ huynh sẽ là email dùng để kiểm duyệt và xác thực thông tin cho học sinh. Sau khi đăng ký, vui lòng lưu tài khoản ở trong điện thoại, sổ tay, để sử dụng khi cần thiết.
Đối với các học sinh dưới 13 tuổi, BTC sẽ gửi email yêu cầu phụ huynh duyệt thông tin của con trên STEAMese Profile. Phụ huynh nhấn “Đồng ý” xong thì hãy quay lại vẫn cần hoàn thành các bước đăng ký còn lại (điền đơn đăng ký). “Đồng ý” STEAMese Profile không có nghĩa hoàn thành đăng ký khoá học.
Sau khi đăng ký khoá học, phụ huynh sẽ nhận được email sau:
II. PHẦN DÀNH CHO PHỤ HUYNH ĐÃ ĐĂNG KÝ VÀ CHƯA NHẬN THƯ MỜI NHẬP HỌC
Phụ huynh cần xem kỹ mình đã thực hiện đủ 4 bước ở phần I chưa.
1. Đối với phụ huynh chỉ mới hoàn thành STEAMese Profile
Quý phụ huynh hãy xem lại phần I để hoàn thành đơn đăng ký.
2. Đối với phụ huynh đã hoàn thành đơn đăng ký và nhận email Xác nhận đăng ký
a. Với học sinh hoàn thành việc đăng ký sau 23:59 tối thứ Sáu ngày 25/06/2021 (giờ Việt Nam): BTC sẽ gửi thư mời nhập học và các hướng dẫn cần thiết trong vòng 3-5 ngày tới, muộn nhất đêm 3/7/2021/
b. Với học sinh hoàn thành việc đăng ký trước 23:59 tối thứ Sáu ngày 25/06/2021 (giờ Việt Nam), BTC đã gửi thư mời nhập học đến những bạn đạt yêu cầu đầu vào của khóa học. Phụ huynh hãy kiểm tra kỹ hòm thư rác và quảng cáo email STEAMese Profile.
Lưu ý:
Nếu phụ huynh có từ 2 con đăng ký học trở lên, xin vui lòng kiểm tra thư mời nhập học được gửi tới địa chỉ email đăng ký STEAMese Profile của mỗi con.
Tài khoản STEAMese Profile là tài khoản sử dụng email học sinh hoặc email phụ huynh tạo ra cho học sinh lúc đăng ký học, không phải sử dụng email phụ huynh nhận thư.
III. DÀNH CHO PHỤ HUYNH ĐÃ ĐĂNG KÝ VÀ NHẬN ĐƯỢC THƯ MỜI NHẬP HỌC
Bước 1: Xác nhận tham gia khoá học
Sau khi xác nhận tham gia, các học sinh sẽ được BTC ghi danh vào khoá học trong vòng 24 – 48 tiếng. Nếu quá 48 tiếng chưa thấy ghi danh thì liên hệ BTC qua email: hello@steamforvietnam.org
Sau khi trở về trang chủ khoá học trên LMS, truy cập khóa học đã đăng ký (CS 001 hoặc CS 101)
Bước 4: Làm bài kiểm tra đầu vào của khóa học
Kiến thức của bài kiểm tra này là kiến thức từ khóa Get Started Coure ở Bước 2. Chỉ sau khi hoàn thành bài kiểm tra này, học sinh mới có thể mở ra tài liệu buổi học số 1 và các buổi học tiếp theo.
Hạn chót hoàn thành bài kiểm tra đầu vào: 23:59 tốiChủ nhật11/7/2021 (giờ Việt Nam).
Bước 5: Xem tài liệu Bài 1: Slide, Video, Làm bài tập về nhà
Học sinh xem lại nội dung bài học số 1, hoàn thiện các câu hỏi trắc nghiệm và bài tập về nhà cho buổi học số 1.
Hạn chót hoàn thành bài tập về nhà: 23:59 tối Chủ nhật ngày 11/7/2021 (giờ Việt Nam).
Sau ngày 3/7/2021, học sinh hãy vào lại LMS để hoàn thành việc chấm điểm (nếu được yêu cầu) cho bạn trước 23:59 tối Chủ nhật ngày 11/7/2021 (giờ Việt Nam).
Lưu ý: Điểm chuyên cần là điểm làm các câu hỏi trắc nghiệm mỗi khi lớp học diễn ra. Do trục trặc kỹ thuật, bài học số 1 không hiển thị các câu hỏi để tính điểm chuyên cần. BTC đã đưa các câu hỏi lên LMS. Học sinh hoàn thiện phần điểm danh cho bài số 1 trên LMS trước 23:59 tối Thứ Bảy ngày 3/7/2021 (giờ Việt Nam) vẫn sẽ được tính điểm chuyên cần.
Bước 2: Đăng nhập bằng tài khoản STEAMese Profile/ LMS đã tạo trước đó.
Bước 3: Nhấn nút “Tham dự” vào khoá học đã đăng kí
Bước 4: Giao lưu với các bạn, chơi game do BTC đưa lên và bắt đầu giờ học cùng các thầy cô.
Các lỗi hay gặp phải khi truy cập Live App
1. Khoá học của mình hiển thị “Chưa đăng ký”
Phụ huynh và học sinh hãy kiểm tra xem mình đã hoàn thành các bước đầy đủ ở phần I->III chưa
2. Youtube bài giảng của mình chất lượng video hiển thị thấp
Phụ huynh và học sinh hãy chọn vào nút Cài đặt (hình bánh răng) ở góc phải dưới thanh video, nhấn chất lượng và chọn 720p.
3. Sao mình không thấy quiz hiển thị
Để quiz hiển thị trên Live App, trước tiên học sinh cần phải đăng nhập trên LMS. Sau khi đăng nhập thành công, học sinh quay lại trang Live App và tải lại trang, quiz sẽ hiển thị.
Cảm ơn quý phụ huynh và các em học sinh đã tin tưởng và đồng hành cùng các khoá học của STEAM for Vietnam. Mọi câu hỏi cho chúng tôi, vui lòng gửi về hòm thư hello@steamforvietnam.org
— — —
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.
“ Cho dù bạn muốn khám phá những bí ẩn lớn nhất của vũ trụ hay đơn giản chỉ muốn theo đuổi sự nghiệp trong thế kỷ 21 thì lập trình máy tính cơ bản, vẫn là một kỹ năng thiết yếu phải học ”
Trên thực tế, một báo cáo của Burning Glassdoor Technologies đã chỉ ra rằng:
Trong bảy triệu cơ hội việc làm từ năm 2014–2016 thì các công việc yêu cầu kỹ năng lập trình máy tính phải trả thêm 22 ngàn đô mỗi năm cho nhân viên so với công việc không yêu cầu. Đồng thời, tỷ lệ các vị trí yêu cầu khả năng lập trình từ người xin việc đang tăng nhanh hơn 50% so với thị trường chung; không chỉ riêng với công việc công nghệ, mà ngay cả đối với các công việc phi công nghệ.
Điều này cho thấy, kỹ năng lập trình sẽ trở thành điểm cộng cho quá trình xin việc cũng như là lợi thế quan trọng để giúp trẻ theo đuổi ngành nghề lý tưởng của mình trong tương lai. Sau đây, hãy cùng STEAM for Vietnam điểm qua 4 ngành nghề tưởng chừng không hề liên quan đến công nghệ nhưng lại dễ dàng thăng tiến nếu có thêm kỹ năng lập trình nhé!
1. Thiết Kế Thời Trang
Như câu nói của nhà thiết kế Francis Bionti :“Tương lai ngành thời tranh là lập trình, không phải may đo cao cấp.”
Sự phát triển của ngành thời trang đồng nghĩa với sự phát triển tính ứng dụng của thời trang vào cuộc sống. Sự giao thoa giữa công nghệ và thời trang tạo ra một xu hướng mới, gọi là “wearable technology” (sản phẩm công nghệ có thể đeo/mặc được). Mỗi món đồ không chỉ mang giá trị làm đẹp mà còn phải có tác dụng thiết thực riêng, ví dụ như Apple Watch hay Google Glass, ngoài là một phụ kiện thời trang chúng còn được lập trình để hỗ trợ đo nhịp tim hay lên kế hoạch làm việc phù hợp với chủ nhân.
Một ví dụ khác, Kye Shimizu, nhà thiết kế công nghệ người Nhật đã sử dụng code và phần mềm công nghệ quét 3D để tạo ra mẫu quần áo 2D tối ưu hóa việc không tạo ra vải thừa khi cắt. Từ đó, giúp giảm thiểu tối đa năng lượng và rác thải trong quá trình sản xuất. Năm 2018, dự án này đã được vinh danh tại hạng mục Giải thưởng bình chọn từ BGK tại Wired Creative Hack Award.
2.Kỹ Sư
Đối với kỹ sư, kiến thức về lập trình có thể hỗ trợ để giảm bớt thời gian cho các công việc tính toán và phân tích. Đặc biệt là kỹ sư cơ khí, kỹ sư dân dụng và kỹ thuật viên kỹ thuật, họ thường sử dụng lập trình để thiết kế và thử nghiệm các sản phẩm mới.
Có các công cụ hay phần mềm chung được sử dụng trong toàn ngành, nhưng mỗi dự án thường có những yêu cầu cụ thể. Kỹ sư biết về lập trình có thể thiết kế công cụ riêng, giúp công việc hiệu quả hơn. Ngoài ra, trong các tính toán quan trọng của dự án, một sai lầm nhỏ cũng có thể gây tổn thất lớn. Có kiến thức lập trình để tạo ra một tùy chọn, nhằm kiểm tra lại từ 2–3 lần cho các tính toán này sẽ giúp giảm thiểu nguy cơ trên.
3. Chuyên Viên Phân Tích
Nói đến ngành nghề liên quan đến kinh tế, các chuyên viên phân tích kinh doanh, nhà phân tích tài chính và nhà phân tích dữ liệu sử dụng lập trình máy tính để phân tích con số và giải quyết các vấn đề trong kinh doanh, tài chính. Các tác vụ mã hóa phổ biến bao gồm ước tính số tiền mà một công ty sẽ kiếm được hoặc xác định số lượng một mặt hàng cụ thể mà một cửa hàng nên đặt trên kệ.
4. Marketing
Có thể thấy marketing và digital marketing mở rộng phụ thuộc vào cách người dùng phản ứng với các nội dung marketing. Tuy nhiên, đây là lĩnh vực mà một lượng lớn tương tác của người tiêu dùng diễn ra trên mạng. Vì thế, để kiểm soát luồng dữ liệu này một cách hiệu quả, các chuyên gia có thể dựa vào lập trình để thiết kế công cụ giúp hiểu rõ hơn các hoạt động “online” của người dùng.
Có kiến thức về cách người dùng phản ứng với từng nội dung ra sao sẽ giúp dự đoán được nhu cầu tiêu dùng trong tương lai, tạo cho nhà tiếp thị một nguồn tài nguyên lớn để đi trước số đông.
Tất nhiên, ngoài 4 ngành nghề trên vẫn còn rất nhiều công việc mà kỹ năng lập trình luôn có “đất dụng võ”. Tiêu biểu như kế toán, thiết kế đồ hoạ, hoá mỹ phẩm, khoa học môi trường, nghiên cứu y tế, v.v. Đó cũng là lý do ra đời của những sản phẩm như Smart coat từ hãng Emel + Aris — chiếc áo có thể điều chỉnh thân nhiệt và làm tăng khả năng lưu thông máu của người mặc hay My UV Patch từ hãng mỹ phẩm L’oreal — miếng lót dính vào da cho phép theo dõi mức độ tiếp xúc với ánh nắng mặt trời.
Kết Luận:
Lập trình chính là một kỹ năng sống còn cho các chuyên gia trong những lĩnh vực khác nhau và cũng là lá chắn để bảo vệ họ trước nguy cơ bị công nghệ hay máy móc thay thế. Vì lẽ đó, cho trẻ tiếp xúc sớm với lập trình chắc chắn là một quyết định sáng suốt và cần thiết. Tuy nhiên, tại Việt Nam, việc giáo dục về lập trình vẫn còn tương đối mới mẻ, hạn chế.
Hiểu được khó khăn đó, STEAM for Vietnam mong muốn được truyền tải “ngôn ngữ của tương lai” này đến thế hệ trẻ Việt Nam, bước đầu thông qua hình thức dạy Lập trình qua ngôn ngữ Scratch và ngôn ngữ Python — với hơn 150 quốc gia đã đưa vào sử dụng và có sẵn trong hơn 40 ngôn ngữ bao gồm Tiếng Việt.
Hãy tham gia với chúng tôi, để chung tay tạo nên thế hệ kỹ sư toàn cầu trong tương lai.
Sự đóng góp của bạn có thể góp phần giúp các trường Trung học Cơ sở và Trung học Phổ thông trên toàn quốc được tiếp cận với bộ linh kiện VEX IQ của VEX Robotics – nền tảng về Robotics hàng đầu cho các cấp từ Tiểu học tới Đại học tại Hoa Kỳ.
Hiện nay, việc triển khai robot ở Việt Nam vẫn còn thấp, số lượng các lớp học chất lượng về Robotics còn hạn chế và chưa phổ biến ở nhiều tỉnh thành. Nhận thấy thực tế này, STEAM for Vietnam đã hợp tác với Đại học VinUni để tổ chức khóa học CS 201 – Nhập môn Thiết kế và Lập trình Robotics với VEX IQ cùng mong muốn đem lại những trải nghiệm về Robotics đẳng cấp quốc tế về cho các học sinh Việt Nam trên cả nước.
Cách Đăng ký
Bước 1:
Điền đơn đăng ký làm nhà tài trợ cho các trường trong danh sách của chúng tôi hoặc đăng ký tên ngôi trường bạn lựa chọn.
Bước 2:
Nhận email xác nhận đơn đăng ký.
Bước 3:
Sau khi đóng đơn tài trợ, chúng tôi sẽ kết nối bạn với ngôi trường đã lựa chọn để quyên góp trực tiếp cho trường.
Đối với khoá học CS 201 – Nhập môn Thiết kế và Lập trình với VEX IQ, chương trình học sẽ sử dụng bộ VEX IQ Super Kit hiện đại với hơn 750 linh kiện để học sinh thoả sức sáng tạo và trổ tài lập trình để điều khiển robot hoạt động xuyên suốt khoá học, theo chủ đề của từng bài học.
Hãy cùng chúng tôi giúp cho hàng nghìn trẻ em Việt Nam tiếp cận với nền giáo dục robots thế giới, tạo nên một thế hệ kỹ sư tương lai. Để cho chương trình học được diễn ra vào tháng 5, chúng tôi hy vọng nhận được sự tài trợ trước 1/5/2021.
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ường Đại học VinUni là cơ sở giáo dục đại học hoạt động theo mô hình đại học tư thục không vì lợi nhuận. Trường được xây dựng theo các chuẩn mực quốc tế, tích hợp các mô hình tinh hoa nhất của giáo dục đại học toàn cầu với mục tiêu tạo ra đột phá trong chất lượng giáo dục đại học Việt Nam và đạt đẳng cấp thế giới trong vòng 30 năm từ ngày thành lập. “Chương trình Hỗ trợ đưa Giáo dục STEM tới học sinh Trung học Phổ thông”, gọi tắt là Chương trình STEM, được VinUniversity triển khai từ 2019-2022 với mục tiêu tăng nhận thức về nghề nghiệp và tăng tỉ lệ đăng ký thi vào các ngành STEM tại các trường Đại học công nghệ, kỹ thuật thông qua việc khơi gợi niềm đam mê khoa học, kỹ thuật, công nghệ cho các em học sinh ở bậc THPT.