inflearn logo
Challenge
Đã kết thúc

Thử thách hoàn thành nhiệm vụ giải đố lập trình - Khóa 2

Thử thách Vượt qua Câu đố Mã hóa là một khóa huấn luyện tập trung trong 4 tuần về "tư duy lập trình" – cách đưa ra các câu lệnh để máy tính hoạt động theo ý muốn, dựa trên nội dung "Học lập trình 1" của Swift Playgrounds. Thông qua việc giải quyết các nhiệm vụ câu đố trong mỗi buổi học, người tham gia sẽ được rèn luyện một cách tự nhiên khả năng phân tách vấn đề thành các bước nhỏ, nhận diện mẫu để sắp xếp các quy tắc lặp lại bằng vòng lặp for hoặc hàm, và đưa ra các phán đoán logic để thay đổi hành động tùy theo tình huống. Không chỉ dừng lại ở việc tìm ra đáp án đúng, người học sẽ đạt đến trình độ có thể giải thích và chỉnh sửa lý do "tại sao mình lại giải quyết vấn đề theo cách này".

Python
Java
Swift
Algorithm

13개 수업 학습

12회 미션 수행

지식공유자와 멘토링 혜택!

무제한 복습, 내 것으로 만들어요.

같은 기수와 교류하고 함께 성장해요.

leeo님과 함께해요!

8,870

Học viên

248

Đánh giá

7

Trả lời

4.9

Xếp hạng

30

Các khóa học

Xin chào, tôi là Leeio, một nhà phát triển đang "câu" những dòng code tại Pohang.

Đồng giảng viên

Thử thách giải đố mã code: Xây dựng tư duy lập trình với Swift Playgrounds

Thông qua các câu đố trong Swift Playgrounds Học lập trình 1, bạn sẽ luyện tập lặp đi lặp lại việc phân tích vấn đề → nhận diện mẫu → phán đoán logic. Đây không phải là "lập trình học thuộc lòng cú pháp", mà là rèn luyện tư duy ra lệnh cho máy tính hoạt động theo ý muốn của mình.


Nếu bạn đang có những nỗi trăn trở này, thì đây chính là khóa học dành cho bạn

  • "Tôi muốn học lập trình nhưng không biết phải bắt đầu từ đâu và như thế nào."

  • "Tôi biết một chút về ngữ pháp, nhưng hễ gặp bài toán là đầu óc lại trống rỗng."

  • "AI có thể tạo mã giúp tôi... nhưng tôi không biết mình cần phải chỉnh sửa cái gì."

  • "Tôi muốn phát triển ứng dụng, nhưng cảm thấy bản thân còn thiếu khả năng tư duy cơ bản."


Những gì bạn sẽ nhận được sau khóa học

Mô tả năng lựcCảm giác ra lệnh cho máy tínhKhả năng chuyển đổi hành động muốn thực hiện thành 'đơn vị lệnh'Năng lực phân tích vấn đềThói quen chia nhỏ vấn đề lớn thành các bước nhỏ để giải quyếtNăng lực nhận diện khuôn mẫuNăng lực tìm ra các quy tắc lặp lại để sắp xếp thành vòng lặp for/hàmNăng lực phán đoán logicTư duy đưa ra lựa chọn khác nhau tùy theo tình huống (điều kiện/ngoại lệ/ranh giới)Khả năng đọc mã nguồnTrải nghiệm giải mã mã nguồn đáp án thông qua "ý đồ và luồng xử lý"Khả năng phục hồi sau thất bại (Tư duy debugging)Thói quen giải thích lý do tại sao sai và sửa lại khi gặp lỗiLộ trình tự học chủ độngNền tảng vững chắc để không bị lung lay dù học bất kỳ ngôn ngữ/framework nào


Đối tượng đề xuất

  • Người hoàn toàn không chuyên / Người mới bắt đầu — Những người muốn nắm bắt từ việc lập trình "có nghĩa là gì"

  • Những người đã làm theo hướng dẫn nhưng không giải được bài tập — Những người cần rèn luyện khả năng tự giải quyết vấn đề

  • Người lập kế hoạch / Nhà thiết kế và các nhóm ngành phi kỹ thuật khác — Những người muốn giao tiếp chính xác hơn với các nhà phát triển

  • Những người sử dụng AI để lập trình nhưng gặp khó khăn khi yêu cầu chỉnh sửa — Những người muốn giải thích bằng lời về việc "cần phải thay đổi như thế nào"

  • Những người có mục tiêu phát triển ứng dụng nhưng nền tảng tư duy cơ bản còn yếu — Những người muốn tạo nền tảng trước khi chuyển sang SwiftUI/UIKit


