01/10/2018, 08:21

Làm thế nào để học tốt được lập trình?

Em chào mng,e mới học lập trình C được 1,5 tháng và cũng đã làm bài tập ,nhưng rất nhiều bài em không làm được ,bởi vì k nghĩ ra được hướng giải quyết.Những lúc như thế lên mạng tìm hướng giải bài thì toàn code của ng đi trước,em đọc thì có hiểu .NHƯNG ,thực sự e muốn tự mình tìm ra hướng giải quyết . Mng có thể cho e chút kinh nghiệm về vấn đề làm sao khi đọc được 1 bài toán e có thể nghĩ được 1 hướng giải quyết không ạ ?
Và còn 1 điều nữa là ,Nếu e còn nhiều bài tập C không làm được thì liệu sau này học lên ngôn ngữ cao hơn ,thì liệu e có thể theo hoc được k ạ ? Thực sự giờ e rất hoang mang,mong mng góp ý e với .Em cảm ơn diễn đàn,cảm ơn mng nhiều

Tao Không Ngu. viết 10:30 ngày 01/10/2018

Hi khoa.
Đừng quan tâm đến ngôn ngữ mà hay quan tâm đến tư duy.

The Wind viết 10:23 ngày 01/10/2018

Học C làm gì vậy u… Mình thấy ai ms học lập trình cũng học cái này…

Nguyễn Duy Hùng viết 10:36 ngày 01/10/2018

nhiều cái bên C sau này qua Python (vd thế ) có thể đơn giản hơn nhiều @.@ Còn nhiều bài bạn ko làm được bây giờ, không sao đó là vì bạn chưa học những thứ như cấu trúc dữ liệu & giải thuật và phân tích thiết kế thuật toán, và còn nhiều nhiều kinh nghiệm tích lũy qua việc đọc tài liệu. Có người nói để thành thạo một cái gì đó cần ít nhất 10000 h thực hành luyện tập, cứ cho một ngày bạn luyện 8 tiếng thì con số thực tế là 3,5 ~ 4 năm ^^ cứ chăm chỉ cố gắng đi.

khoa viết 10:28 ngày 01/10/2018

Bởi vì e tư duy kém ,nên với kb đưa ra hướng giải quyết bài toán ,nên sợ sau lên ngôn ngữ cao hơn thì k theo đc /a ạ

khoa viết 10:26 ngày 01/10/2018

mình thấy các anh chị đi trước bảo C là môn cơ sở,học để lấy tư duy lập trình nên đều theo học cái này

khoa viết 10:24 ngày 01/10/2018

e cũng đọc qua cấu trúc dữ liệu,nhưng cũng k hiểu đc nhiều cho lắm,cứ như vậy thì liệu sau học lên ngôn ngữ cao hơn ,thì e có thể theo được không a ? ví dụ như ,e sắp học xong C ,thì dự định học lên PHP ,hoặc JAVA thì các ngôn ngữ đó có đòi tư duy nhiều hơn C k a?

Tao Không Ngu. viết 10:33 ngày 01/10/2018

HI khoa.
#1 Không có khái niệm học xong một ngôn ngữ.
#2 Cách giải quyết 1 bài toán không khó như bạn nghĩ. Cái khó là bạn triển khai nó như nào.
#3 Luyện tư duy giải thuật thì bạn có thể chon Python hoặc Matlab.
#4 Hãy suy nghĩ như bình thường.
VD Bài toán xắp xếp mảng.

Hung viết 10:23 ngày 01/10/2018
  • Tùy theo bạn muốn làm gì thì học lập trình ngôn ngữ để đạt được mục đích. Nếu bạn được lựa chọn thì cắm đầu vào C làm gì, học xong mà bạn không áp dụng thì tốn thời gian + công sức học.
  • Muốn tìm ra hướng giải một vấn đề thì bạn không thể ngồi mà nghĩ ra được. Bạn cần tìm cách học vẽ lưu trình (Process) để giải quyết một vấn đề từ đầu đến cuối.
    Vì máy tính thực hiện theo từng bước mà bạn lập trình cho nó, cho nên bạn phải biết:
  1. Dữ kiện ban đầu đề bài cho và Kết quả cuối cùng cần đạt được.
  2. Từ dữ kiện ban đầu --> bạn cần tạo biến gì, tính toán như thế nào hay cần giải thuật gì (sắp xếp, đệ qui…) --> đạt kết quả cuối cùng. Lúc này bạn vẽ lưu trình hoặc nêu từng bước ngắn gọn trên giấy.
  3. Xác định cần viết bao nhiêu thủ tục, vòng lặp,…
  4. Viết và chạy --> Đạt kết quả đầu ra mong muốn.
  5. Kiểm tra.
  6. Tối ưu.
    Quan trọng là bạn nêu được các bước cần làm để có kết quả --> viết cho máy tính hiểu và thực hiện --> có kết quả.
    Đối với chương trình lớn thì sẽ nhiều công đoạn, hoàn thành - kiểm tra - tối ưu từng phần…nói chung là dài dòng, bạn tìm hiểu về qui trình làm phần mềm, Agile, Scrum…sẽ rõ.
