Một số điều khiến CodeGym trở thành khóa học trực tuyến tốt nhất để học cách viết mã Java từ đầu (ít nhất là trong mắt chúng tôi): cấu trúc khóa học được lên kế hoạch cẩn thận, cách tiếp cận ưu tiên thực hành , số lượng nhiệm vụ khổng lồ (hơn 1200), cách kể chuyện thú vị và hài hước , các tính năng xã hội , v.v. Nhưng chúng tôi muốn nghĩ rằng việc chúng tôi nỗ lực hết mình để giúp học viên thành công là điều khiến CodeGym trở nên tốt nhất. Nhiệm vụ của chúng tôi không chỉ là giúp bạn học Java và tìm được công việc viết mã sau (hoặc khi vẫn đang ở giữa khóa học), mà còn hỗ trợ sự phát triển của bạn, cả về mặt cá nhân và nghề nghiệp, với kiến ​​thức và thông tin phù hợp. 'Mật mã thành công' và 'Kỹ năng sống còn cho người lao động thế kỷ 21'.  Tư duy máy tính là gì?  - 1

Tư duy máy tính là gì?

Tư duy Máy tính (CT) là một khái niệm mà các chuyên gia trong ngành gọi là 'quy tắc thành công' và 'kỹ năng sống còn'. Mặc dù tương đối đơn giản, CT có thể hữu ích vượt xa việc chỉ lập trình phần mềm. Thuật ngữ này lần đầu tiên được đề xuất vào năm 1980 bởi Seymour Papert, một nhà toán học và nhà khoa học máy tính, như một cách để giải quyết các vấn đề và nhiệm vụ liên quan đến lập trình hiệu quả hơn. Tư duy máy tính là một tập hợp các phương pháp liên quan đến việc xử lý một vấn đề phức tạp và chia nhỏ nó thành một loạt các vấn đề nhỏ hơn để dễ quản lý hơn, cũng như thể hiện bản chất của vấn đề và giải pháp theo cách mà máy tính có thể thực hiện. Nói một cách đơn giản, trước khi bạn bắt đầu viết mã để dạy máy tính giải quyết một vấn đề cụ thể, thông thường bạn cần tự hiểu vấn đề, tìm ra giải pháp, và chỉ sau đó dạy một máy tính để đối phó với nó. Tư duy máy tính là một phương pháp giúp quá trình này nhanh hơn và dễ dàng hơn, nhưng nó không chỉ giới hạn trong lập trình và có thể được áp dụng cho nhiều phần khác nhau trong cuộc sống của chúng ta. Mặc dù khái niệm này đã được giới thiệu từ năm 1980, nhưng tư duy máy tính đã bắt đầu thu hút được sự chú ý lớn sau khi Jeannette Wing, giáo sư khoa học máy tính tại Đại học Columbia, đề xuất đưa CT trở thành một phần trong chương trình giảng dạy ở trường như một trong những kỹ năng cơ bản mà tất cả mọi người nên có. .

Tư duy máy tính hoạt động như thế nào?

Tư duy tính toán như một kỹ thuật bao gồm bốn phương pháp chính, đó là phân tách, tổng quát hóa/trừu tượng hóa, nhận dạng mẫu/biểu diễn dữ liệu và thuật toán. Tất cả chúng đều quan trọng và hiệu quả như nhau khi được áp dụng (cho một vấn đề) theo đúng thứ tự.

  • phân hủy.

Bạn bắt đầu với phân tách, tức là tách một vấn đề thành một số vấn đề nhỏ hơn để dễ dàng giải quyết từng vấn đề một.

  • Trừu tượng hóa (khái quát hóa).

Sau đó, bạn tiến hành một nhiệm vụ/vấn đề cụ thể, tập trung hoàn toàn vào thông tin quan trọng để giải quyết nó và bỏ qua tất cả những phần còn lại.

  • Nhận dạng mẫu (biểu diễn dữ liệu).

Bước tiếp theo là tìm kiếm những điểm tương đồng giữa vấn đề bạn đang giải quyết và các vấn đề khác đã được giải quyết trước đó (với giải pháp có sẵn). Mục tiêu là tìm các mẫu có thể được áp dụng cho nhiệm vụ hiện tại của bạn.

  • thuật toán.