Khóa học này là 'huấn luyện tư duy dựa trên câu đố'

Đây không đơn thuần là một "bài giảng cung cấp mã nguồn đáp án". Mỗi khi giải một câu đố, chúng ta sẽ lặp lại quy trình dưới đây.

  1. Nói mục tiêu trong một câu

  2. Chia nhỏ quá trình giải quyết thành 5~7 bước

  3. Tìm quy tắc (mẫu) lặp lại

  4. Sắp xếp và phán đoán các điều kiện/ngoại lệ

  5. Thực thi bằng mã nguồn, giải thích thất bại và chỉnh sửa

Kết quả là, tư duy giải quyết vấn đề nền tảng sẽ còn lại thay vì chỉ là "khả năng viết mã".


Chương trình giảng dạy

Mỗi phần sẽ được tiến hành theo cấu trúc Giải thích → Nhiệm vụ → Viết mẫu nộp bài → Cải thiện.

Part 1. Cách nói chuyện với máy tính (Dịch câu lệnh)

  • Cách chuyển đổi ngôn ngữ tự nhiên thành câu lệnh

  • "Phân tách thành đơn vị "hành động một dòng"

  • Nộp bài: Ngôn ngữ tự nhiên → Phân tách các bước → Mã code

Part 2. Rèn luyện cơ bắp phân tách vấn đề (Decomposition)

  • Luôn luyện tập chia nhỏ thành 7 bước

  • Quy tắc chia nhỏ vấn đề lớn thành các vấn đề nhỏ

  • Nộp bài: Bảng phân tích + Mã nguồn

Part 3. Nhận diện mẫu (Pattern)

  • Tìm quy luật lặp lại

  • Giảm thiểu sự lặp lại bằng vòng lặp for

  • Nộp bài: Đánh dấu lặp lại (🔁) + Trước/Sau khi tái cấu trúc (refactoring)

Phần 4. Trừu tượng hóa (Đặt tên bằng hàm)

  • Cách đóng gói "đơn vị ý nghĩa" thành hàm

  • Tiêu chuẩn của một tên hàm tốt (Động từ/Ý đồ/Kết quả)

  • Nộp bài: Trước/sau khi hàm hóa + Lý do chọn tên

Phần 5. Phán đoán logic (Decision)

  • Cách sắp xếp các điều kiện bằng lời nói

  • Tạo cấu trúc lựa chọn (Bảng phân nhánh / Cây quyết định)

  • Nộp bài: Bảng phân nhánh + Mã nguồn

Part 6. Biến thất bại thành thực lực (Debug Thinking)

  • Xem lại mã lỗi: Ý định vs Thực tế

  • Giải thích lỗi bằng "câu văn" và sửa lỗi

  • Nộp: Mẫu báo cáo thất bại 5 dòng

Part 7. Nhiệm vụ cuối cùng: Tạo sách hướng dẫn giải đố

  • Giải thích cách giải của bản thân cho người khác

  • Hoàn thành một bộ "Tóm tắt vấn đề / Mẫu / Điều kiện / Mã / Lời khuyên"

  • Nộp bài: 5 bản hướng dẫn giải thích


Cách thức tiến hành

  • Sau khi xem bài giảng, thực hiện nhiệm vụ cho mỗi phần

  • Sắp xếp theo mẫu nộp bài được cung cấp (Phân giải / Mô hình / Phán đoán)

  • Cố định thói quen tư duy thông qua huấn luyện lặp đi lặp lại

Chúng tôi đã thiết kế khóa học theo hướng "trọng tâm vào nhiệm vụ" để bạn không chỉ dừng lại ở việc xem video.


Vật dụng cần chuẩn bị / Môi trường

  • iPad hoặc Mac (Môi trường có thể chạy Swift Playgrounds)

  • Cài đặt Swift Playgrounds

  • Trạng thái có thể tiến hành "Học lập trình 1"


Danh sách kiểm tra trước khi học

Nếu bạn thuộc từ 2 trường hợp trở lên dưới đây, thì bây giờ là thời điểm tuyệt vời để bắt đầu.

  • [ ] Nhìn vào mã nguồn cảm thấy mông lung không biết phải bắt đầu từ đâu

  • [ ] Thật khó để chia nhỏ vấn đề thành các bước nhỏ hơn

  • [ ] Thật khó để tìm và sắp xếp các quy luật/vòng lặp

  • [ ] Khó khăn trong việc làm cho hành động thay đổi tùy theo điều kiện (tình huống)

  • [ ] Khó giải thích bằng lời tại sao lại sai khi làm sai


