inflearn logo

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.

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

Độ khó Cơ bản

Thời gian 6 tháng

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.

Khóa học nhất định phải xem 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, chưa 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 tham gia khóa học Tư duy máy tính (Phần 2) nhé!!!!

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 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 phần đạ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 này bao gồm những kiến thức thiết yếu dành 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 nhập môn có ý định 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ớ.
  • Hiểu cách lập chỉ mục (indexing) được sử dụng khi danh sách được lưu trữ trong bộ nhớ dưới dạng mảng.
  • Hiểu cách thức sử dụng liên kết (linking) khi 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 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ị về mặt toán học và triển khai 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.

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

  • Hiểu cấu trúc máy tính theo kiến trúc 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-based spreadsheet).
  • Hiểu 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-based spreadsheet) tương tự với các nguyên lý lập trình.
  • Hiểu cách thức các chuỗi ký tự như địa chỉ e-mail, cách ghi 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 tại sao lỗi xảy ra trong máy tính.
  • Hiểu rằng 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 công trình kiến trúc có sự tương đồng với nhau.
  • Hiểu về yêu cầu phần mềm, kiểm chứng thiết kế và xác nhận sản phẩm.
  • Hiểu được ưu điểm và hạn chế của lập trình theo phong cách AI (AI vibe coding), đồng thời hiểu được sự cần thiết của việc xem xét (review) và kiểm chứng (verification).
  • Hiểu lý do tại sao kiểm thử phần mềm được sử dụng để thẩm định và xác nhận phần mềm, cũng như hiểu được 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, trường hợp kiểm thử (test case) và báo cáo kiểm thử để phục vụ cho việc kiểm thử phần mềm.
  • Hiểu 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à các 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 hiệu suất của các bộ vi xử lý đa nhân khó có thể tiếp tục phát triển liên tục.
  • Xem xét các ví dụ về việc sử dụng đo chuẩn (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 mũ).
  • Hiểu rằng các thuật toán cổ điển không thực tế có thể tồn tại như những 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 bài kiểm tra Turing và CAPTCHA nhằm mục đích đo lường điều gì liên quan đến 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 bóng đá trong một giải đấu 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 phân bổ từng trận đấu vào các sân bóng đá tương tự như khái niệm tính đồng thời trong lập lịch CPU.
  • Hiểu rằng việc xoay nhiều chiếc đĩa cùng một lúc tương tự như khái niệm về tính song song và tính đồng thời trong máy tính.
  • Hiểu phương pháp cải thiện hiệu suất bằng cách sử dụng tính đồng thời thông qua quá trình hoạt động của mạng sắp xếp (sorting network).
  • 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 tình huống tranh chấp (TOCTOU) gây ra lỗi như thế nào.
  • Có thể nhận biết và giải thích được tình trạ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ô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ỉ số, 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ý hệ thống, v.v.).
  • Có thể nhận biết và áp dụng các nguyên lý 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.
  • 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 phần 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à strandkings

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ử

Thêm

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!

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!

1.158.583 ₫