Em học C được 2 tuần thôi, nhưng thành thạo được tới if else (chưa học pointers, chưa thành thạo về loops và arrays ), tư duy em thì cũng ổn mà mỗi tội càng làm việc trên máy tính lâu là bắt đầu nó ngu ra và càng làm thì càng tạo ra những cái bugs ngớ ngẩn (em cũng không hiểu tại sao em lại bị như thế =) ).
Các bác có cao kiến gì không, hoặc là có 1 cái cuốn sách nào dạng như là preference, cho em với. Biết là học thì lâu dài thì sẽ tốt hơn nhưng em muốn thử học nó trong 5 ngày thôi nên mới nhờ các bác.
Đừng bắt em bỏ C được không ? Ít nhất cũng phải còn 1 cách nào khác chứ
.
Cái gì đó đã mách bảo mình. À ừm, ít nhất là mình đã thử vài lần nó nhưng không đem lại hiệu quả đáng là bao vì có lẽ nó không đủ chi tiết để mình nhớ và hiểu cho lắm dù nó cũng khá hay . Nhưng thực sự không đủ chi tiết cho dân mới và ít ví dụ quá có lẽ chỉ dành cho những ai đã từng học, mình thì không hợp rồi đó, tiền bối còn cái nào nữa không?
Xin thưa, bác nói thì đúng thật nhưng về em, em chỉ muốn biết lý thuyết và những thao tác đơn giản và cách thức hoạt động đơn giản của chương trình C. Chúng ta chưa nên bàn đến chuyện đào sâu làm gì, vả lại em cũng chỉ học có lớp 11 bác nói xem học C trong khoảng thời gian này và đào sâu để được gì? Em cũng chỉ muốn học và tìm hiểu trước mắt chứ chưa tính đến chuyện đào sâu, nếu như đào sâu thì em cũng không nhất thiết phải lên diễn đàn. Có thể có 1 vài ý kiến cho rằng học 1 ngôn ngữ lập trình trong khoảng thời gian đó thật lố bịch nhưng đối với em điều đó thì tuyệt vời. Chúng ta hãy thử hình dung 1 thằng đần nhưng có trí nhớ rất tốt, thế thì hãy nhồi nhét toàn bộ lý thuyết cơ bản vào thằng nhóc đó để nó hiểu cách áp dụng sau đó thằng nhóc sẽ tự suy nghĩ và tiếp tục nâng cao khi nó có nhiều thời gian rảnh rỗi (có thể sẽ phải đợi khi nào học xong phổ thông) và sẽ dễ thở hơn so với việc phải chạy 1 chương sách trong 1 ngày. Em xin nói luôn không nhất thiết phải thành thạo ngay bây giờ miễn là em có đủ lý thuyết là ổn em không muốn bàn đến chuyện thành thạo.
M ko thấy có cái gì gọi là tuyệt vời ở đây. Vì lý thuyết code thì bạn phải thực hành nhiều mới hiểu đc, ko có ông nào có khả năng đọc hết lý thuyết mà bỏ qua giai đoạn gõ lạch cạch từng dòng code vào editor mà thành programer đc.
Giống như giải phương trình thì lý thuyết cũng có vài dạng, vài phương pháp để giải pt thôi. Cũng cần thực hành nhiều thì mới nhớ, mới hiểu để giải đc chứ.
Cái này là bình thường với người mới học lập trình, bạn hãy coi đó như những thách thức trong game để vượt qua. Học lập trình là cả 1 quá trình khổ luyện, đừng mong trong thời gian ngắn có thể lĩnh hội đc hết.
Đừng quan tâm học bao lâu cứ học đi bạn tới đâu thì tính tới đó, nếu bạn muốn sau này theo lập trình thì giờ đọc sách Tiếng Anh là vừa rồi, bạn có thể đọc thử cuốn HEAD FIRST C xem sao.
P/S: Mình cũng mới học lập trình nhưng mình học Python nếu bạn muốn học lập trình và theo nghiệm túc lấy kiến thức nền tảng thật vững chắc thì mình đề nghị đọc cuốn “Fundamentals of Computer Programming with C#” ebook này free hoàn toàn và nội dung thì tuyệt đỉnh kungfu nhưng đòi hỏi bạn phải hoc thật nghiêm túc.
Có gì add firend facebook cùng nhau học tập cho vui mình tự học một mình chán vll…
Hi storyteller2511.
Thường có hai dòng sách ‘Head first *’ va ‘Learn * the Hard Way’ bạn đều có thể học được. Vì cơ bản là học cơ bản nên sách nào cũng có hết. Tuy nhiên mình chưa hiểu bạn học thử trong 5 ngày nghĩa là sao. Vì để bạn học một số cái cơ bản về ngôn ngữ thì cũng không lâu lắm nhưng để làm gì ?
Chuột ca nói ngược rồi. Nếu vậy thì nghĩa là học trong 2 năm 4 tháng trên sao Thủy rồi chứ có phải học mất 5 ngày đâu.
Phải là lên sao Kim học đủ 5 ngày trên đó = 5 * 243 ngày ở TĐ.
Không thì vô phòng thời gian của thượng đế cũng được mà, 5 ngày = 5 năm.
Không thích thì vẫn còn cách khác, ngủ thật nhiều như Nobi, rồi mượn cái bơm tiết kiệm của Dorae bơm lấy lại, tuy hơi mệt nhưng mà bơm được càng nhiều thì càng có nhiều thời gian hơn.
Mình đùa tý thôi, học lý thuyết không thôi mà không thực hành thì bạn không thể nào học cái môn này được.
Như mình học thì cứ giờ lý thuyết là ngủ (phòng học điều hòa mát quá, khó cưỡng lại được ). Đến giờ thực hành thì cứ tự mò, tìm tòi chứ thầy dạy chậm bỏ xừ.
Đọc xong cả bài vẫn không nắm rõ là bạn muốn học C trong 5 ngày tới mức độ nào.
Thuần thục basics syntax nhưng không làm được một sản phẩm hoàn chỉnh - Trust me, at least 2 weeks
Build được 1 console app có sử dụng thuật toán xịn xò - Trust me, at least 1 month if you have good logical thinking + math skills.
Build được 1 desktop app hoàn chỉnh - Trust me, at least 2-3 months to learn about framework, fix bugs and design app.
Làm robot bên nhúng bằng C + Assembly (cái này không rành, có sai đừng ném đá, tội em ) - Trust me, I don’t know
Hoặc là… Biết tất cả lí thuyết trên trời dưới đất của C, hiểu rõ C trong lòng bàn tay, nhưng không thèm build gì cả - Trust me, it will take you decades .
(Tất cả những điều chém gió bên trên chỉ đúng khi bạn tập trung chỉ học lập trình, không sa đà game, truyện, mạng xã hội hay phân tán học chuyên sâu các môn khác như lý, hóa và là một thiên tài máy tính/toán học thật sự)
Muốn hiểu cách thức hoạt động của một chương trình C, well, tôi nghĩ thật sự nó có thể tốn hàng thập kỉ để hiểu rõ về mã máy và cách hoạt động của compiler, etc…
Lý thuyết và những thao tác đơn giản thì thực ra if-else, loop, array, string là có thể coi là đủ rồi đó
Câu “học C trong khoảng thời gian này và đào sâu để được gì?” này hay đây. Không liên quan lắm nhưng để mình kể bạn nghe hành trình của mình nè.
Lớp 8 học HTML + CSS, đến giờ còn nhớ mỗi mấy thứ basics
Lớp 9 học C, được nửa năm thì do mấy cái “%d” khó nhớ khó hiểu quá (giờ chuyển qua học cái khác lại thấy nó dễ òm), nên nhảy qua C++
Từ lúc đó tới nay, tức là đầu năm 11: Vẫn còn bì bõm C++ , mới bắt đầu biết Framework, đang học OOP, trình thuật toán ở mức dễ.
Từng ấy năm, và mình chưa bao giờ tự hỏi rằng bây giờ mình học nó để làm gì, được gì Bạn nói làm mình mới để ý, học nó thì được gì nhỉ?
Nếu như bạn sau này muốn theo ngành CNTT, nhưng giờ còn đang học lớp 11, còn lo ôn thi đại học, định tìm hiểu sơ rồi sau này lên ĐH vọc tiếp, có nghĩa là bạn định theo ngành này một cách nghiêm túc. Yup, tôi xin chia sẻ lại thứ này:
To become a good IT developer one (or you) should acquire some virtues which are:
patience, patience and patience (everything must be observed with patience)
Imagination which helps you to see something invisible to the others
Visualization ability that gives you the possibility to materialize (or realize) an abstractness into something visible, touchable.
Patience is the most important thing for a developer (to develop = to unravel) who starts to unravel something and unraveling needs patience. And the main reason is that every begin is always difficult. If you lose your patience you lose the learning/unraveling thread that leads you into the mystery of matters and of solution. So try to tame your temper and nurse the patience.
Imagination is the next important virtue. Learning C or C++ or whatever OOP you need a great portion of imagination. Imagination leads you into a virtual world that exists only in your mind (or your imagination). For example: How to build a C++ object that covers something that can be applied for a specific thing. Example: Object Animal is generic (or general) that covers every living species on this planet Earth. Also, you must have an imagination to describe or to depict a generic form for an animal: mouth, ears, nose, extremities, etc. then from this generic animal you can derive a specific animal like dog, cat or even human. That is imagination.
Visualization is the last step for an accomplished IT developer. Without patience and Imagination there’s NO visualization. As I mentioned above, Object Animal is a Visualization of an Imagination which is again based on Patience (observing the common characters of all animals: mouth, ears, nose, etc.).
To achieve such virtues you have to start from the very beginning like a baby which starts to crawl, then to toddle, then to walk, then to run and finally to become a man or woman. Similar to that, the IT-Beginning is the understanding of the relationship between Hardware (processor, disk, memory, etc.) and Software (Operating System, compiler, interpreter, etc.). The next step is to comprehend the logical and functional context of different operations (if-else, try-catch, for/while, etc.) and the mathematical correlation of the wholeness. Finally when you master those basics (relationship between HW/SW, logical-mathematical context) you would see that everything is simple and clear…
Joe.
PS: Chém gió thế thôi, có khúc mắc thì cũng đừng ném đá, tâm hồn mình mong manh dễ vỡ lắm
PS1: À quên, còn sách thì bạn có thể lên allitebooks.com hay tìm pdf của mấy tựa “Head First”
Bạn k cần thành thạo, k muốn đào sâu nhưng lại muốn hiểu hết lý thuyết ?? :), và bạn đặt ra 5 ngày để học đủ lý thuyết về C,và bạn muốn đủ như thế nào ? . Cách duy nhất là học lập trình là mở máy ra và code, còn bạn nói càng ngồi trên máy tính càng ngu và nhiều bugs thì đây là lúc bạn luyện kỹ năng google rất tốt đấy =))
Bây giờ, bạn tạm dừng việc học C đi.
Bạn học sang một ngôn ngữ khác như là C#, Java, Python.
Sau khi thành thạo, có tư duy (khoảng 2 năm) thì quay lại học C.
Lúc đó, bạn sẽ đọc sách C với tốc độ 5s 1 trang
Và sẽ chỉ cần 5 ngày để nắm được hết những thứ trọng yếu của nó
Mình không nói chơi, mà đã trải qua rồi, ngôn ngữ ban đầu của mình là C/C++.
Sau hơn 2 năm cày cuốc C/C++, thì bây giờ mỗi khi chuyển sang ngôn ngữ mới, mình không tốn quá 1 ngày để học cú pháp, không tốn quá 1 tuần để sử dụng được ngôn ngữ mới đó.
Điểm trọng yếu ở đây không phải là bản thân ngôn ngữ, mà là tư duy lập trình của người học.
Bạn chưa có tư duy lập trình mà muốn đi nhanh, nắm khái quát 100% thì thật là viễn vông.
Trong khi đối với người học bài bản, lần đầu tiếp xúc với lập trình, thì có khi họ mất cả tuần, cả tháng để hiểu chỉ 1%, vì không thể hiểu bằng lý thuyết suông được, mà phải lao vào code, fix bug, chạy thành công, thì lúc đó mới xem như tạm hiểu.
Đôi lời chia sẻ.