강의

멘토링

커뮤니티

NEW
Programming

/

Algorithm & Data Structure

Tư duy máy tính (Phần 2)

Cùng với đọc, viết và tính toán, tư duy máy tính là năng lực thiết yếu mà bất kỳ ai sống trong thời đại AI cũng phải trang bị. Nói một cách đơn giản, tư duy máy tính có thể được định nghĩa là cách suy nghĩ như một lập trình viên hoặc một nhà khoa học máy tính. Khóa học này mô phỏng y hệt một học kỳ thực tế tại đại học, bao gồm những nội dung thiết yếu cho những người lần đầu tiếp xúc với lập trình hoặc những người mới bắt đầu có ý định theo học chuyên ngành máy tính. Ngoài ra, thông qua khóa học này, những người không chuyên về máy tính hoặc có nền tảng nhân văn có thể rèn luyện khả năng giao tiếp dễ dàng với các lập trình viên chuyên nghiệp. Ngay cả trong thời đại cần phải học cách viết câu lệnh (prompt) để thực hiện AI Vibe Coding, tư duy máy tính vẫn giúp bạn phát triển khả năng chỉ thị cho AI một cách chính xác và hiệu quả hơn.

2 học viên đang tham gia khóa học này

Độ khó Cơ bản

Thời gian 6 tháng

  • strandkings
Algorithm
Algorithm
software-design
software-design
Business Problem Solving
Business Problem Solving
Algorithm
Algorithm
software-design
software-design
Business Problem Solving
Business Problem Solving

Bạn sẽ nhận được điều này sau khi học.

  • Bạn có thể học được cách tư duy như một lập trình viên hoặc nhà khoa học máy tính.

  • Những người mới bắt đầu học lập trình có thể làm quen với tư duy máy tính.

  • Có thể giải quyết vấn đề bằng cách áp dụng tư duy máy tính vào nhiều lĩnh vực khác nhau.

  • Có thể học các khái niệm cơ bản để lập trình thay vì cú pháp ngôn ngữ lập trình.

Bài giảng nhất định phải học trước khi bắt đầu học lập trình (coding) lần đầu tiên

  • Khóa học phù hợp cho người mới bắt đầu xuất thân từ khối ngành nhân văn muốn tích lũy kiến thức cơ bản về lập trình (coding).
  • Khóa học cần thiết cho những người mới bắt đầu không có kiến thức nền tảng về lĩnh vực lập trình nhưng muốn nhập môn Vibe Coding.
  • Khóa học cần thiết cho những người đã từng học cú pháp ngôn ngữ lập trình nhưng chưa thể dấn thân vào lĩnh vực coding và có ý định bỏ cuộc.
  • Bạn nên học Tư duy máy tính (Phần 1) trước khi học Tư duy máy tính (Phần 2) nhé!!

thoughtful 16/16 Nội dung bài giảng đại học được chuyển tải nguyên vẹn.

Ai là người nhất định phải nghe bài giảng về Tư duy máy tính? 

강의에서 참고한 교재

Khóa học này chuyển tải nguyên vẹn nội dung của một học kỳ đại học (nếu bao gồm cả phần 1 và phần 2), giúp bạn học cách tư duy như một lập trình viên hoặc một nhà khoa học máy tính.

Nội dung bao gồm những kiến thức thiết yếu cho những người mới bắt đầu tiếp xúc với lập trình hoặc những người mới bắt đầu muốn theo học chuyên ngành máy tính.

Cuốn sách giải thích các khái niệm một cách dễ hiểu thông qua các ví dụ để những người không chuyên hoặc có nền tảng nhân văn có thể dễ dàng giao tiếp với các lập trình viên chuyên nghiệp.


Nội dung học tập 📚

