Xin định hướng học tập môn C/C++

Chào các anh chị và các bạn. Em là sinh viên năm thứ 2 khoa CNTT,
Đầu tiên em xin nhận gạch trước rồi mới hỏi. :persevere:

Năm đầu em được học nhập môn lập trình C, nhưng không lo học nên điểm rất thấp do không hiểu bài, chỉ đủ qua môn nhờ may mắn. Hè về em có học C qua video của anh Đạt. Cũng hiểu ra được nhiều thứ và học chưa tới phần con trỏ.

Hiện đang trong thời gian đăng ký học phần, kỳ này em học khá hiểu chuyên ngành nên thấy kiến thức chưa vững, sợ đăng ký rồi học tốn công, tốn tiền, mà không nắm được kiến thức.

  • Cụ thể là em đã đăng ký 3 môn: Kỹ thuật lập trình, Cấu trúc rời rạc, Kiến trúc máy tính
  • Hai môn mà em chưa đăng ký và đang phân vân có nên đăng ký hay là tự học trước rồi để kỳ sau đăng ký đó là: Lập trình hướng đối tượng, và Cấu trúc dữ liệu và giải thuật

Qua đây, nhờ mọi người tư vấn giúp em phương pháp học C và Lập trình hướng đối tương.

Em xin cảm ơn và nhận gạch lần nữa :grin:

Mình học cũng không giỏi, mình đóng góp 1 vài ý kiến cho bạn, mình cũng mới học xong môn C
có gì không đúng chỗ nào thì các a,c,b sửa nhớ, đây là quá trình học của mình

  • về tài liệu

tài liệu rất nhiều, tìm nhiều tài liệu , nhưng chỉ chọn 1 tài liệu để học đã, sau đó xem qua các tài liệu khác, nếu thấy nó tương đương thì thôi không học, nếu có cái hay thì tham khảo thêm, chỉ học 1 tài liệu thì sẽ không biết được nhiều, vì mỗi tài liệu ngoài kiến thức thì còn có cách trình bày và diễn đạt khác nhau, cũng có những kiến thức khác nhau, vì thế bạn nên tham khảo nhiều tài liệu khác, ngoài ra , học trong tài liệu kết hợp với xem các clip dạy trên mạng, nên xem của 1 người, trong 1 bộ, không nên xem lan man,chú ý , cũng chọn những bài dạy phù hợp với bản thân, vì mỗi người có 1 cách dạy khác nhau

  • về bài tập, thực hành

học đi đôi với hành, bạn đọc lý thuyết nhiều , sẽ có hiểu biết sâu và rộng, nhưng nếu không thực hành thì lý thuyết sẽ quên ngay không nhớ được không vận dụng được = > kĩ năng giải quyết vấn đề bằng cái đã học rất kém ,và ngược lại nếu chỉ thực hành mà không tham khảo tài liệu thì khả năng code rất hạn hẹp về kiến thức code cũng không được tốt cho lắm, nên đọc kèm tài liệu tiếng anh, nếu chưa biết thì tập đọc từ bây giờ, mình thấy tài liệu tiếng anh phần lớn họ trình bày kiểu vui vui, hài, nhiều ảnh chả liên quan đến bài học, nói chung là lan man không tập trung, nhưng thú thật là kiến thức trong tài liệu có nhiều cái hay
lạ, ví dụ như quyển head first c chẳng hạn

túm lại: lý thuyết và thực hành 50:50 đây là điểm khác nhau giữa đại học và các trường nghề, trường nghề họ đào tạo dắt tay chỉ việcm thực hành nhiều, sv làm rất thành thào nhưng mang ra để nghiên cứu hoặc làm cái khác thì chịu, còn đại học thì đào tạo lý thuyết nặng, nghiên cứu ghê gớm lắm, đủ thứ, nhưng thực hành thì không bằng những sv học nghề, nên mang 2 đối tượng này ra so sanh như báo chí thì mình thấy không đúng, vì họ được đào tạo theo cách khác nhau, môi trường khác nhau

ngôn ngữ lập trình và kỹ thuật lập trình?