The Wind viết 10:30 ngày 01/10/2018

Có nghĩa là bạn học xong C cũng chẳng để làm j chứ j …Nếu vậy thì bạn bỏ cmn đi mà học ngôn ngữ khác mà bạn mún theo : JAVA,C++,Python,Swift,PHP…(Tùy mảng bạn mún theo,đừng phí time vào C làm gì )

Nếu mún tư duy lập trình thì học Toán rời rạc ,cấu trúc lập trình và giải thuật ,Xác xuất thống kê,lập trình hướng đối tượng …( Nếu bạn học Đại Học thì chắc chắn có dạy mấy môn này ,còn k thì kiếm tài liệu bằng bác Google )

Còn nếu muốn tìm hiểu Framwork,thư viện hay công nghệ thì cứ Qt,.NET,WebRTC,FFMPEG,NodeJS,OPenCV.OpenGL …mà táng (Chọn 1 cái thui,học nhìu tẩu hỏa nhập ma ý )

Huy Ta Quang viết 10:27 ngày 01/10/2018

Bạn đừng lo nhé. Nếu muốn chọn ngôn ngữ thì trước tiên trl câu hỏi bạn muốn theo mảng nào: Web (php, node js, ruby…), Mobile (java, android, ios…) hay ứng dụng máy tính (C#, C++, Java…). R khi đó sẽ chọn ngôn ngữ phù hợp. Còn về vđề nhiều bài toán bạn ko giải đc ko sao cả, có những thứ ng ta đã sáng chế ra rồi bạn chỉ cần học hỏi để nâng dần trình độ. Có 1 câu rất hay “Không ai đi sáng chế lại cái bánh xe cả”

Bùi Viết Hướng viết 10:25 ngày 01/10/2018

Nếu bạn học 1,5 tháng thì bạn hãy nói cho mình biết mỗi ngày bạn bỏ bao nhiêu giờ cho nó.
Với thời gian 1,5 tháng dù có học ngày 12 tiếng thì vẫn chưa thể cứng được C.
Do đó đừng quá vội lo lắng, ai cũng cần 1 ít thời gian để quen với lập trình. Mình cũng từng trải qua thời gian khó khăn trầy trật với môn C căn bản.
Hãy cứ làm và từ từ bạn sẽ có kinh nghiệm, có tư duy lập trình, làm từ dễ trước.
Cuối cùng, tặng bạn bài viết nhỏ của mình, hy vọng bạn tiếp tục con đường đã chọn.

Jusfunny - Better Developer – 23 Oct 16

Học lập trình có cần quá thông minh?

Như tiêu đề, một vấn đề nan giải và cũng là câu hỏi của nhiều người mới bước chân vào học lập trình. Có nhất thiết bạn cần phải quá thông minh để có thể học lập trình? Câu trả lời là “Hoàn to…

Thành Trần Công viết 10:37 ngày 01/10/2018

Mình nói thật chứ học C là tốt nhất , vì để năm rõ đc bản chất ngôn ngữ hơn . Đôi khi giải thuật và cấu trúc dữ liệu bạn có thể tư duy nhưng khó mà trình bày , các ngôn ngữ cấp thấp học thì khổ , nhưng có các lợi về sau . Quan điểm cá nhân .

Truong viết 10:33 ngày 01/10/2018

Thực ra có nhiều giáo phái giang hồ lắm, cũng nên tìm hiểu qua, thích giáo phái nào thì nhập hội thôi.

Phan Bá Hải viết 10:29 ngày 01/10/2018

Ngôn ngữ là chỉ công cụ để giải thích thuật toán. Bạn không giải được bài là do tư duy chứ không liên quan đến ngôn ngữ nên bạn cứ giải bài tập C, tăng cường tư duy. Học ngôn ngữ khác thì lôi bài C làm thử trên ngôn ngữ đó xem. Bạn sẽ thấy đơn giản hơn. Do bạn chỉ cần triển khai thuật toán trên ngôn ngữ mới, nếu vướng cú pháp thì lên mạng tra là ra

rogp10 viết 10:35 ngày 01/10/2018

Vấn đề là bài gì, nếu thớt muốn quẩy SPOJ/TopCoder thì phải sang CodeChef tìm đọc. Còn nếu muốn làm sản phẩm thì dừng ngay nhé.

Khánh Minh viết 10:26 ngày 01/10/2018

Bạn có vẻ không hứng thú hay không thích về C nhỉ, nếu k C thì sao bạn học qua được Objective-C, còn những ngôn ngữ bạn nói bây giờ là ngôn ngữ hiện đại bậc cao rồi, còn C là kiến thức nền tảng, mà người ta nói rồi, không có nền tản thì khó khăn để nâng cao, mà bạn bảo C không làm được gì sao, IoT đang mạnh và C với C++ đang có chỗ đứng trở lại đấy bạn

Baby_in_coding viết 10:34 ngày 01/10/2018

Học cái gì cũng có cái khó riêng, mong bạn đừng quá nản lòng. Nếu đã đam mê thì cứ tiếp tục nổ lực.

Bài liên quan
0