Phần(1) Chương 7 Cấu trúc dữ liệu

  • Hiểu về tầm quan trọng của việc đặt tên biến.
  • Hiểu cách dữ liệu được cấu trúc và lưu trữ trong bộ nhớ như thế nào.
  • Hiểu cách danh sách (list) được lưu trữ trong bộ nhớ dưới dạng mảng.
  • Tìm hiểu phương pháp triển khai danh sách liên kết, một cấu trúc thuận tiện cho việc thêm hoặc xóa các mục trong danh sách.
  • Xem xét các ví dụ về việc sử dụng đồ thị trong mạng lưới đường bộ, tuyến tàu điện ngầm, tuyến hàng không, v.v.
  • Định nghĩa đồ thị dưới góc độ toán học và thực hiện cài đặt trên bộ nhớ.
  • Định nghĩa cây và xem xét các ví dụ đa dạng về việc sử dụng cây.
  • Hiểu cách lập chỉ mục (indexing) được sử dụng như thế nào trong việc tổ chức dữ liệu.
  • Hiểu cách thức sử dụng liên kết (linking) trong việc cấu trúc dữ liệu.

Phần(2) Chương 8 Xử lý dữ liệu

  • Hiểu cấu trúc máy tính theo chương trình lưu trữ của Von Neumann.
  • Hiểu được sự tương đồng giữa cấu trúc Von Neumann và cách thức hoạt động của bảng tính dựa trên ô (cell).
  • Hiểu được rằng các phép toán số học, công thức tính toán và hàm số trong bảng tính dựa trên ô (cell) tương tự với các nguyên lý lập trình.
  • Hiểu cách các chuỗi ký tự như địa chỉ email, định dạng ngày tháng được xử lý trong chương trình.
  • Tìm hiểu về các mẫu đa dạng và các quy tắc mẫu khác nhau trong chuỗi ký tự.
  • Hiểu cách biểu diễn các mẫu đa dạng bằng biểu thức chính quy và thử vận dụng chúng.

Phần(3) Chương 9 Kiểm chứng và Xác nhận phần mềm

  • Hiểu về lý do phát sinh lỗi trong máy tính.
  • Hiểu rằng việc thiết kế và triển khai phần mềm tương tự như thiết kế và thi công kiến trúc.
  • Hiểu rằng quy trình kiểm chứng tính chính xác của phần mềm và giám sát thi công kiến trúc có sự tương đồng.
  • Hiểu về các yêu cầu, xác minh thiết kế và xác nhận sản phẩm dành cho phần mềm.
  • Hiểu được những ưu điểm và hạn chế của AI Vibe Coding, đồng thời hiểu được sự cần thiết của việc xem xét và kiểm chứng.
  • Hiểu lý do sử dụng kiểm thử phần mềm để thẩm định (verification) và xác nhận (validation) phần mềm, cũng như hiểu rõ những hạn chế của việc kiểm thử.
  • Hiểu rằng cần có tài liệu, kịch bản, ca kiểm thử và báo cáo kiểm thử để phục vụ cho việc kiểm thử phần mềm.
  • Hiểu về sự khác biệt giữa kiểm thử hộp đen (Black-box testing) và kiểm thử hộp trắng (White-box testing) trong kiểm thử phần mềm.
  • Xem xét các ví dụ chi tiết khác nhau về kiểm thử hộp đen (Black-box testing) và kiểm thử hộp trắng (White-box testing).

Phần(4) Chương 10 Giới hạn của tính toán

  • Hiểu về việc cải thiện hiệu suất máy tính và những giới hạn vật lý của định luật Moore.
  • Hiểu rằng hiệu suất tính toán có thể được định nghĩa bởi dung lượng lưu trữ và tốc độ xử lý.
  • Hiểu lý do tại sao các bộ vi xử lý đa nhân khó có thể tiếp tục duy trì đà phát triển.
  • Xem xét các ví dụ về việc sử dụng benchmarking để đo lường hiệu suất của máy tính.
  • Hiểu về phương pháp đánh giá hiệu suất thuật toán và sự khác biệt về hiệu suất giữa tìm kiếm tuyến tính và tìm kiếm nhị phân (bao gồm cả sắp xếp).
  • Hiểu về độ phức tạp thời gian của thuật toán và các thuật toán không thực tế (thời gian lũy thừa).
  • Hiểu rằng các thuật toán cổ điển không thực tế có thể tồn tại dưới dạng các giải pháp thực tế trên máy tính lượng tử.
  • Hiểu rằng tồn tại những thuật toán không thể tính toán được và không bao giờ có thể giải quyết được, chẳng hạn như bài toán dừng (halting problem).
  • Hiểu được phép thử Turing và CAPTCHA đo lường điều gì trong mối liên hệ với trí tuệ nhân tạo.

