Tư duy lập trình kém phải làm sao?

Chào mọi người, em theo học nghành làm anh hùng bàn phím này đc hơn năm rồi, ở trường đang được học C/C++. Chủ yếu là làm quen ngôn ngữ lập trình và học thuật toán, thực sự thì em rất yếu mảng thuật toán này, em đã tìm rất nhiều phương pháp để nâng cao khả năng tư duy của mình, để học thuật toán cho tốt nhưng nó thật khó, nhiều lúc chẳng biết làm gì ngoài nghĩ linh tinh.

Từ lâu thì em cũng có ý định theo lập trình web hơn là phần mềm, nhưng làm gì thì làm, phải có tư duy thuật toán đúng ko? Nhưng lại yếu nhất mảng này thì phải làm sao để giải thoát, để đạt đến trình độ amatuer mỗi khi học ngôn ngữ mới, chưa nói đến professional, master…

Trên lớp thì cứ ngôn ngữ này học xong thì sang ngôn ngữ khác, từ C, C++ rồi sắp đến Java…trong khi đó thì mấy cái thuật toán chả hiểu gì, gặp bài tập là ko nghĩ đc cách giải, nói mấy bài cấp khá khá trở lên thôi chứ bài dễ ko nhắc nha. Nhưng mà cứ học hành như thế này chắc em thất nghiệp mất :frowning:

Làm ơn giúp em :frowning:

18 Likes

Muốn có tư duy lập trình tốt mình nghĩ bạn nên học một chút toán :blush:

10 Likes

dạ e đang học toán rời rạc ạ :smiley:

2 Likes

Lúc mới đầu làm quen dần thì “đa phần” ai cũng kém thuật toán, code nhiều thì trình độ lên, lúc đấy sẽ biết phân thích vấn đề, giải quyết vấn đề bằng nhiều cách và cả phát triển tư duy nữa !

12 Likes

Vậy bạn cứ từ từ, và siêng tí là đc :stuck_out_tongue:
Mới đầu mình cũng chả biết vẹo gì cả, toàn chép code rồi submit :P. Sau này đỡ hơn tí nhưng mà lười nên bh cứ dâm chân tại chỗ :’(

7 Likes

hiện tại thì e cũng toàn chép code ng khác để đủ bài nộp trc deadline :’( nói thật là xấu hổ lắm :frowning:

2 Likes

Em cũng v, nhiều khi ngồi cả đêm với 1 thuật toán mà k ra. :frowning: chuẩn bị kiểm tra nữa r, dạo này tích cực quay tay mà kiến thức chỉ vào 0.01%. Giờ vẫn ngồi code :frowning:

2 Likes

Code càng nhiều thì tư duy sẽ lên dần =)) em cũng như bác lúc đầu không tự định hình được cách giải một bài toán (phải nhờ thầy cô giúp) nhưng bây giờ đã tự thân vận động được rồi :wink:

4 Likes

thím quay tay không lên là đúng rồi :frowning:

2 Likes

luyện trên codeforces, spoj, ntu là lên trình ngay ấy mà :wink: nhất là luyện trên codeforces lên trình rất nhanh

7 Likes

tư duy lập trình của mình cũng không được tốt.nhưng mà gặp bài code khó đến mấy mình cũng cố gắng tự làm chứ k bao giờ ngồi chép không code của người khác cả. nếu không có cách giải quyết nữa mới đi nhờ người giỏi hơn giúp thôi :smile:

8 Likes

Để giỏi một vấn đề nào đó chỉ có một cách duy nhất là LÀM, LÀM, và LÀM

Đây là một số nơi có thể học:

  • Geeks for Geeks
  • Sách Giải thuật và Lập trình huyền thoại của Lê Minh Hoàng
  • Introduction to Algorithm (em chưa đọc cuốn này, nhưng nghe đâu nó cũng là huyền thoại)
  • Bài tập: http://laptrinh.ntu.edu.vn/Problem/List
15 Likes

theo tôi muốn có tư duy tốt thì uống thuốc bổ não vì :smile:

  • nó tăng cường bộ não thật kiếm mấy hộp hạt huyết nhất nhất thử vài hôm khác liền
  • tâm lý thoải mái hơn vì đã uống thuốc hẳn là thông minh hơn xíu … nói chung sẽ tự tin hơn
  • khi gặp bài khó thì cày vào làm k bỏ cuộc … cái gì cũng phải dần dần
    chúc bạn thành công
5 Likes

thực ra là các bài dạng cơ bản hoặc ko đánh đố thì em vẫn tự làm đc :frowning: nhưng bài tập thì toàn bài khó thôi: xử lí số nguyên, làm việc với ma trận, ứng dụng stack…

trc có solve vài bài trên spoj ptit xong thi học kì nên ko làm nữa, giờ chắc phải cày tiếp thôi

cơ mà em vẫn thắc mắc: Theo hướng lập trình Web có cần học tốt, thậm chí là cao siêu thuật toán k @@ em xác định theo hướng frontend trước rồi thành thạo nó mới nâng cấp lên backend với fullstack

3 bước để học lập trình:

  • đọc hiểu code của người khác.
  • tự viết lại theo tư duy của mình.
  • sáng tạo cách khác.
    Khi đi làm hơn nhau ở tốc độ.
9 Likes

Đọc thử Tôi tài giỏi và bạn cũng thế của Adam Khoo thì phải, có bản dịch t.v. Có thể bạn sẽ tìm được đáp án cho câu hỏi bạn đang thắc mắc và hướng đi.

4 Likes

em cũng mới học lập trình và thuật toán cũng chưa giỏi cũng không được thông minh nhưng em thấy việc đọc những phân tích về thuật toán của người khac như nghe các bài giải các bài toán khó nghe các anh chị phân tích thuạt toán kết hợp đọc nhiều thuật toán cũng giúp tư duy tăng đáng kể đó ạ !!!

2 Likes

Theo mình :
Tư duy lập trình phụ thuộc nhiều vào kinh nghiệm và độ tinh thông ngôn ngữ.
Do vậy để có tư duy tốt thì làm nhiều và cố gắng tìm hiểu sâu điểm mạnh yếu của ngôn ngữ sử dụng.

2 Likes

Codeforce tiến đi em.

1 Like

Yên tâm đê, không cần phải quá cao siêu thuật thuật toán để có việc làm đâu, trừ khi chú muốn làm bảo mật, chuyên gia,…etc. Thích cái gì thì cứ hiểu sâu về nó đi đã. Sâu rồi đến rộng sau :wink:

P/S: Không phải thằng ku hackerz gì gì đó của GA đấy chứ???

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?