bạn nên phân biệt ngôn ngữ lập trình và kĩ thuật lập trình, nghe có vẻ giống nhau nhưng không phải, ngôn ngữ lập trình là các dùng ngôn ngữ để giải bài toán theo ý muốn, còn kĩ thuật lập trình là cách xử lý bải toán hay hơn,dễ hơn tốt hơn, các thứ như ngôn ngữ lập trình, kỹ thuật lập trình, giải thuật , thuật toán, có mỗi liên hệ ở chỗ này.
vd: ngôn ngữ lập trình sẽ cùng cấp các kiến thức về mảng 1 chiều, như khai báo, duyệt, in, nhập,v,v, còn kỹ thuật lập trình sẽ giới thiệu các mẹo, các kĩ thuật như đặt cờ hiệu, lính canh…vv. đa phần các lớp kỹ thuật lập trình dạy ngoài giờ đều dạy cả 2, nghĩa là trong đó bào gồm cả ngôn ngữ lập trình và kĩ thuật lâp trình

  • cụ thể cách học , mỗi người có 1 cách hoc riêng, bạn nên tự tìm cho mình 1 phương pháp học
    mình thì học theo kiểu, đọc qua tài liệu 1 lần, đọc như đọc báo, không cố nhớ, sau đó làm các ví dụ, khi làm bt thì kiểu gì cũng phải xem lại tài liệu,cứ như vậy 1 -2 lần là nhớ, học 1 ngôn ngữ lập trình thì rất nhanh, nhưng dùng nó cho nhuần nhuyễn thì mất > 5năm làm việc liên tục với nó ( theo số liệu trung bình) không có khái niệm học xong 1 ngôn ngữ lập trình,
    lập trình c hay c++ hay 1 ngôn ngữ nào đó thì cũng là lập trình cả, nên trên đây mình chỉ nói chung về cách học ngôn ngữ lập trình của mình, chứ không nói riêng c, học thì tuyệt đối không học nhớ, chỗ nào chưa hiểu thì làm cho hiểu bằng được, không " chậc" thôi cho qua, chỗ này nhớ thế là được rồi.
    có 1 số mẹo khi học, khi học chỗ rối nhất là hình thành ý tưởng bài toán, bạn nên lấy giấy bút ra tính toán trước, tránh cầm đề thì gõ ngay, tránh gõ đến đâu tính đến đấy, bạn có thể dùng bảng tính exel cho những bài toán về mảng. xâu, mình toàn dùng exel để thiết kế thuật toán, cách giải bài toán, và phân tích, bài toán, phần tích thuật toán,cách giải của người khác, và điều cuối là: tham khảo code của người khác, khi code thì đơn giản vấn đề thôi, đa phân ngừoi học làm it, đều có lỗi suy nghĩ phức tạp, tỉ mỉ, khi code thì có2 nguyên tắc, dữ cho code đơn giản nhất, và cần cái gì gọi cái đấy, không cần không gọi, :wink:
    bài viết không được trau chuốt cho lắm, và có thể nói sai đôi chỗ! /
    Mong thông cảm
    :slight_smile: hy vọng mấy dòng trên giúp được bạn đưa ra được định hướng cho bản thân
5 Likes

:blush: cảm ơn bạn Anh Quân Trần

1 Like

Câu hỏi của anh tóm gọn lại ở ý: Phương pháp học lập trình.
Và khi anh search trên diễn đàn, anh sẽ thấy có nhiều bài viết chất lượng về vấn đề này rồi, bởi học C/C++ hay các ngôn ngữ khác thì cách học cũng thế thôi (tài liệu thì diễn đàn cũng có rất nhiều) .

1 Like

Cảm ơn các anh, các bạn.
Mình vừa quyết định không học môn Lập trình hướng đối tượng mà để qua kỳ sau học cho chắc. :smiley:
Không biết có đúng đắn ko nữa. Sợ ko ra trường kịp thời hạn

1 Like

anh chỉ sợ em ra trường không biết mình học lập trình thì ra làm cái gì nữa. Khi đó thì càng tốn thời gian học nữa.

1 Like

Chương trình học của bạn sao giống mình quá vậy?Mình cũng đang phân vân y chan vậy.

Mình sv năm 3 thôi. Nói chung là có lời khuyên nho nhỏ thế này. Nếu bạn đã nát như vậy thì đừng học hướng đối tượng với cấu trúc dữ liệu và giải thuật làm gì mất công kì sau phải học lại :wink: Ngồi học chắc chắn phần lập trình hướng cấu trúc đi đã (cụ thể là dựa vào ngôn ngữ C/C++ để hình thành tư duy thuật toán theo hướng máy tính có thể hiểu được). Khi đã có tư duy thuật toán thì phần lập trình chỉ là phần sử dụng sáng tạo và linh hoạt ngôn ngữ lập trình để sai bảo máy tính làm việc theo cách nghĩ của mình mà thôi.

Ngôn ngữ lập trình nó cũng giống như ngôn ngữ nói hoặc viết bình thường của mình thôi. Sử dụng nhiều thì sẽ quen. Sử dụng thành thục thì sẽ tạo ra sự sáng tạo trong cách vận dụng (Giống như học văn vậy. Tiếp xúc nhiều với văn chương thì bạn sẽ học được các cách sử dụng từ ngữ phong phú, sáng tạo của các nhà văn. Khi bây giờ, học đại học rồi, không còn học văn nữa, lại còn học trong môi trường kĩ thuật khô khan thì bạn tự suy ngẫm xem, mình hành văn nó như thế nào :slight_smile: buồn cười không tả nổi hoặc khô khan vô cảm xúc).

Tóm lại, là văn mình dốt nên viết không hay. Chỉ có thể tóm gọn lại là mới bước vào lập trình thì nên học cách tư duy theo cách làm việc của máy tính, học ngôn ngữ nào cũng được vì ngôn ngữ chỉ là phương tiện hỗ trợ mình hiểu và điều khiển máy tính theo ý mình muốn.

Các bác pro có gì đừng ném đá em nhẹ thôi nhé. Trên đây chỉ là kinh nghiệm suy ra từ bản thân mà thôi

1 Like

Mình đoán bạn học IUH

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