Phần(5) Chương 11 Hành động đồng thời

  • Có thể ví các trận đấu trong một giải bóng đá là các chương trình đang thực thi, và số lượng sân bóng là số lượng CPU.
  • Hiểu rằng việc sắp xếp từng trận đấu vào các sân bóng đá tương tự như tính đồng thời trong lập trình CPU.
  • Thông qua kỹ năng xoay nhiều chiếc đĩa cùng một lúc, hiểu được sự khác biệt giữa tính song song (parallelism) và tính đồng thời (concurrency) trong máy tính.
  • Thông qua quá trình hoạt động của mạng sắp xếp (sorting network), hiểu được phương pháp cải thiện hiệu suất bằng cách sử dụng tính đồng thời.
  • Hiểu các hạn chế cơ bản ngăn cản việc thực thi đồng thời (sự phụ thuộc và điều kiện cạnh tranh).
  • Tìm hiểu về tiềm năng của tính đồng thời trong việc cải thiện hiệu suất và cách các tài nguyên chia sẻ hạn chế tính đồng thời như thế nào.
  • Hiểu cách tình huống điều kiện cạnh tranh (TOCTOU) gây ra lỗi.
  • Có thể nhận biết và giải thích được các tình huống bế tắc (deadlock) và livelock.

Phần(6) Chương 12 Bảo mật thông tin

  • Hiểu về các thành phần của bảo mật và các hình thức tội phạm mạng phổ biến (mã độc, trộm cắp danh tính, lừa đảo qua mạng, v.v.).
  • Hiểu về các công nghệ xác thực và cách thức hoạt động của xác thực cá nhân.
  • Hiểu về các khái niệm mật mã học (mã hóa khóa đối xứng, mã hóa khóa công khai, chữ ký số, xác thực thông điệp, chứng chỉ, v.v.).
  • Hiểu về các chiến lược giảm thiểu vi phạm bảo mật (tường lửa, phần mềm diệt virus, cập nhật phần mềm, sao lưu, nhật ký, v.v.).
  • Có thể nhận thức và áp dụng các nguyên tắc bảo mật cơ bản của chiến lược giảm thiểu tấn công (bảo vệ các điểm kết nối yếu, giảm thiểu bề mặt tấn công, phòng thủ chuyên sâu, phân chia khu vực, v.v.).
  • Hiểu được tính mở như phần mềm nguồn mở đóng góp cho bảo mật như thế nào.

Lưu ý trước khi học 📢

Kiến thức tiên quyết và lưu ý

  • Sẽ rất hữu ích nếu bạn có hiểu biết về đồ thị của hàm số bậc n và hàm số mũ trong chương trình trung học phổ thông.
  • Chất lượng video bài giảng (âm thanh/hình ảnh) không tốt nên có thể sẽ được cập nhật trong tương lai
  • Có thể kiểm tra các thắc mắc thông qua mục Hỏi/Đáp.

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 hoặc người không chuyên muốn nắm vững các khái niệm thiết yếu về lĩnh vực điện toán.

  • Người mới bắt đầu làm quen với lập trình nhưng muốn xây dựng nền tảng để hướng tới Vibe Coding trong tương lai.

  • Người không chuyên muốn giao tiếp trôi chảy với các lập trình viên triển khai kịch bản kinh doanh.

Cần biết trước khi bắt đầu?

  • Không cần kiến thức nền tảng đặc biệt nhưng cần có tư duy mở về tư duy máy tính (yêu cầu đã học Tư duy máy tính phần 1)

Xin chào
Đây là

Từng làm việc tại nhiều nơi như công ty khởi nghiệp, tập đoàn lớn, viện nghiên cứu do chính phủ tài trợ và trường đại học.

Mạng / Bảo mật / Blockchain / Mã hóa / Truyền thông di động / Phát triển phần mềm / Hệ điều hành / Máy tính lượng tử

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

Tất cả

24 bài giảng ∙ (14giờ 12phút)

Ngày đăng: 
Cập nhật lần cuối: 

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

Ưu đãi có thời hạn

705.360 ₫

38%

1.146.211 ₫

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

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

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!