Cách học lập trình thất bại

Phải định nghĩa được khó khăn là gì mình mới giải quyết được chứ?

5 Likes

Đây gọi là chưa học bò đã lo học chạy. Chưa biết phải bắt đầu từ đâu thì quay lại học các cái cơ bản về lập trình về ngôn ngữ. Sao cứ phải vội vàng tạo ra sp nhỉ?
Nó khác với các câu truyện về đam mê, đó là có 1 anh đang làm tốt rồi (=> kiến thức cơ bản tốt) , bỗng dưng cho 1 cái mới không biết phải bắt đầu từ đâu => sau đó a ta mày mò và làm thành công. KHÁC NHÁ , khác là anh này có kiến thức và kinh nghiệm về lập trình rồi, giống như chuyên gia leo núi ở Everest mà gặp fanxiphang thì cũng có kinh nghiệm và kiến thức để vượt qua được.

Đừng làm mất gốc, các kiến thức cơ bản => nếu ko VN mãi chỉ làm outsource và tay chân cho lập trình thôi

3 Likes

nói chung là về mặt ngôn ngữ thì e cũng thấy là tạm ổn, về mặt tư duy còn kém, có cách nào luyện tư duy sáng sủa cho người lập trình không anh, e tự thấy tư duy của e rất dối

1 Like

Anh nghĩ tư duy lập trình tăng trưởng theo thời gian. Em làm càng nhiều vấn đề hóc búa thì em càng có tư duy tốt hơn. Ngày đầu tiên học lập trình, việc vừa ngồi code vừa nghĩ giải thuật đối với anh là không thể. Phải viết ra giấy trước rồi mới viết lại vào code được.

Nhưng bây giờ hầu hết các công việc, thường là đơn giản, anh không cần phải viết mã giả.

5 Likes

e cũng phải làm như a, phải viết chi tiết ra giấy, xong đó mới code được, cái bước viết ra giấy nhiều khi nó rối rắm, 1 bài mà phải viết đến 10 tờ giấy a4 mới giải được bài toán xíu xíu. Có vẻ gian nan :frowning:

1 Like

Tư duy lập trình là thứ có thể luyện tập được. Em giải quyết các vấn đề ít phức tạp đến các vấn đề phức tạp hơn để xây dựng tư duy.

7 Likes

cảm ơn a, e cũng hi vọng là thế, giờ thấy ngu ngu ngơ ngơ nhiều lúc cũng nản, nhưng vẫn còn cái đam mê :smiley:

3 Likes

Cho mình hỏi đó là sách gì vậy bạn?

1 Like

cấu trúc dữ liệu và giải thuật :smile:

1 Like

Em mai thi, cũng mới ôn 2 ngày Giải tích 2

3 Likes

hi, mấy môn mình thích thì mình “ôn” từ lúc mới học luôn rồi nhỉ. :smile:
học đến đâu hiểu đến đấy thì thích nhỉ.

5 Likes

anh đạt ơi em nghĩ , những người đi làm rồi mà vẫn làm bài tập vì họ muốn tìm ra một phương pháp tốt nhất chăng , trường em có thầy là giáo sư rồi mà vẫn giải bài tập bình thường mà

2 Likes

Anh nghĩ cũng có, nhưng chỉ dành cho những người đi theo hướng giáo dục hoặc đang / sắp theo đuổi một bằng cấp cao hơn?

Nhu cầu công việc không cần đến việc giải thật nhiều bài tập. Đối với người đi làm, ví dụ là Đạt, thì Đạt chỉ quan tâm đến những bài thật cơ bản đề làm quen với cú pháp khác biệt của một ngôn ngữ nào đấy. Hầu hết Đạt sẽ dành thời gian cho việc áp dụng ngay ngôn ngữ này vào project đang làm để vừa học vừa giải quyết nhu cầu công việc.