Câu hỏi thường gặp (FAQ)

thoughtful Hỏi: Tôi thực sự là người mới bắt đầu hoàn toàn, liệu có thể tham gia được không?

Có thể ạ. Tuy nhiên, vì đây là bài giảng tập trung vào việc tạo lập thói quen tư duy thay vì học thuộc lòng ngữ pháp, nên tinh thần muốn thử "suy nghĩ và sắp xếp lại" quan trọng hơn là việc chỉ "gõ theo".

Q. Có bao gồm SwiftUI / Phát triển ứng dụng không?

Thay vì bản thân việc phát triển ứng dụng, khóa học này tập trung vào tư duy giải quyết vấn đề vốn là khung xương của việc phát triển ứng dụng. Sau khi hoàn thành khóa học này, khi chuyển sang SwiftUI/UIKit, bạn sẽ thấy rõ ràng hơn nhiều về việc mình "cần phải làm gì".

Hỏi: Tôi có thể sử dụng cùng với AI coding (như ChatGPT, v.v.) không?

Ngược lại, tôi rất khuyến khích điều đó. Tuy nhiên, bài giảng này không tập trung vào việc "sao chép và dán mã do AI cung cấp", mà tập trung vào việc rèn luyện khả năng giải thích ý định của bản thân và đưa ra yêu cầu chỉnh sửa một cách chính xác.


Giới thiệu ngắn gọn về khóa học

Đây là khóa học giúp bạn xây dựng tư duy lập trình từ con số 0 để điều khiển máy tính theo ý muốn, thông qua việc rèn luyện lặp đi lặp lại quá trình 'phân tách vấn đề – nhận diện khuôn mẫu – phán đoán logic' với các câu đố trong Swift Playgrounds.

4월

26일

챌린지 시작일

2026년 4월 26일 PM 03:00

챌린지 종료일

2026년 5월 24일 PM 02:30

챌린지에서 배워요

  • Thay vì chỉ gõ theo mã nguồn một cách mơ hồ, bạn sẽ có được khả năng chuyển đổi những hành động mình mong muốn thành những câu lệnh chính xác.

  • Thay vì bị tắc nghẽn khi cố gắng giải quyết một vấn đề lớn cùng một lúc, bạn có thể chia nhỏ nó thành các bước có thể giải quyết được và tiến triển từng bước một.

  • Học cách "tư duy hiệu quả" bằng việc phát hiện ra các quy tắc khi một hành động được lặp đi lặp lại và sắp xếp chúng thành các cấu trúc như vòng lặp for.

  • Hình thành lối tư duy phân biệt rõ ràng giữa các điều kiện và tình huống để đưa ra lựa chọn đúng đắn, chẳng hạn như "khi thế này thì chọn A, khi thế kia thì chọn B".

  • Thay vì bỏ cuộc khi mắc lỗi, bạn sẽ thực hành tư duy gỡ lỗi bằng cách giải thích lý do tại sao sai và tiến hành sửa lỗi.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Người mới bắt đầu học lập trình, hoặc những người đã bắt đầu nhưng lần nào cũng bỏ cuộc vì gặp bế tắc.

  • Người đã xem qua mã nguồn một chút nhưng vẫn chưa cảm nhận được 'tại sao nó lại hoạt động như thế này'

  • Những người thuộc nhóm ngành phi kỹ thuật như người lập kế hoạch, nhà thiết kế... muốn giao tiếp tốt hơn với các nhà phát triển.

  • Người cảm thấy bế tắc vì dù nhận được mã nguồn từ AI nhưng lại không thể đánh giá kết quả hay yêu cầu chỉnh sửa.

  • Người đặt mục tiêu phát triển ứng dụng nhưng chỉ học theo ngữ pháp/hướng dẫn và rồi bị tắc nghẽn khi thực hành thực tế

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Hỏi đáp thường gặp

취소 및 환불 규정
챌린지는 지식공유자가 설정한 수업 최소 정원이 충족되지 않을 경우, 폐강 안내가 고지되며 결제 내역이 자동취소됩니다.

Khóa học khác của leeo

Hãy khám phá các khóa học khác của giảng viên!

Miễn phí