Người mới bắt đầu học lập trình cần tập trung vào những gì?


Được đăng vào ngày 06/02/2016 | 17 bình luận
Người mới bắt đầu học lập trình cần tập trung vào những gì?
3.43 (68.57%) 7 votes

Nhu cầu học lập trình đang ngày càng cao, tuy nhiên không phải ai cũng có điều kiện để vào các trường Đại học hay Cao đẳng, do đó mà các khóa học cấp tốc hay các trang dạy lập trình từ có phí đến miễn phí mọc lên ngày càng nhiều để đáp ứng nhu cầu của người học.

Nếu như ở trong trường đại học, các chủ đề trong các khóa học lập trình từ nhập môn cho đến nâng cao đều được chuẩn bị theo thứ tự để sinh viên có thể nắm bắt tất cả các khái niệm cần biết của một ngôn ngữ lập trình, thì đối với người tự học lập trình từ trên mạng thì thường không biết phải bắt đầu từ đâu và hay học những thứ “nghe là thấy thích” chẳng hạn như có bạn nghe Facebook được viết từ PHP thế là đâm vào học PHP, kéo theo là HTML, CSS, Javascript… hay mình thấy có mấy bạn chuyên ngành kinh tế ngưỡng mộ Flappy Bird của anh Nguyễn Hà Đông thế là lao vào tìm sách và tài liệu lập trình Android, iOS… và thường thì những bạn này cũng không học theo các chủ đề đã được sắp xếp sẵn mà thường học lung tung làm sao để có thể làm được giống như “thần tượng” của mình trước đã. Điều này cũng đúng thôi vì ngay cả mình học đại học chính quy Công nghệ thông tin cũng đâu có tìm hiểu tất cả mọi thứ có trong một ngôn ngữ lập trình.

Tuy nhiên có những thứ mà bất cứ người mới học lập trình nào cũng phải học, đây là những khái niệm cơ bản trong lập trình mà bất cứ ngôn ngữ nào cũng phải có, một khi bạn đã làm chủ những thứ này thì bạn sẽ có thể học các ngôn ngữ khác một cách dễ dàng.

Kiểu dữ liệu

Có một câu nói rất nổi tiếng đó là :

Chương trình (Program) = Cấu trúc dữ liệu (Data Structure) + Thuật toán (Algorithm)

Cấu trúc dữ liệu (hay kiểu dữ liệu) là những thứ như số nguyên, số thực, chuỗi kí tự… đây là những kiến thức cơ bản mà bạn cần phải học, một khi bạn đã làm chủ các kiểu dữ liệu bạn mới có thể tiếp tục tìm hiểu sâu về ngôn ngữ mình đang học hay học các ngôn ngữ khác.

Cấu trúc điều khiển, các phép toán

Đây chính là thành phần tạo nên thuật toán. Chúng là các câu lệnh điều khiển chương trình của bạn. Các phép tính cộng trừ, nhân, chia, so sánh, gán… các lệnh kiểm tra điều kiện (như if…else) và các lệnh lặp (như for, while). Chúng thực hiện việc tính toán dữ liệu và điều khiển chương trình của bạn. Đối với những người mới học lập trình thì lý thuyết về chúng rất dễ hiểu và dễ dùng nhưng để thành thục thì cần thời gian thực hành khá nhiều.

Hàm

Đây là một thành phần quan trọng và rất tiện dụng của một ngôn ngữ lập trình. Hàm (hay có một số tên khác là thủ tục, phương thức…) cho phép bạn tái sử dụng mã nguồn, qua đó giúp bạn tiết kiệm thời gian viết code. Gần như tất cả các ngôn ngữ lập trình đều hỗ trợ hàm và cách sử dụng chúng cũng rất giống nhau.

Hướng đối tượng