Và cuối cùng, khi có kết quả của việc áp dụng các bước trước đó, bạn phát triển một thuật toán cho giải pháp cho vấn đề từng bước. Sau đó, một thuật toán có thể được thực hiện bởi máy tính (hoặc bộ não của bạn, đây là nhiệm vụ giải quyết các nhiệm vụ cuối cùng của máy tính trong cuộc sống của bạn).

Sử dụng tư duy tính toán

Biết cách sử dụng CT khi giải quyết các vấn đề và nhiệm vụ mà phần lớn các nhà phát triển phần mềm thường xuyên giải quyết có thể cực kỳ hữu ích trong suốt sự nghiệp viết mã của bạn. “Khoa học máy tính không phải là lập trình máy tính. Suy nghĩ như một nhà khoa học máy tính có ý nghĩa nhiều hơn là có thể lập trình máy tính. Nó đòi hỏi suy nghĩ ở nhiều cấp độ trừu tượng. Tư duy tính toán là tư duy đệ quy. Đó là xử lý song song. Nó đang diễn giải mã dưới dạng dữ liệu và dữ liệu dưới dạng mã. Đó là kiểm tra kiểu như là sự khái quát hóa của phân tích thứ nguyên. Đó là nhận ra cả ưu điểm và nguy cơ của việc đặt bí danh, hoặc đặt cho ai đó hoặc thứ gì đó nhiều hơn một cái tên. Nó nhận ra cả chi phí và sức mạnh của việc gọi thủ tục và định địa chỉ gián tiếp. Đó là đánh giá một chương trình không chỉ về tính đúng đắn và hiệu quả mà còn về tính thẩm mỹ,Jeannette Wing giải thích trong bài báo năm 2006 về tầm quan trọng của việc học tư duy máy tính và dạy nó cho tất cả sinh viên năm nhất đại học. Như bạn có thể thấy, tư duy máy tính không chỉ dành cho các lập trình viên và nhà khoa học máy tính. Nó được mọi người (thường là vô thức) sử dụng trong tất cả các ngành nghề để giải quyết các vấn đề liên quan đến công việc và trong cuộc sống hàng ngày. Dưới đây là hướng dẫn nhanh về cách bắt đầu áp dụng tư duy máy tính cho các tác vụ mã hóa hoặc gần như bất kỳ vấn đề nghiêm trọng nào mà bạn có thể gặp phải trong cuộc sống cá nhân của mình.

  • Áp dụng phân hủy.

Phân tách là một kỹ thuật khá đơn giản nhưng hiệu quả, có thể giúp bạn xử lý các vấn đề/nhiệm vụ thoạt nhìn có vẻ quá phức tạp, do đó thường gây ra sự trì hoãn và các khó khăn khác. Chìa khóa ở đây là huấn luyện bộ não của bạn sử dụng phân tách một cách thường xuyên, chia một nhiệm vụ thành một số nhiệm vụ nhỏ hơn dễ giải quyết hơn. Mặc dù phân rã có vẻ như là một phương pháp rất đơn giản và thậm chí rõ ràng, nhưng bạn sẽ ngạc nhiên khi có nhiều người không biết về nó, điều này khiến họ gặp khó khăn hơn rất nhiều khi bắt đầu thực hiện các nhiệm vụ lớn, toàn cầu (như học Java, Ví dụ).

  • Áp dụng trừu tượng hóa

Biết cách áp dụng sự trừu tượng là một khả năng mạnh mẽ nếu bạn biết kỹ thuật này và đã huấn luyện bộ não của bạn sử dụng nó một cách vô thức. Trừu tượng hóa là tập trung hoàn toàn vào thông tin cần thiết để giải quyết nhiệm vụ trong khi bỏ qua mọi thứ khác. Được sử dụng kết hợp với phân tách, về cơ bản, đây là phương pháp tiếp cận hầu hết mọi vấn đề hoặc vấn đề trong cuộc sống của bạn. Khi xử lý các nhiệm vụ lập trình nghiêm ngặt, tính trừu tượng sẽ giúp tập trung và tránh cho bộ não của bạn bị kiệt sức quá nhanh.

  • Áp dụng nhận dạng mẫu.

Nhận dạng mẫu là một kỹ năng khá quan trọng trong viết mã, vì nó cho phép bạn giải quyết các nhiệm vụ nhanh hơn nhiều bằng cách áp dụng các mẫu suy nghĩ mà bộ não của bạn quen thuộc và thoải mái khi sử dụng. Nó cũng là một kỹ thuật mạnh mẽ để áp dụng cho các vấn đề chung trong cuộc sống: chỉ cần cố gắng phân tích bất kỳ vấn đề nào bạn đang gặp phải trong cuộc sống của mình và tìm (và vay mượn) các mẫu từ những khía cạnh trong cuộc sống mà bạn thấy phù hợp, chuyển chúng sang vấn đề hiện tại.

  • Áp dụng thuật toán.

Khi bạn nghĩ về nó, cuộc sống của chúng ta chỉ xoay quanh việc hình thành các thuật toán. Chúng tôi gọi chúng là thói quen. Bộ não của chúng ta có xu hướng dựa vào thói quen mỗi ngày, chỉ vì nó hiệu quả hơn và do đó, thiết thực hơn. Vấn đề duy nhất là hầu hết chúng ta có xu hướng làm điều này một cách vô thức, điều này thường dẫn đến việc hình thành các thuật toán sai và có hại (chúng tôi gọi đó là thói quen xấu hoặc chứng nghiện). Biết cách hình thành các thuật toán hữu ích một cách có ý thức có thể là một kỹ năng sống cực kỳ hữu ích, cho phép bạn đạt được mục tiêu và thành công. Khi nói đến lập trình, biết cách hình thành một thuật toán để giải quyết một vấn đề cụ thể theo cách nhanh chóng và hiệu quả nhất là điều khác biệt giữa một người chỉ biết viết mã với một lập trình viên máy tính chuyên nghiệp có kinh nghiệm.

Chuyên gia nói gì?

Tóm lại, đây là những gì một số chuyên gia khoa học máy tính được công nhận nói về Tư duy máy tính. Theo James Lockwood và Aidan Mooney, giáo sư tại Đại học Maynooth ở Ireland và là tác giả của cuốn 'Tư duy máy tính trong giáo dục: Nó phù hợp ở đâu?'báo cáo, tư duy máy tính “là một kỹ năng quan trọng đối với người lao động thế kỷ 21.” “Mặc dù rất nhiều nghiên cứu đang được tiến hành để giảng dạy cả CT và CS [khoa học máy tính] trong trường học, nhưng rất nhiều học sinh cấp ba sẽ chưa bao giờ được tiếp xúc với những khái niệm này. Điều quan trọng là cả sinh viên CS và không CS đều có kỹ năng giải quyết vấn đề tốt và CT có thể mang lại lợi ích lớn cho điều này. Nhiều phương pháp khác nhau đã được đề xuất và có vẻ như một khóa học CT không bắt buộc cho cả sinh viên CS và không CS là một phương pháp đặc biệt hiệu quả và hữu ích. Điều này đòi hỏi sự hỗ trợ từ cả ban quản lý và đội ngũ giáo viên nhưng những lợi ích được liệt kê cả trong phần này và trong Phần 7 cho thấy rằng nó có thể mang lại lợi ích cho tất cả những người liên quan. Ngoài ra còn có rất nhiều cách để dạy CT trong bối cảnh đại học, mặc dù điểm chung của hầu hết là thực tế hơn, các khóa học dẫn dắt bằng thảo luận, và hầu hết các phương pháp này dường như đều thành công. Các chuyên gia cho biết, có lẽ sinh viên CS sẽ được hưởng lợi từ điều này vì nó giúp họ chuyển sang “lập trình truyền thống” dễ dàng hơn,” các chuyên gia cho biết. Conrad Wolfram, một chuyên gia công nghệ và doanh nhân nổi tiếng người Anh, cũng ủng hộ việc dạy tư duy máy tính ở các trường đại học, vàthậm chí còn gọi nó là 'mã dẫn đến thành công': “Tư duy máy tính là mã dẫn đến thành công. Quá trình giải quyết vấn đề dựa trên máy tính rất hiệu quả trong việc giải quyết các thách thức trong cuộc sống thực nên nó phải là một chủ đề giáo dục cốt lõi. Ít nhất nếu bạn, giống như tôi, đồng ý rằng mục đích cơ bản của giáo dục là làm phong phú thêm cuộc sống của chúng ta bằng cách tìm ra những giải pháp hiệu quả nhất cho bất kỳ loại vấn đề nào.” Bạn nghĩ sao? Đối với bạn, Tư duy máy tính có phải là điều mà bạn nên thực hành nhiều hơn trong cuộc sống của mình không? Chia sẻ suy nghĩ của bạn với chúng tôi trong phần bình luận bên dưới!