Trong bài viết trước nói về Biến, chúng ta đã sử dụng Biến để lưu dữ liệu. Ví dụ, chúng ta có thể dùng biến để lưu điểm của người chơi. Tuy nhiên, hạn chế của biến là một biến cùng lúc chỉ có thể lưu được một giá trị dữ liệu. Cụ thể, biến có thể lưu trữ điểm của người chơi hiện tại. Khi có người chơi khác chơi trò chơi, ta phải đặt lại biến đó về 0 và sau đó lưu điểm của người chơi mới.
Vậy nếu ta muốn lưu điểm số của tất cả các người chơi đã từng chơi trò chơi để tạo thành danh sách những người chơi xuất sắc nhất?
DANH SÁCH LÀ GÌ?
Danh sách (List) có thể hiểu là một kiểu biến đặc biệt. Nó cho phép lưu nhiều biến khác bên trong nó.
Danh sách được cấu thành bởi nhiều phần tử. Mối phần tử gồm 2 thành phần là “số thứ tự” và “giá trị” (tương tự như biến). Trong Scratch, số thứ tự của danh sách được bắt đầu từ số 1.
Ví dụ:
Ở ví dụ trên, danh sách có tên là “đồ dùng học tập”. Danh sách này có 8 phần tử. Các phần tử được đánh số thứ tự từ 1 cho đến 8.
Các số 1, 2, 3,… 8 là số thứ tự của phần tử
Các giá trị sách, máy tính,… cặp sách là giá trị của phần tử
Giá trị của các phần tử trong list thì có thể trùng nhau. Ví dụ như trong danh sách “đồ dùng học tập”, phần tử thứ 3 và 5 đều có giá trị là “bút”.
Tuy nhiên số thứ tự của phần tử là duy nhất. Chúng ta có thể dùng số thứ tự để ám chỉ giá trị của phần tử đó. Ví dụ mylist[6] có nghĩa là phần tử thứ 6 trong danh sách “đồ dùng học tập” và nó có giá trị là “máy tính”. Sẽ chỉ có duy nhất một phần tử thứ 6, không thể có 2 phần tử có cùng số thứ tự là 6.
Các bạn có thể tham khảo thêm về định nghĩa của danh sách trong khoa học máy tính 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.
Office Hour (giờ học ngoại khoá) là một buổi trao đổi để giúp học sinh có hội được giải đáp các thắc mắc liên quan đến bài tập lập trình và học hỏi các bạn cùng lớp. Tuy khá phổ biến trong các trường học phương Tây, hình thức học này vẫn còn khá mới lạ với các bạn học sinh Việt Nam.
Bài viết này sẽ giới thiệu một vài câu hỏi được quan tâm nhiều nhất trong buổi Office Hour đầu tiên của STEAM for Vietnam.
“Bộ tứ” giảng viên của khoá học CS101: Nhập môn Khoa học Máy tính bao gồm Trần Mạnh Hùng, Ngô Minh Đức, Nguyễn Quốc Khánh, và Vũ Viết Quỳnh Hương – kỹ sư phần mềm đến từ các tập đoàn công nghệ hàng đầu trên thế giới gồm có Amazon, Google, Twitter và Chan Zuckerberg Initiative (tổ chức phi lợi nhuận của vợ chồng nhà sáng lập Facebook). Các thầy cô đều từng là những sinh viên Việt Nam xuất sắc với thành tích học tập “khủng” và hiện có nhiều năm kinh nghiệm làm việc trong lĩnh vực lập trình.
Khi lên ý tưởng khoá học, các thầy cô mong muốn giúp các em học sinh xây dựng được những kỹ năng nền tảng vững chắc để trở thành các kỹ sư phần mềm, nhà quản lý sản phẩm, hay các nhà nghiên cứu về các công nghệ tiên tiến trong tương lai.
Do đó, các giờ học được định hướng ưu tiên phát lối tư duy logic và kỹ năng giải quyết vấn đề bên cạnh việc sử dụng thành thạo ngôn ngữ Python.
Office Hour không giống như những buổi học thông thường. “Người điều hành nội dung” chính của lớp học lại chính là các bạn học sinh. Những câu hỏi thắc mắc về bài tập về nhà hay “bí kíp” học lập trình sẽ được đem ra thảo luận cùng với cả lớp.
Câu hỏi: (Bạn Phương Linh)
Các thầy cô ơi, con nên học lập trình bao nhiêu tiếng mỗi tuần? Và sau bao nhiêu tiếng thì con có thể lập trình nhuần nhuyễn như các thầy cô ạ?
Trả lời: (Thầy Ken)
Theo một nghiên cứu thầy được biết, khi mình muốn giỏi một lĩnh vực nào, mình phải dành ít nhất 10,000 giờ đồng hồ để học và thực hành lĩnh vực ấy để có thể thành thạo được.
Hồi thầy còn học ở Đại học Bách khoa Hà Nội, thầy chỉ mới biết một chút kiến thức về lập trình và thuật toán cơ bản. Thầy muốn lập trình ứng dụng game “Ai Là Triệu Phú” trên nền tảng Android. Thầy phải tìm hiểu dần dần các kiến thức để áp dụng vào phát triển sản phẩm. Sau vài tháng lập trình, khi thầy đưa game đó lên Google Play thì được nhiều người tải và đứng đầu Android Top 1 mấy tháng liền.
Các bạn có hứng thú với lập trình thì không cần phải chờ đến khi mình giỏi rồi mới làm sản phẩm. Hãy bắt đầu nghĩ về sản phẩm mình muốn làm ngay từ bây giờ và bắt tay vào làm thôi.
Câu hỏi: (Bạn Hùng Mạnh – Học viên trên LiveApp)
Khi bắt đầu giải một bài tập nên bắt đầu suy nghĩ từ đâu ạ? Con bám vào bài học rồi mà chưa biết định hướng ạ.
Trả lời: (Thầy Harry)
Những buổi học vừa qua, thầy thấy có nhiều bạn cũng có khúc mắc khi làm bài. Thầy có một số gợi ý để các bạn làm theo.
Đầu tiên, hãy tìm cách suy nghĩ. Chúng mình chưa nên code vội mà tự mình làm bài tập bằng tay, lập luận xem mình sẽ giải quyết theo phương hướng nào.
Nếu khó quá, các em có thể lên hệ thống LMS để đặt câu hỏi cho các thầy cô và trợ giảng. Các bạn có thể chia sẻ với nhau những khó khăn hoặc những phương pháp giải mới và cùng tiến bộ. Đừng ngại khi mình phải đặt câu hỏi để giải bài tập.
Ngoài ra, hãy sử dụng chương trình Thonny (để luyện code Python) để viết và thử chạy code. Mình có thể viết nhiều code để hiểu hơn cách vận hành của chương trình, nó giúp mình có thêm ý tưởng để giải bài tập.
Câu hỏi: (Bạn Cao Đức – Học viên trên Live App)
Khi nói đến lập trình ai cũng nghĩ nó là cái gì đó rất cao siêu, như kiểu mặc định phải giỏi toán lắm mới làm được. Vậy có cần phải giỏi toán để theo đuổi môn lập trình không ạ?
Trả lời: (Thầy Đức)
Lập trình cần một số kiến thức nhất định về toán: tư duy logic, và học lên chuyên sâu sẽ cần thêm các lĩnh vực khác. Các thầy cô của STEAM for Vietnam sẽ dạy cho bạn những kiến thức cần thiết để nắm được kiến thức lập trình. Những kiến thức về toán học cần thiết đều là rất cơ bản và có hàng triệu học sinh, sinh viên theo học được.
Bên cạnh các câu hỏi liên quan đến bài học, các bạn học viên rất hứng thú muốn tìm hiểu thêm công việc của một kỹ sư máy tính. Dường như đây sẽ là một ngành học mà nhiều bạn nhỏ hứng thú và có mong muốn theo đuổi. Câu hỏi: (Bạn Tuấn Anh – Học viên trên Live App)
Các thầy cô có thể chia sẻ một ngày làm việc của kỹ sư lập trình được không ạ? Mình ngồi gõ code ngày này qua ngày khác thôi ạ?
Trả lời: (Thầy Đức)
Một ngày làm việc của kỹ sư lập trình chủ yếu là chia sẻ, làm việc chung với đồng nghiệp để tìm ra hướng giải quyết cho vấn đề, và lập trình chỉ là một phần trong số đó. Đối với công việc cụ thể của thầy Đức ở Google, thì môi trường làm việc ở Google rất tốt, làm việc ở đây hiệu quả nhưng cũng có rất nhiều thời gian dành cho gia đình và bạn bè.
Cô Zi:
Từ kinh nghiệm của một người đã gắn bó với lập trình được 20 năm rồi thì cô thấy là quan niệm làm lập trình viên chỉ ngồi code ngày này qua ngày khác là chưa đầy đủ. Mình như một người “thợ xây” phải luyện tập nhuần nhuyễn, từng đoạn code là từng viên gạch, phải làm nhiều thì mới thẳng hàng lối.
Hiện tại, khi đã có nhiều kinh nghiệm hơn, thì công việc của cô giống một “kiến trúc sư” hơn là một “thợ xây”. Với một dự án đưa ra, cô sẽ định hướng xem căn nhà sẽ xây như thế nào, đặt nền móng ra sao, từng phòng ốc và cách sử dụng các nguyên vật liệu thế nào. Hệ thống này ngày càng phức tạp hơn nên việc trao đổi, làm việc nhóm, viết báo cáo cũng ngày càng chiếm nhiều thời gian hơn và cô cũng không còn trực tiếp viết nhiều code nữa. Ngoài ra, các lập trình viên có kinh nghiệm cần đào tạo các lớp lập trình viên mới trong công ty và công việc này cũng sẽ chiếm một phần thời gian.
Bạn nào muốn đi theo lập trình thì mình xác định đây là quá trình học hỏi không ngừng nghỉ. Code của ngày hôm nay sẽ khác với code của ngày hôm qua, nên sẽ không lo là phải làm đi làm lại một cái quá lâu đâu.
Câu hỏi: (Bạn Hồng Anh – Học viên trên Zoom)
Con muốn trở thành một kỹ sư lập trình như cô Zi. Nhưng nhiều người nói với con rằng Công nghệ thông tin không dành cho con gái và định hướng con với ngành khác. Con phải làm sao bây giờ ạ?
Trả lời: (Cô Zi)
Cô rất đồng cảm với Hồng Anh. Hồi cô mới học lập trình cách đây 20 năm hồi ấy quan niệm việc lập trình không dành cho con gái vẫn còn là quan niệm phổ biến ở Việt Nam nên cô cũng thường gặp phải sự nghi ngờ và không ủng hộ của những người xung quanh. Cô nghĩ là nếu bạn nữ nào muốn theo con đường này thì cũng phải chuẩn bị tinh thần và bản lĩnh để đương đầu với những sự nghi ngại như thế đấy.
Tuy nhiên, bên cạnh những thiệt thòi đó, chúng ta cũng có rất nhiều thuận lợi. Hiện tại việc đa dạng hóa nhân lực cho ngành lập trình đang được chú trọng, nên có nhiều cơ hội về học bổng, việc làm, giảng dạy dành cho nữ. Là số ít, chúng ta cũng dễ gây ấn tượng hơn với đồng nghiệp và người đối diện. Ngoài ra, các công việc của lập trình viên giàu kinh nghiệm bao gồm rất nhiều làm việc nhóm, trao đổi, giao tiếp mà phụ nữ cũng có nhiều lợi thế trong việc này.
Cô hy vọng Hồng Anh vững bước trên con đường mà mình lựa chọn và cũng đừng buồn khi chưa có được nhiều sự ủng hộ, chúng mình cứ vững tin trên con đường mình chọn thôi ha.
TẠM KẾT
Ngay trong lần thử nghiệm đầu tiên, ý tưởng về buổi Office Hour đã dành được nhiều sự ủng hộ. Rất nhiều học sinh đã sôi nổi đặt rất nhiều câu hỏi thú vị cho các thầy cô. Và chính những thắc mắc của các bạn lại khiến các thầy cô như được nhìn thấy chính mình cách đây nhiều năm, khi mới chập chững học lập trình.
Tuy chỉ diễn ra trong 2 tiếng, buổi học Office Hour là một trong những buổi học có lượng tương tác cao nhất giữa thầy và trò của STEAM for Vietnam. Các bạn học sinh quan tâm có thể xem lại video buổi học Office Hour 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 ngày cuối tháng 05 – 2020, Justin Hoàng (Hoàng Thế Sơn) khi đang lướt Facebook đã vô tình nhìn thấy bài chia sẻ về STEAM for Vietnam từ một người bạn. Justin đã nhanh chóng bị thu hút bởi những sứ mệnh mà tổ chức hướng đến, sau đó gia nhập làm tình nguyện viên với vai trò một Graphic Designer (thiết kế đồ hoạ).
Công việc thường ngày của Justin – sinh viên Năm cuối ngành Thiết kế Công nghiệp tại DAAP, Trường Đại học Cincinnati (Ohio, Hoa Kỳ) – là khảo sát người dùng, lên ý tưởng, thiết kế, ứng dụng VR (công nghệ thực tế ảo)…
Tưởng chừng như mọi thứ chẳng liên quan đến lập trình, nhưng Justin lại sớm “bén duyên” với STEAM for Vietnam từ những ngày đầu. Là Designer chính và chàng trai duy nhất của team Marketing, Justin đã “bất đắc dĩ” trở thành thầy giáo cho Bài học đặc biệt 3.1 của lớp CS 001 – Nhập môn Tư duy máy tính và Lập trình Scratch. Chia sẻ về hành trình đến với STEAM for Vietnam, anh cho biết: “Những sứ mệnh mà STEAM for Vietnam muốn mang lại cho nền giáo dục nước nhà đã thôi thúc mình “nhanh tay đăng kí” để chung tay góp sức cùng mọi người”.
Từ đây, Justin đã cùng các giáo viên tạo ra những nhân vật đầu tiên đại diện cho STEAM for Vietnam trong Trại hè Lập trình 2020 kết thúc thành công vào tháng 10 vừa qua.
Tuy nhân vật trong các khóa học đều là sản phẩm mà Justin tạo ra, nhưng anh chưa bao giờ nghĩ đến một ngày mình sẽ trở thành giáo viên cho một buổi học nào đó. Cơ duyên này đã xuất hiện vào một ngày cuối tháng 10/2020, khi đội ngũ tình nguyện viên đang bắt tay chuẩn bị cho Học kỳ Mùa xuân 2021. Các thầy cô khoá CS 001 đã gợi ý Justin biến câu chuyện thiết kế nhân vật của mình trở thành một bài học đặc biệt.
Hành trình tạo ra bạn Trâu không hề đơn giản. Ban đầu, Justin dự tính sẽ vẽ cô gái mặc áo dài vì hình ảnh ấy đã rất quen thuộc với người dân Việt Nam. Nhưng sau đó, được sự góp ý của mọi người, Justin đã tìm kiếm một hình ảnh trung lập để tạo hứng thú cho cả các bé trai lẫn bé gái. Trùng hợp thay, lịch học chính thức được dời đến gần Tết Tân Sửu. Sau khi nhận được cái “gật đầu” của mọi người trong đội ngũ CS 001, bạn Trâu đã trở thành nhân vật chính cho Bài học đặc biệt 3.1.
Trước tiên, Justin phác thảo hình ảnh bạn Trâu trên giấy để có được những nét hoạ cơ bản. Sau đó, anh bắt đầu vẽ trên Scratch những hình ảnh đầu tiên. Tuy nhiên, từ bản vẽ đầu này, Justin đã mất hơn 3 tuần để chỉnh sửa với 15 phiên bản Trâu khác nhau trước khi đem đến phiên bản hoàn chỉnh và đẹp mắt cho các bạn nhỏ.
Không chỉ đẹp mắt, các thầy cô cũng bàn bạc thêm với Justin để có thể tối ưu hoá các bước vẽ, giúp cho các bé có thể tạo ra bạn Trâu một cách dễ dàng nhất. Ngoài ra, khi bắt đầu buổi dạy thử cùng cô Joy (quản lý vận hành) và cô Trang (giáo viên lớp CS 001), Justin nhận ra vấn đề nảy sinh trong buổi dạy: “Làm sao để giúp học sinh chọn màu nhanh hơn khi vẽ?” Thế là anh đã nhanh trí chuẩn bị sẵn những màu cần dùng cho bạn Trâu trong Cột mốc số 0, giúp các em tiết kiệm thời gian vẽ và không phải lúng túng tìm màu của bạn Trâu.
Qua trải nghiệm một buổi làm thầy giáo, Justin bộc bạch: “Trải nghiệm này với mình rất thú vị, bởi mình đã học được rất nhiều kĩ năng mới, cũng như “thấm thía” hơn công sức và tâm huyết của các thầy cô trong quá trình chuẩn bị cho những bài giảng.”
STEM và STEAM dù chỉ khác nhau ở chữ “A” — Arts (Nghệ thuật) nhưng đây là một yếu tố không thể thiếu trong quá trình tìm hiểu các vấn đề khoa học xoay quanh STEAM, giúp các em học sinh phát triển khả năng sáng tạo trong các cách tiếp cận và giải quyết vấn đề, mở ra những phương án lựa chọn mới.
Khi được hỏi về “bí kíp” vẽ đẹp và cách lồng ghép “A” vào lập trình của mình, Justin cho biết chúng ta nên bắt đầu từ những gì đơn giản nhất. Sau đó chọn các màu sắc hài hoà và đặc biệt, phải tìm được niềm vui trong lúc vẽ. Về phần đưa “A” vào các trò chơi, anh tin rằng chúng ta nên hiểu rõ rằng mình đang lập trình cho ai (đối tượng khán giả), với mục đích gì, từ đó chúng ta có thể phát triển và đưa sức sáng tạo của mình bay xa.
Với Bài học 3.1 – Hoạt hoạ, Justin hy vọng các bạn nhỏ có thể hiểu rằng, kỹ năng sáng tạo là rất cần thiết! Anh cũng khuyên các bạn, “Dù các bạn có làm gì, chúng ta cũng hãy nên tìm kiếm niềm vui để tạo động lực trên con đường lâu dài. Và hãy “Take one step at a time” – bắt đầu những thứ phức tạp từ những điều đơn giản nhất, như cách các bạn được học trong bài Hoạt hoạ”.
Lời kết, nhân dịp đầu xuân, xin chúc cho tất cả quý phụ huynh, cùng các em học sinh một năm mới an lành và hạnh phúc. Mong rằng mọi người sẽ tiếp tục đồng hành cùng STEAM for Vietnam trên chặng đường dài sắp tới để tạo ra thế hệ trẻ tài năng, đại diện cho Việt Nam vươn ra bản đồ khoa học và công nghệ trên thế giớ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.
Hình ảnh trong Scratch được biểu diễn ở hai dạng: Vector và Bitmap
Hình bên trái ở dạng Vector, hình bên phải ở dạng Bitmap.
Vector
Bitmap
– Được cấu tạo từ các hình học
– Được làm từ các chấm “pixel”
– Có thể phóng to/nhỏ mà không bị “vỡ” hình
– Nếu phóng to sẽ bị mất chất lượng
Để xem hình ảnh của bạn đang ở dạng nào, chúng ta vào phần Trang phục/Phông nền:
Nếu ở dưới xuất hiện nút màu xanh “Chuyển thành Bitmap”, thì có nghĩa hình ảnh của bạn đang ở dạng Vector. Và ngược lại, nếu đó là “Chuyển thành Vector” thì hình ảnh của bạn đang ở dạng Bitmap. Thật dễ phân biệt phải không nào?
Ở phần Trang phục/Phông nền, có 3 thanh công cụ chính để vẽ hình trên Scratch:
Thanh công cụ thứ nhất
Tên trang phục: Để thay đổi tên trang phục/phông nền đang chọn, nhấn chuột phải vào ô Trang phục ở trên và gõ tên mới tương ứng.
Ví dụ:
Làm lại thao tác và lùi thao tác
Ví dụ bạn đang vẽ hình với các thao tác như sau:
Bạn đang ở hình số 4, nhấn nút Lùi thao tác (Undo), sẽ quay trở lại hình số 3. Nếu tiếp tục ấn Làm lại thao tác (Redo), sẽ quay về hình số 4 ban đầu.
Đưa lên phía trên/Đưa ra phía sau và Đưa lên phía trên cùng/Đưa ra phía sau cùng
Cũng tương tự như khái niệm Lớp, ta có công cụ để sắp xếp vị trí hiển thị trong khi vẽ.
Ví dụ về Đưa lên phía trên/Đưa ra phía sau:
Ví dụ về Đưa lên phía trên cùng/Đưa ra phía sau cùng:
Lưu ý:
Sự khác biệt giữa Đưa lên phía trên và Đưa lên phía trên cùng (Đưa ra phía sau và Đưa ra phía sau cùng) thể hiện rõ khi có 3 lớp hình ảnh trở lên. Trong trường hợp chỉ có 2 lớp hình ảnh, như hình ảnh Miu đội mũ xanh ở trên, Đưa lên phía trên và Đưa lên phía trên cùng (Đưa ra phía sau và Đưa ra phía sau cùng) cho cùng 1 kết quả vì chỉ có 2 lớp, nên lớp phía trên cũng là lớp phía trên cùng (lớp phía sau cũng là lớp phía sau cùng).
Thanh công cụ thứ hai
Đối với một số công cụ ở dưới (như uốn cong, góc nhọn, cỡ cọ, cỡ tẩy, phông chữ) chỉ xuất hiện khi sử dụng một công cụ nào khác như đổi hình dạng hay văn bản.
Tô, Viền, Độ dày viền: Ví dụ khi sử dụng những công cụ này
Em có thể làm màu viền đậm hơn hoặc nhạt đi bằng cách điều chỉnh số “10” trong khung trên trước khi vẽ.
Sao chép và Dán: Sử dụng khi muốn sao chép hình ảnh nào đó.
Chọn hình vừa vẽ ở trên, nhấn nút Sao chép, sau đó nhấn nút Dán. Ta được một hình vẽ mới y hệt hình cũ.
Xóa: Chọn hình cần xóa và bấm vào nút Xóa để xóa hình đó
Lật ngang và Lật dọc: Xem hình minh họa dưới đây để biết chức năng của công cụ này
Uốn cong và Góc nhọn: Hai công cụ này sẽ xuất hiện khi bấm vào công cụ Đổi hình dạng. Hai công cụ Uốn cong và Góc nhọn giúp uốn cong hoặc làm nhọn một góc nào đó của hình vẽ. Ví dụ uốn cong một góc của hình vuông và làm nhọn một phía hình tròn:
Cỡ cọ và cỡ tẩy: Sau khi chọn công cụ Cọ vẽ cỡ cọ sẽ hiện ra. Còn sau khi chọn công cụ Tẩy cỡ tẩy sẽ hiện ra. Mục đích của cỡ cọ và cỡ tẩy là để điều chỉnh kích cỡ của Cọ vẽ và Tẩy để có thể vẽ hay tẩy đường nhỏ hơn hay to hơn. Số càng to chứng tỏ kích cỡ của Cọ vẽ và Tẩy càng lớn.
Phông chữ: Sau khi chọn công cụ Văn bảnphông chữ sẽ hiện ra. Từ đó ta có thể viết chữ với nhiều kiểu phông chữ khác nhau tùy ý.
Bảng chọn
Chọn: giúp chúng ta chọn hình để di chuyển, phóng to/thu nhỏ hay sao chép hoặc xóa
Đổi hình dạng: giúp đổi hình dạng của hình thành đường cong hay góc nhọn
Cọ vẽ: là bút vẽ để vẽ tùy ý
Tẩy: để tẩy những đường nét hay hình vẽ vẽ sai
Tô: đổ màu vào những khoảng trống trong hình vẽ
Văn bản: gõ văn bản (chữ, số, ký tự) để xuất hiện trên trang phục/phông nền
Dòng, hình tròn, hình chữ nhật: các công cụ tương ứng để vẽ dòng kẻ, hình tròn và hình chữ nhật
— — —
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.
Nhanh hơn : Nút này làm âm thanh phát nhanh hơn, vì thế âm thanh sẽ cao hơn một chút.
Chậm hơn : Nút này làm âm thanh phát chậm hơn, vì thế âm thanh sẽ thấp hơn một chút.
To hơn : Nút này làm âm thanh phát to hơn.
Nhẹ hơn : Nút này làm âm thanh phát nhỏ hơn.
Mute : Nút này làm tắt âm thanh (không có âm thanh phát ra -> im lặng).
Fade in : Nút này làm âm thanh bắt đầu phát nhỏ, và dần dần trở lại âm lượng ban đầu.
Fade out : Nút này làm âm thanh bắt đầu phát với âm lượng ban đầu, và dần dần nhỏ đi.
Đảo ngược : Nút này làm âm thanh được phát ngược lại.
Robot : Nút này làm âm thanh thành tiếng robot.
— — —
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.
Bắt đầu phát âm thanh cho đến khi âm thanh kết thúc
Bắt đầu phát âm thanh
Lưu ý:
Phân biệt hai khối lệnh trên. Khối lệnh “phát âm thanh … đến hết” sẽ bắt đầu phát âm thanh và đợi cho đến khi âm thanh kết thúc thì sẽ thực hiện tiếp khối lệnh ở dưới. Khối lệnh “bắt đầu âm thanh” sẽ bắt đầu phát âm thanh và thực hiện luôn khối lệnh phía dưới mà không cần chờ âm thanh đến khi kết thúc.
Ví dụ:
Ở khối bên trái, âm thanh Disconnect sẽ được phát hết rồi nhân vật mới chuyển sang trang phục Trâu 1.
Còn ở khối bên phải, âm thanh Disconnect sẽ bắt đầu phát và trong lúc âm thanh được phát, nhân vật sẽ được chuyển sang trang phục Trâu 1.
2. Ngừng mọi âm thanh
Dừng lại tất cả âm thanh hiện đang phát
3. Thay đổi âm lượng
Thay đổi âm lượng một lượng tùy ý.
Ví dụ ban đầu âm thanh ở mức 50. Để tăng âm lượng lên 10 mức, ta sẽ đổi thành thay đổi âm lượng một lượng 10. Lúc đó âm thanh sẽ ở mức 60. Còn để giảm âm lượng 10 mức, khối lệnh sẽ là thay đổi âm lượng một lượng -10. Lúc đó âm thanh sẽ ở mức 40.
Đặt âm lượng của âm thanh về bao nhiêu. Mặc định ban đầu âm lượng là 100%. Giảm thành số nhỏ hơn 100 thì âm lượng sẽ giảm, tăng lên số lớn hơn 100 thì âm lượng sẽ tăng.
Ví dụ:
Mặc định âm thanh luôn là 100%. Nếu chuyển thành đặt âm lượng 50%, âm thanh sẽ chỉ to bằng một nửa âm thanh ban đầu. Còn nếu khối lệnh là đặt âm lượng 300%, âm thanh sẽ to gấp ba lần âm thanh ban đầu.
— — —
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 thanh trong Scratch sẽ được chèn vào các nhân vật hoặc sân khấu. Vậy nên bước đầu tiên, chúng ta cần chọn sân khấu hay nhân vật mà mình muốn chèn âm thanh.
Để chèn âm thanh trong Scratch, chúng ta có 4 cách:
Chọn âm thanh có sẵn trên Scratch
Ghi âm âm thanh
Chọn âm thanh ngẫu nhiên trên Scratch
Tải lên âm thanh từ máy tính
1. Chọn âm thanh có sẵn trên Scratch
Bước 1: Từ khu vực góc dưới bên trái màn hình, nhấn vào nút Chọn âm thanh (biểu tượng cái loa)hoặc chọn nút có hình kính lúp. Đây là nút đưa chúng ta đến thư viện âm thanh của Scratch với nhiều chủ đề khác nhau và ở đó ta có thể chọn một âm thanh tùy ý.
Bước 2: Chọn một âm thanh muốn sử dụng. Trong ví dụ này, chúng ta chọn phông nền có tên là Alert.
Lưu ý:
Ô tìm kiếm: Có thể tìm nhanh tên âm thanh khi gõ vào ô này. Do tên các âm thanh đều bằng tiếng Anh nên khi tìm kiếm âm thanh nên gõ bằng tiếng Anh.
Các ô chủ đề: Các âm thanh được phân loại thành nhiều chủ đề khác nhau, thuận tiện cho việc tìm kiếm.
Kết quả sau khi thực hiện:
2. Ghi âm âm thanh
Bước 1: Từ khu vực góc dưới bên trái màn hình, di chuột đến biểu tượng cái loa và sau đó chọn nút có hình micro. Đây là nút giúp chúng ta có thể thực hiện ghi lại âm thanh do mình tạo ra thông qua micro ở máy tính.
Bước 2: Nếu trên màn hình hiện thông báo như trên, nhấn chọn Allow (đồng ý) để cho phép sử dụng micro thu âm trên máy tính.
Bước 3: Chọn nút hình tròn màu cam Ghi lại để bắt đầu ghi âm.
Bước 4: Chọn nút hình vuông màu cam Dừng ghi âm để kết thúc quá trình ghi âm.
Bước 5: Bấm nút Lưu để lưu lại âm thanh vừa ghi âm. Ngoài ra có thể chọn nút Chơi để phát lại âm thanh vừa ghi âm hoặc nút thu âm lại để quay về bước 3, bắt đầu ghi âm lại.
Kết quả sau khi bấm nút Lưu:
3. Chọn âm thanh ngẫu nhiên trên Scratch
Từ khu vực góc dưới bên trái màn hình, di chuột đến biểu tượng cái loa và sau đó chọn nút Bất ngờ (có hình ngôi sao). Đây là nút giúp chương trình tự chọn một âm thanh bất kỳ có trong thư viện của Scratch. Mỗi lần ấn vào nút này, một âm thanh ngẫu nhiên sẽ được chọn.
Kết quả sau khi thực hiện:
4. Tải lên âm thanh từ máy tính
Bước 1: Từ khu vực góc dưới bên trái màn hình, di chuột đến biểu tượng cái loa và sau đó chọn nút Tải âm thanh lên. Sau đó màn hình sẽ hiển thị một hộp thoại.
Bước 2: Tìm vị trí và chọn âm thanh muốn tải lên từ máy tính. Trong ví dụ này, chúng ta chọn tải lên một hình nền đã có sẵn, tên là Disconnect.
Bước 3: Nhấn nút Open.
Kết quả sau khi thực hiệ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.
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:
Hệ nhị phân: hệ số đếm bao gồm 1 và 0 nhằm dịch những thao tác từ người dùng thành câu lệnh cho máy tính
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.
So với Java, các câu lệnh của Python đơn giản và gần gũi với ngôn ngữ của con người hơn. (Nguồn: https://python-scripts.com/ )
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.
So với Java, các câu lệnh của Python đơn giản và gần gũi với ngôn ngữ của con người hơn
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ở.
Những kiến thức này sẽ giúp cho các em định hình được tư duy lập trình, không những có thể áp dụng vào lập trình phần mềm, mà còn có thể sử dụng vào nhiều khía cạnh khác trong đời sống, giúp các em làm mọi việc một cách khoa học và có phân tích hơn.”
Thầy Nguyễn Quốc Khánh, kỹ sư phần mềm tại Google (Hoa Kỳ) và giảng viên khoá học CS101
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.
Hệ thống LiveApp do đội ngũ kỹ sư của STEAM for Vietnam xây dựng
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