Tiếng Anh là Object Oriented Programming (OOP). Khi bạn đã thành thục các thứ trên thì đây là thứ bạn cần học tiếp. Hướng đối tượng là một kĩ thuật lập trình khó nhưng rất quan trọng. Nếu hàm cho phép bạn phân chia chương trình thành những chương trình nhỏ hơn để dễ quản lý thì hướng đối tượng cho phép bạn phân chia chương trình thành những thực thể để quản lý. Hầu hết các ngôn ngữ lập trình cao cấp đều hỗ trợ hướng đối tượng. Thường thì lúc mới học bạn sẽ chưa thấy tầm quan trọng của OOP ngay đâu, chỉ khi bạn làm một chương trình lớn mới thấy được, thực ra thì OOP đúng là được phát minh ra nhằm mục đích giúp cho việc quản lý các chương trình lớn dễ dàng hơn so với hàm mà. Lý thuyết của OOP rất khó hiểu nhưng bạn đừng nản, cứ thực hành nhiều sẽ ngộ ra thôi :).

Tạm kết

Lập trình là một lĩnh vực khó, bạn phải có tư duy của một lập trình viên. Một khi bạn đã làm chủ được những điều trên thì bạn đã là một lập trình viên khá cứng rồi và bạn có thể học bất kỳ ngôn ngữ nào mà bạn thích chỉ trong vòng vài ngày hay thậm chí là vài giờ.