Giáo sư cần phải làm bài tập để tìm cách giải hay / dễ hiểu để giới thiệu cho sinh viên chứ. Tuy nhiên, anh cũng không nghĩ là giáo sư lại đi làm bài tập. Thường thì các giáo sư thích viết sách họ mới làm, còn không thì giao cho trợ giảng họ chuẩn bị hết rồi.

7 Likes

Em nghĩ code đi code lại một vấn đề để tìm ra cách tối ưu cũng hay mà :)) như em nhìn lại không biết sao ngày xưa mình code khôn hơn giờ thế =))

4 Likes

Tuyệt vời anh Đạt, em cũng nghĩ rất nhiều về vấn đề này

2 Likes

@ltd Tìm thêm bài tập rồi giải nhiều bài tập cho đến khi nhuần nhuyễn là một thất bại của giáo dục.

Câu này theo nó chỉ đúng với những ai đang học lập trình ứng dụng (applied programming) hay nói cách khác là những học sinh / sinh viên đang học nghề coding và nó mang nặng ý nghĩa sử dụng trong thực tế chứ không phải học để trở thành cử nhân hay nghiên cứu lý thuyết chuyên sâu ( và đúng là bằng cử nhân hay lý thuyết chuyên sâu hẳn là không giúp mình kiếm ra được tiền).

Đối với competitive programmer hay học sinh, sinh viên học về thuật toán, các loại lý thuyết (như graph theory, dynamic programming,…) hay nhỏ hơn là đi thi thì việc giải bài tập cho đến khi nhuần nhuyễn là rất cần thiết. Điều này thể hiện rõ khi bạn ngồi trong phòng thi ACM.

Có nhiều ý kiến cho rằng làm bài tập thuật toán cho lắm vào, luyện thi ACM cho lắm vào,… có ứng dụng thực tế gì đâu. Thực ra em có quen nhiều anh chị đang làm việc cho Microsoft, Google, hay các công ty ở Singapore… (người Việt nhé), nhờ có giải thưởng IOI và ACM-IPCP. Và thực tế, Google, Facebook cũng có các cuộc thi ACM như Facebook Hacker Cup, Google Code Jam.

Tóm lại, em nghĩ học nghề để kiếm tiền đương nhiên là cần thiết. Nhưng luôn luôn tồn tại song song “Thầy” và “Thợ” ở bất cứ lĩnh vực nào.

3 Likes

Nhưng luôn luôn tồn tại song song “Thầy” và “Thợ” ở bất cứ lĩnh vực nào.

:+1: chuẩn :smile: vậy thì ta phải đào tạo cả thầy và thợ.

Nhưng xem ra việc đào tạo các chuyên gia giải đề chỉ hướng đến việc đào tạo thầy thì phải :smile: khi không đào tạo được cả thầy và thợ thì gọi đó là thất bại của giáo dục theo em là hoàn toàn hợp lý :smile:

Việc luyện thuật toán đối với thợ em thấy nó giống như chơi sudoku, rubik,… vậy, chẳng kiếm được tiền từ cái trò đấy nhưng nó lại giúp ta rèn luyện bộ não.

6 Likes

@thanhmssl10 không, ý em là coding kiếm tiền là thợ còn học thuật toán với cày bài tập mới là thầy đấy :smiley:

4 Likes

Thì em cũng nói vậy mà :smiley:

À bổ sung thêm tí, em k rõ chính xác mục đích các công ty lớn tổ chức các cuộc thi như thế để làm gì, nhưng em k nghĩ họ tạo ra các cuộc thi như vậy để khuyến khích nhân việc tối ngày cày cuốc bài tập, thuật toán để đi thi :smile:

Ý của em khi so sánh học thuật toán/giải bt với sudoku đó là: với giáo sư, giảng viên thì việc học thuật toán/giải bt là việc chính của họ, còn với lập trình viên (thợ) thì việc đó chỉ là phụ, mang tính rèn luyện trí não là chủ yếu => k nên mất quá nhiều thời gian cho nó

1 Like

Quyển này của thầy Minh Hoàng đúng ko c?

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