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 1

Thử thách Giải đố Code là một khóa đào tạo tập trung trong 4 tuần về "tư duy lập trình", dựa trên nội dung "Học lập trình 1" của Swift Playgrounds, giúp bạn rèn luyện cách đưa ra câu lệnh để máy tính hoạt động theo ý muốn. Thông qua việc giải quyết các nhiệm vụ giải đố trong mỗi buổi học, người tham gia sẽ tự nhiên học được cách 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óa học không chỉ dừng lại ở việc tìm ra đáp án đúng mà còn giúp người học đạ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 theo cách này".

Python
Java
Swift
Algorithm

13개 수업 학습

12회 미션 수행

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

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

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

leeo님과 함께해요!

8,808

Học viên

243

Đá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.

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ẽ thực hành lặp đi lặp lại việc phân tích vấn đề → nhận diện khuô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 mình còn thiếu tư duy cơ bản."


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

Mô tả năng lực Cảm giác ra lệnh cho máy tính: Khả năng chuyển đổi hành động muốn thực hiện thành 'đơn vị câu 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ết Năng lực nhận diện khuôn mẫu: Khả năng tìm ra các quy tắc lặp lại để sắp xếp thành vòng lặp for/hàm Năng lực phán đoán logic: Tư duy đưa ra lựa chọn khác nhau tùy theo tình huống (điều kiện/ngoại lệ/biên) Khả năng đọc code: Trải nghiệm giải mã code đáp án theo "ý đồ và luồng xử lý" Khả năng phục hồi sau thất bại (Tư duy Debugging): Quy trình giải thích và sửa lỗi khi làm sai Thói quen tự học: Nền tảng vững chắc để không bị lung lay dù học bất kỳ ngôn ngữ hay 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 coding 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 luật (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 đề căn bản 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

  • "한 줄 행동" 단위로 분해하기

  • 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 chuyển đổi vấn đề lớn thành 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 bớt 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 kỹ năng (Debug Thinking)

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

  • Giải thích lỗi sai 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 lời giải của mình 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 chi tiết


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 lấy "trọng tâm là nhiệm vụ" để bạn không chỉ dừng lại ở việc xem video.


Vật dụng cần thiết / 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

  • [ ] Khó khăn trong việc chia nhỏ vấn đề thành các bước nhỏ

  • [ ] 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 (đối tượng) hành động khác nhau tùy theo điều kiện (tình huống)

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


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

Q. Tôi thực sự là người mới hoàn toàn, liệu có thể học đượ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?

Khóa học tập trung vào tư duy giải quyết vấn đề - khung xương của việc phát triển ứng dụng, hơn là bản thân 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

Khóa học này 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 của mình, thông qua việc luyện tập lặp đi lặp lại '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.

3월

29일

챌린지 시작일

2026년 3월 29일 PM 03:00

챌린지 종료일

2026년 4월 26일 PM 02:30

챌린지에서 배워요

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

  • Thay vì bị mắc kẹt 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 khả thi để tiến về phía trước 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 theo cấu trúc như vòng lặp for.

  • Cách tư duy phân biệt điều kiện và tình huống để đưa ra lựa chọn đúng đắn, kiểu như “khi thế này thì chọn A, khi thế kia thì chọn B”, sẽ được hình thành.

  • Thay vì bỏ cuộc khi mắc lỗi, bạn sẽ được thực hành tư duy gỡ lỗi (debugging) 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?

  • Những người mới bắt đầu học lập trình, hoặc đã bắt đầu nhưng luôn 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.

  • Những 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í