Bình luận (17)

  1. Chung

    Mình cũng đang học và tìm hiểu về lập trình nhưng vẫn còn bỡ ngỡ vì mình là học mới và chưa có kiến thức gì nhiều về máy tính cũng như lập trình cả,chưa biết làm thế nào để phân tích được một bài tập để tìm ra phương hướng giải quyết bài tập đó.

    1. Phở Code Admin

      lúc mình mới học cũng vậy đó bạn, mình bắt đầu học lập trình năm lớp 11, tức là cũng giống như hầu hết mọi người thôi, lúc đó mình giải bài tập cũng vậy, ví dụ như khi thầy cho bài tập là giải phương trình bậc 2, trong đầu mình cứ nghĩ là giải cái này thì quá dễ, công thức tính delta từ lớp 9 đã có sẵn rồi chỉ cần áp dụng, nhưng làm sao để bắt cái máy tính áp dụng công thức đó thì làm mãi không được, cảm giác rất nản. Lên năm lớp 12 thì mình có tham gia lớp đội tuyển học sinh giỏi tin của trường, mình chỉ đi học lớp luyện thi cho vui thôi chứ không đi thi, đi học lớp đó thì thầy cho rất nhiều bài tập, sau gần 1 tháng giải bài mình mới bắt đầu quen với lối tư duy của lập trình. Do đó nếu bạn đang bị như mình ở lớp 11 thì bạn có thể bắt chước mình như thế, giải nhiều bài tập vào, và phải có người trợ giúp nữa như thầy cô chứ một mình tự học thì khó lắm. Sau khi đã quen lối tư duy đó rồi thì gần như 90% là bạn sẽ học mọi ngôn ngữ, công nghệ, thuật toán… rất dễ dàng

      1. Chung

        Mình thì bây giờ cũng đi làm rồi,ít có thời gian học mình đang học online mà chưa biết có nên cơm cháo gì không nữa nhưng mà vẫn cố gắng học , mình thì kém Toán cho nên tiếp thu chậm, cũng khó và chưa hiểu gì nhiều mình học được 2 tuần rồi đang học ngôn ngữ C/C++.

        1. Phở Code Admin

          thế thì khó đấy bạn, thường người học lập trình chính thống cũng ít khi làm nghề lập trình lâu dài vì càng lớn tuổi thì tư duy không còn minh mẫn như hồi trẻ nữa, sinh viên mới ra trường thường sẽ đi làm lập trình khoảng 10-20 năm, đến khoảng 30-40 tuổi là họ sẽ làm các chức vụ quản lý… công việc lập trình sẽ được giao lại cho các lập trình viên trẻ vì lớp người trẻ học cái mới nhanh hơn nhiều. Tuy nhiên mình cũng biết có người vẫn còn lập trình sau 40 tuổi nhưng số này khá ít, do đó bạn cứ cố gắng, không có gì là không thể 🙂
          Toán thì cũng không cần thiết lắm đâu, đa số những người nói muốn học lập trình tốt thì phải học toán tốt là sai, bạn chỉ cần toán nếu bạn muốn đi theo đường nghiên cứu trong ngành khoa học máy tính thôi, để lập trình tốt chỉ cần tư duy logic là đủ. Bản thân mình cũng học toán rất dở mà 🙂

          1. Chung

            ừ mình cảm ơn bạn nhiều ,khi mình học lập trình là do sở thích máy tính của mình đó , mình cũng nghĩ khi có tuổi mọi thứ sẽ chậm lại những không có nghĩa mình lại dừng đam mê tại đó hiện tại mình sẽ cố gắng học lập trình để hiểu biết về nó như nào đã.Cảm ơn đã tư vấn cho mình.Khi nào có thắc mắc hoặc khó khăn mình sẽ liên hệ trên trang này để nhờ bạn tư vấn thêm

      1. Phở Code Admin

        Nếu sau khi nghỉ học mà bạn vẫn tự học hay bằng một cách nào đó mà bạn vẫn có được những kiến thức phổ thông cơ bản thì bạn vẫn học được. Nói chung là mọi thứ đều có thể tự học được, chứ không nhất thiết là phải đi học trên trường thì mới học được. Có điều tự học thì sẽ khó hơn và mất nhiều thời gian hơn so với việc có người dạy cho bạn 🙂

        Gennady Korotkevich sinh năm 1994, người Belarus, hiện là một trong những lập trình viên trẻ và giỏi nhất thế giới, bạn này học lập trình từ khi 8 tuổi, tức là cũng chỉ khoảng lớp 2-3 so với Việt Nam, mà mình nghe nói chương trình phổ thông nước ngoài thường dễ hơn Việt Nam.

        Nên mình nghĩ bạn nên học thêm toán của lớp 4 và lớp 5 là được, nếu được thì ráng học hết toán cho đến lớp 9 luôn, toán cấp 3 thì khỏi, và một môn quan trọng khác nữa là tiếng Anh, bạn chỉ cần đạt TOEIC 500 là đủ rồi.

      2. duc

        lập trình của máy dệt dây thun chữ là lập trình gì vậy ạ … e là kĩ thuật máy dệt … e muốn học lập trình trên máy dệt vi tính đài loan nhưng không biết đó là kiểu lập trình gì… a có thể giải thít và tu van cho em biết nên học khóa lập trình nào được không … nếu được thì cảm ơn ạ

          1. Phở Code Admin

            Đó là một chuyên ngành của các ngành “Công nghệ thông tin”, “Điện-Điện Tử”, “Tự động hóa” và “Điện tử viễn thông”, thường thì mấy trường lớn như ĐH Khoa học tự nhiên mới dạy.
            Ngôn ngữ chính là C/C++.

            Trung tâm thì mình không rành 🙂

          2. duc

            ukm .. cảm ơn anh … nhưng mất thời gian bao lâu thì ta có thể thành thạo a nhỉ

          3. Phở Code Admin

            cái đó thì tùy thuộc vào mức độ chăm chỉ của bạn, có người chỉ cần 3 tháng là thành thục, có người phải mất 3 năm 🙂

          4. duc

            ukm,,, nhưng người chưa biết gì về máy tính thì học được không ạ ..có cần đi học máy tính khôn

          5. Phở Code Admin

            có, bạn phải biết sử dụng máy tính thì mới có thể học lập trình được

Trả lời


Lưu ý: bọc code trong cặp thẻ [code language="x"][/code] để highlight code.


Ví dụ:


[code language="cpp"]


    std::cout << "Hello world";


[/code]



Các ngôn ngữ được hỗ trợ gồm: actionscript3, bash, clojure, coldfusion, cpp, csharp, css, delphi, diff, erlang, fsharp, go, groovy, html, java, javafx, javascript, latex, matlab, objc, perl, php, powershell, python, r, ruby, scala, sql, text, vb, xml.

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *