Phương pháp tư duy và giải quyết vấn đề như một lập trình viên

lannguyenn

New Member
Tham gia
18/12/19
Bài viết
3
Được thích
0
237 #1
Bình thường mình hay dành nhiều thời gian lướt Facebook nhưng lướt mãi cũng chán, toàn mấy tin kiểu câu view, giựt gân, hài nhảm... Đang than thở thì bỗng thằng bạn gửi qua cho một đống link web siêu thú vị, lướt nhẹ thôi cũng dư sức bỏ túi thêm vài kĩ năng hay hay cần thiết cho cuộc sống rồi. Nói cảm ơn nó hoài thì thấy cũng kì nên mình sẽ thay lời nói bằng hành động share các trang web hay này cho các bạn nào cần thì tham khảo nhé!


Nguồn: TechWorm

Tại sao lập trình không chỉ dành cho các lập trình viên?
Hầu hết chúng ta mỗi khi nghe nhắc đến lập trình, đều sẽ nghĩ rằng đó là một công việc khá nhàm chán vốn chỉ dành cho những người yêu thích máy vi tính hoặc thích làm việc với những con số và logic. Nhưng bạn có biết rằng, học cách lập trình còn có thể mang lại lợi ích cho nhiều khía cạnh khác trong cuộc sống của chúng ta?
Nhiều nghiên cứu đã cho thấy việc học và sử dụng các ngôn ngữ lập trình một cách thường xuyên có khả năng thay đổi cách thức vận hành của não bộ. Được biết, khả năng về logic, phân tích, ngôn ngữ, tư duy trừu tượng và giải quyết vấn đề của các lập trình viên lâu năm nhìn chung cao hơn những người chưa từng học lập trình.
Vậy, các lập trình viên có phương pháp tư duy và giải quyết vấn đề như thế nào, chúng ta hãy cùng nhau tìm hiểu nhé!


Nguồn: medium.freecodecamp.org

Các lập trình viên tư duy như thế nào?
Điểm khác biệt quan trọng nhất giữa một lập trình viên và một người chưa từng học lập trình có lẽ nằm ở cách thức họ tiếp cận và giải quyết các vấn đề.
Khi đối diện với một vấn đề bất kỳ, một người chưa từng học lập trình thường sẽ:
1/ Thử áp dụng một phương án giải quyết vấn đề đó.
2/ Nếu phương án trên không thành thì áp dụng một phương án khác.
3/ Tiếp tục lặp lại bước số 2 cho đến khi tìm ra được phương án hiệu quả.
Về cơ bản, do cách giải quyết vấn đề như trên phụ thuộc phần lớn vào chuyện may rủi, nên nó vừa không hiệu quả trong mọi trường hợp, vừa gây mất thời gian.



Nguồn: binadiri.wordpress.com

I/ Tự xây dựng một mô hình (framework) giải quyết vấn đề:
Trong khi đó, một lập trình viên lâu năm sẽ có hẳn cho mình một mô hình/hệ thống (framework) gồm một số bước cụ thể để giải quyết các vấn đề gặp phải. Đó là:
1/ Hiểu được vấn đề:
Để giải quyết các vấn đề một cách hiệu quả, bạn cần nắm rõ được nguyên nhân chính xác đã tạo ra chúng. Bạn có thể tự bắt bản thân diễn tả lại các vấn đề để xem bạn có hiểu rõ chúng không.
Như cái cách mà Richard Feyman đã nói, "Nếu bạn không thể diễn tả một điều gì đó bằng những từ ngữ thật đơn giản, điều đó có nghĩa là bạn chưa hiểu rõ nó".
2/ Lập kế hoạch từng bước giải quyết vấn đề:
Sau khi hiểu rõ vấn đề, bạn nên lên một kế hoạch gồm các bước cụ thể để giải quyết, không nên vội vã bắt tay vào hành động.
Bạn có thể tự hỏi mình: với những dữ kiện và thông tin X, đâu là những bước cụ thể để có thể cho ra kết quả Y.



Nguồn: Nick Janetakis

3/ Chia nhỏ vấn đề:
Đây là bước quan trọng nhất. Khi đứng trước một vấn đề, bạn không nên tập trung vào việc giải quyết nó, mà nên chia nó thành những vấn đề nhỏ (sub-problems) và đơn giản hơn. Hãy cứ tiếp tục chia nhỏ các vấn đề cho đến khi bạn cảm thấy chúng đủ đơn giản và dễ giải quyết.
Sau đó, với mỗi vấn đề nhỏ, hãy đưa ra một phương án giải quyết (sub-solutions). Khi liên kết các phương án nhỏ này với nhau, bạn có thể tìm ra được phương án lớn cho vấn đề lớn của bạn.
4/ Liên tục khắc phục các lỗi:
Có thể bạn sẽ hỏi: "Vậy nếu tôi không giải quyết được cả những vấn đề nhỏ thì sao!?". Chà, lúc này bạn cần phải kiên nhẫn.
Trước hết, bạn cần phải xem lại toàn bộ hệ thống các bước giải quyết vấn đề của mình xem có trục trặc hoặc bất hợp lý ở chỗ nào, và cố gắng khắc phục. Dân lập trình thường gọi công đoạn này là debug.
Bạn cũng có thể cố gắng nhìn nhận vấn đề theo một góc nhìn khác, một khía cạnh khác. Bằng cách này bạn có thể tìm ra một phương án sáng tạo và hiệu quả hơn.
Sau cùng, nếu quá thiếu ý tưởng, bạn có thể tìm kiếm và tham khảo phương án của các lập trình viên trên Google. Bạn nên tích cực tham khảo ngay cả khi bạn đã giải quyết được vấn đề của mình.


Nguồn: Yours Magazine

II/ Rèn luyện kỹ năng giải quyết vấn đề:
Ngoài việc tự xây dựng cho mình một mô hình giải quyết vấn đề, bạn cũng nên tích cực và chủ động trong việc tìm kiếm các vấn đề và rèn luyện kỹ năng xử lý chúng.
Bạn có thể tự mình rèn luyện kỹ năng giải quyết vấn đề thông qua các hoạt động như chơi cờ, tập giải toán, chơi sudoku, Monopoly (cờ tỉ phú), game, cryptokitties (game mua bán gà ảo), hoặc thông qua việc học và sử dụng các ngôn ngữ lập trình như Java, Go, Python, v.v...

Lời kết
Trong bối cảnh một nền kinh tế thế giới với nhiều khó khăn và thách thức như hiện nay, các nhà tuyển dụng luôn đánh giá cao những ứng viên có kỹ năng tư duy và giải quyết vấn đề tốt. Vì vậy, việc ý thức được tầm quan trọng của những kỹ năng này và tích cực rèn luyện chúng là rất cần thiết.
Bài viết trên đã đưa ra những phương pháp để áp dụng và rèn luyện kỹ năng tư duy và giải quyết vấn đề như một lập trình viên cho bạn đọc tham khảo. Những cơ hội và thách thức vẫn đang chờ đợi bạn phía trước!


Nguồn: StareCat.com
 

Theo dõi Youtube

Thành viên online

Không có thành viên trực tuyến lúc này

Quảng Cáo

Quảng Cáo

Có thể bạn quan tâm

Top Bottom