Danh sách học phần
Khoa học máy tính với Python 1
Xem chi tiết →Khoa học máy tính với Python 2
Xem chi tiết →Khoa học máy tính với Python 3
Xem chi tiết →Khoa học máy tính với Python 4
Xem chi tiết →Khoa học máy tính với Python 5
Xem chi tiết →1. Bối cảnh và xu hướng
Công nghệ đã và đang là xu hướng phát triển của thế giới và lập trình sẽ sớm trở thành một kỹ năng mà các bạn nhỏ cần phải sớm nắm bắt và tìm hiểu.
Không còn là một kỹ năng dành riêng cho các nhà khoa học, kỹ sư hay chuyên viên công nghệ thông tin, rèn luyện khả năng lập trình là yêu cầu quan trọng mà mọi trẻ em cần học, như cách chúng ta chuẩn bị cho trẻ kỹ năng ngôn ngữ, toán học và thể chất từ sớm.
Đặc trưng của thời đại này là môi trường công nghệ phát triển nhanh chóng, nổi bật nhất có thể kể đến như thực tế ảo, robot và AI (Trí tuệ nhân tạo) đang dần thay đổi cách mà chúng ta sống, học tập, vui chơi và làm việc một cách rõ rệt. Và đằng sau tất cả công nghệ này là các chức năng được lập trình. Đó là cách mà chúng ta giao tiếp với máy tính, xây dựng trang Web, ứng dụng, trò chơi máy tính và robot.
Các bạn nhỏ hiện nay được tiếp xúc với công nghệ từ rất sớm, như điện thoại thông minh, máy tính bảng, TV,…Điều này đã mang lại rất nhiều ưu thế cho sự phát triển của trẻ. Từ vui chơi giải trí cho đến học tập, chỉ cần có một thiết bị kết nối với Internet, các bạn nhỏ có thể tiếp cận với mọi thứ. Tuy nhiên nếu không được định hướng đúng cách các bạn sẽ rất dễ rơi vào các tình trạng xấu như nghiện game, nghiện mạng xã hội,… dẫn đến lãng phí thời gian quý báu của mình, dần thiếu hụt kỹ năng xã hội. Đó là tình trạng khiến rất nhiều các bậc cha mẹ lo lắng.
Do đó một nhu cầu mới được rất nhiều phụ huynh quan tâm là: Liệu có cách nào để các bé học và sử dụng công nghệ một cách có ích hơn, tạo định hướng rõ ràng về nghề nghiệp trong tương lai hay không?
Từ nhu cầu bức thiết ấy, FUNiX đã cho ra mắt khóa học này nhằm đánh thức tiềm năng của các bạn nhỏ đối với khối ngành Công nghệ thông tin. Bước vào thế giới của khoa học máy tính, các bé sẽ sớm được rèn luyện được khả năng tư duy logic mạch lạc, biết cách giải quyết vấn đề, phát huy khả năng sáng tạo và tính nghệ thuật,…
Tạo điều kiện cho trẻ tiếp xúc sớm với công nghệ và lập trình là tiền đề quan trọng mở ra vô vàn cơ hội về nghề nghiệp trong tương lai cho trẻ.
2. Mô tả ngắn về chương trình
Lập trình cho K12 gồm 3 nội dung, dạy trên nền tảng của Codecombat.
- Khoa học máy tính: Làm quen với khoa học máy tính, tìm hiểu về các khái niệm, cú pháp, câu lệnh trong lập trình với ngôn ngữ Python.
- Game với Python: Lên ý tưởng thiết kế game, học các câu lệnh, cú pháp để xây dựng một trò chơi hoàn chỉnh.
- Lập trình Website: Tìm hiểu về website, học cách viết Website bằng HTML, CSS và JavaScript.
Codecombat là một nền tảng web game giáo dục, học về các khái niệm và ngôn ngữ lập trình phần mềm. Thông qua hình thức nhập vai vào một trò chơi điện tử, học viên được học những kiến thức cơ bản về khoa học máy tính và viết mã. Ngôn ngữ hiện đang được giảng dạy là Python, JavaScript, HTML và CSS. Học sinh được tự lựa chọn nhân vật của riêng mình, sử dụng các câu lệnh code để kiểm soát chuyển động của nhân vật đó, vượt qua hơn 400 levels.
Game có cách chơi khá linh hoạt, cho phép trẻ sửa đổi thiết bị và tạo ra nhiều nhân vật để chơi cùng. Mục đích chính là giúp học viên quen với việc viết mã, khi các em đã quen, có thể chọn các màn chơi khó hơn, với các nhiệm vụ phức tạp hơn. Ngoài ra, học viên cũng được khuyến khích tự xây dựng cấp độ và tạo ra những mã của riêng mình.
Sau khi kết thúc chương trình học, các bé sẽ được trang bị các kiến thức theo tiêu chuẩn kiến thức khung CSTA K-12 CS của Mỹ – Khung chuẩn quốc tế về Khoa học máy tính được công nhận rộng rãi dành riêng cho học sinh.
Các học phần được triển khai giảng dạy online. Giảng viên trực tiếp giảng dạy, hướng dẫn và gỡ lỗi cho các em trong các buổi học, đảm bảo các bé sẽ không gặp bất kỳ vướng mắc nào và hoàn thành chương trình xuất sắc.
3. Đầu ra sau khi hoàn thành chương trình
Sau khi hoàn thành chương trình, học viên có thể:
- Có những hiểu biết cơ bản về khoa học máy tính, lập trình phần mềm.
- Hình thành tư duy logic mạch lạc và khả năng sáng tạo.
- Tự thiết kế và xây dựng được trò chơi, website.
Học viên có thể chọn các hướng sau:
- Theo học chứng chỉ S5 – 5CC của FUNiX nếu muốn theo đuổi ngành công nghệ thông tin/ công nghệ phần mềm
- Học đủ các chứng chỉ cần thiết sau đó học chuyển tiếp để lấy bằng đại học FPT hoặc “Du học chuyển tiếp” để có thể đi du học một số trường tại Úc và Mỹ.
4. Mục tiêu (Học viên học xong có năng lực gì)
- PO1: Sử dụng được ngôn ngữ lập trình Python để tạo chương trình đơn giản.
- PO2: Tạo được website bằng HTML, CSS và JavaScript.
- PO3: Thiết kế và xây dựng một trò chơi.
- PO4: Sử dụng được ngôn ngữ lập trình Python để giải quyết vấn đề.
- PO5: Tìm hiểu và sử dụng cấu trúc dữ liệu và thuật toán tìm kiếm, sắp xếp
5. Yêu cầu đầu vào và đối tượng phù hợp
Các bạn nhỏ độ tuổi từ 11 – 15.
6. Các học phần thành phần của chương trình
# |
Học phần |
Đáp ứng mục tiêu PO |
1 |
Khoa học máy tính với Python 1 |
PO1, PO2, PO3 |
2 |
Khoa học máy tính với Python 2 |
PO1, PO2, PO3 |
3 |
Khoa học máy tính với Python 3 |
PO1, PO2, PO3 |
4 |
Khoa học máy tính với Python 4 |
PO1, PO4 |
5 |
Khoa học máy tính với Python 5 |
PO1, PO5 |
6.1. Khoa học máy tính với Python 1
Học phần đầu tiên của chương trình sẽ cung cấp cho các bé những kiến thức tổng quan và các khái niệm cơ bản trong lập trình. Trong quá trình chơi các level, các kiến thức lập trình cũng sẽ dần được các bé tiếp thu qua từng buổi học. Vừa chơi vừa học sẽ gợi lên sự hứng thú, hấp dẫn cho các bé tìm hiểu về khoa học máy tính, phát triển trò chơi và lập trình web. Việc học tập sẽ trở nên thú vị và hấp dẫn hơn, các kiến thức không còn khô khan mà được thể hiện rất trực quan thông qua những level.
- CS1: Học viên sẽ được học khái niệm về thuật toán & trình tự, cách sử dụng đối số, thiết lập thuộc tính và vòng lặp While, biến trong Python.
- GD1: Học viên sẽ được học cách tạo nhân vật và cơ chế trò chơi, thiết lập mục tiêu và cơ sở dữ liệu trong trò chơi.
- WD1: Học viên sẽ được học cách thiết lập trang web bằng cách sử dụng các thẻ HTML cơ bản như thẻ ngắt, thẻ đoạn văn, thẻ div, danh sách,… Ngoài ra học viên cũng nắm được cách thêm hình ảnh và sử dụng CSS để tạo style cho website.
# |
Mục tiêu |
1 |
Hiểu biết về khoa học máy tính. |
2 |
Rèn luyện khả năng tư duy logic. |
3 |
Kích thích, phát huy trí tưởng tượng và khả năng sáng tạo. |
4 |
Bồi dưỡng tính tự giác, niềm say mê nghiên cứu, học tập. |
5 |
Làm quen và vận dụng thực hành những kiến thức cơ bản trong lập trình. |
6 |
Hiểu cách tạo và điều khiển các thành phần trong trò chơi. |
7 |
Hiểu về cách thiết lập trang web và tạo style cơ bản. |
6.2. Khoa học máy tính với Python 2
Học phần thứ hai này tiếp tục mở rộng kiến thức và kỹ năng lập trình của các bé trong cả 3 lĩnh vực: Khoa học máy tính, phát triển trò chơi và lập trình web. Các bé sẽ được tiếp xúc với các khái niệm phức tạp hơn trong lập trình và cách áp dụng chúng để giải quyết các bài toán mà level đặt ra.
- CS2: Học viên sẽ được học về hệ thống tọa độ, cách sử dụng câu lệnh điều kiện (if, else), điều kiện lồng nhau, cách tạo và sử dụng hàm, hàm với tham số và cách xử lý sự kiện trong Python. Điều này giúp học viên nắm vững cấu trúc của một chương trình, cách tổ chức dữ liệu và cách xử lý các tình huống khác nhau trong lập trình.
- GD2: Học viên sẽ được học cách xử lý sự kiện trong trò chơi, sử dụng số ngẫu nhiên, đặt mục tiêu cho trò chơi, xử lý va chạm và thu thập, và cách xử lý dữ liệu nhập từ bàn phím trong trò chơi. Điều này giúp học viên hiểu rõ hơn về cách tạo ra một trò chơi hấp dẫn, cách tạo ra các tình huống ngẫu nhiên trong trò chơi và cách tương tác với người chơi.
- WD2: Học viên sẽ được học cách sử dụng JavaScript cho website và cách sử dụng jQuery cơ bản. Điều này giúp học viên nắm vững cách tạo ra một trang web động, cách tương tác với người dùng và cách tạo ra một trải nghiệm người dùng tốt.
# |
Mục tiêu |
1 |
Nắm vững kiến thức về lập trình Python. |
2 |
Phát triển khả năng giải quyết vấn đề thông qua lập trình. |
3 |
Rèn luyện khả năng tư duy logic và sáng tạo. |
4 |
Biết cách xử lý sự kiện và dữ liệu đầu vào trong phát triển trò chơi. |
5 |
Biết cách sử dụng Javascript và jQuery để lập trình yếu tố động cho website. |
6.3. Khoa học máy tính với Python 3
Đây là học phần cuối cùng trong chương trình học lập trình Python tại CodeCombat, đánh dấu một bước ngoặt quan trọng trong hành trình học tập của các bé. Học phần này không chỉ giúp học viên hoàn thiện kiến thức lập trình của mình, mà còn khám phá những khái niệm nâng cao, mở rộng tầm nhìn và sự hiểu biết về lập trình của mình.
- CS3: Học viên sẽ được đào sâu vào các khái niệm như phép nối, số học, hàm trả về, toán tử so sánh, toán tử logic, chuyển động tương đối trong Python.
- GD3: Học viên sẽ được học cách xử lý khung hình (Frame) trong trò chơi, cách sử dụng thuộc tính vị trí, và cách xử lý chuyển động trong trò chơi. Điều này giúp học viên hoàn thiện kỹ năng lập trình game và có thể tạo ra 1 trò chơi hoàn thiện.
# |
Mục tiêu |
1 |
Rèn luyện tư duy logic mạch lạc, bồi dưỡng khả năng sáng tạo. |
2 |
Rèn luyện tính kiên nhẫn, khả năng tự tìm hiểu, học hỏi. |
3 |
Hiểu về quy trình thiết kế một sản phẩm |
4 |
Xây dựng hoàn thiện sản phẩm |
6.4. Khoa học máy tính với Python 4
Khoa học máy tính với Python 4 – môn học thứ tư trong chương trình Khoa học máy tính với Python tại FUNiX. Tiếp nối với các sản phẩm về ứng dụng lập trình và trò chơi trong ba môn học trước đó, môn học này sẽ giúp các bạn nâng cấp kỹ năng của mình lên một tầm cao mới qua việc áp dụng những kiến thức chuyên sâu hơn. Dựa vào những kiến thức mà các bạn đã học được trong học phần này, các bạn sẽ được thử sức mình với các bài tập trên CodeCombat
- CS4: Học viên sẽ được tìm hiểu sâu hơn về những khái niệm mà trước đây các bạn đã từng nghe qua như là mảng, vòng lặp for và các thuật toán thường gặp.
- CS5: Sau khóa học trước các bạn đã được tìm hiểu về mảng, vòng lặp for thì trong khóa học này các bạn sẽ được tìm hiểu về vòng lặp lồng nhau, mảng 2 chiều và mảng lồng nhau. Bên cạnh đó các bạn cũng sẽ được biết một số công thức hình học cơ bản và các dạng số mà máy tính sử dụng.
# |
Mục tiêu |
1 |
Tìm hiểu sâu hơn về các chức năng khác của Python |
2 |
Học cách xử lý nhiều giá trị |
3 |
Tìm hiểu sâu hơn về vòng lặp và mảng |
4 |
Học cách sử dụng vòng lặp lồng và mảng lồng |
5 |
Hiểu về công thức hình học cơ bản |
6 |
Tìm hiểu về các dạng số khác trong lập trình |
7 |
Nâng cao kiến thức về tọa độ và di chuyển của nhân vật |
8 |
Nâng cao khả năng giải quyết vấn đề một cách toàn diện |
6.5. Khoa học máy tính với Python 5
Môn học này sẽ hướng dẫn các bạn về các dạng cấu trúc dữ liệu cơ bản như là danh sách, hàng đợi, danh sách liên kết, sau đó các bạn sẽ được tìm hiểu về các dạng cấu trúc phức tạp hơn như là cây và hàm băm (Hash). Để truy vấn và sắp xếp được những cấu trúc dữ liệu này các bạn cũng sẽ được tìm hiểu về các dạng thuật toán tìm kiếm đơn giản như là tìm kiếm tuyến tính, tìm kiếm nhị phân, bên cạnh đó chúng ta có các thuật toán tìm kiếm theo chiều sâu và chiều rộng để truy vấn cấu trúc dữ liệu dạng cây. Nhưng để sử dụng được những thuật toán tìm kiếm này chúng ta đôi khi sẽ cần tới sự hỗ trợ của các dạng thuật toán sắp xếp như là thuật toán sắp xếp lựa chọn để xếp phần tử trong danh sách có thứ tự từ nhỏ đến lớn.
- CS6: Học viên sẽ được tìm hiểu cấu trúc dữ liệu và các dạng thuật toán thường dùng như sắp xếp, tìm kiếm,…
# |
Mục tiêu |
1 |
Tìm hiểu về các dạng cấu trúc dữ liệu thường dùng |
2 |
Hiểu được cách sử dụng các dạng cấu trúc dữ liệu trong lập trình |
3 |
Tìm hiểu về các dạng thuật toán tìm kiếm và sắp xếp thường dùng |
4 |
Hiểu được cách sử dụng các dạng thuật toán tìm kiếm |
5 |
Hiểu được cách sử dụng các dạng thuật toán sắp xếp |
6 |
Nâng cao kiến thức về công thức hình học cơ bản |
7 |
Tìm hiểu về Vector |
8 |
Tìm hiểu về Lượng giác |
7. Phương thức tổ chức đào tạo
Các bạn nhỏ sẽ được học online trực tiếp 1-1 với mentor. Ngoài ra, FUNiX có platform học trực tuyến riêng cho học viên. Học viên được cấp tài khoản học trực tuyến để học lý thuyết và thực hành.
Học viên làm project và được review chi tiết cá nhân để hoàn thiện từng bài.
Hoàn tất chương trình, học viên được cấp Chứng chỉ của FUNiX.
8. Phương thức đánh giá
Học viên được đánh giá theo quá trình và trọng tâm đánh giá đặt vào phần thực hành với tính xác thực rõ ràng. Cụ thể:
Thực hành/kiểm tra |
Hình thức |
Số lượng dự kiến |
Tổng kết cuối môn |
Review kiến thức và trao chứng nhân |
1 lần/môn |
Sau khi hoàn thành chương trình, học viên có thể:
- Phát triển các kỹ năng mềm: tự học, giao tiếp, giải quyết vấn đề,…
- Có những hiểu biết cơ bản về khoa học máy tính, lập trình phần mềm.
- Sử dụng máy tính làm công cụ học tập và làm việc tốt hơn
- Hình thành tư duy logic mạch lạc và khả năng sáng tạo.
- Sử dụng được ngôn ngữ lập trình Python để tạo chương trình đơn giản
- Tự thiết kế và xây dựng được trò chơi, website.
- Tận dụng được thế mạnh áp dụng công nghệ trong tất cả các môn học trên trường hoặc các lĩnh vực mà con theo đuổi trong tương lai.