Cách học lập trình hiệu quả cho người mới bắt đầu
Trang bị kiến thức nền tảng
Theo anh Nguyễn Ngọc Đỉnh, trước khi tiến xa và chạy nhanh hơn trên con đường trở thành một lập trình viên giỏi, học sinh phải chuẩn bị thật kỹ bước khởi động. Điều này nghĩa là bạn phải trang bị cho mình kiến thức nền tảng cơ bản tốt nhất.
Đầu tiên, học sinh cần nắm chắc một ngôn ngữ lập trình, sau đó có thể học các ngôn ngữ khác một cách nhanh chóng. Các môn như Nhập môn lập trình, ngôn ngữ lập trình C/C++ hay lập trình hướng đối tượng là các môn nền tảng.
Ngoài ra, lập trình là dùng máy tính để giải quyết bài toán thực tế, do đó cách tư duy lập trình, quá trình phân tích bài toán và kỹ thuật lập trình cần phải được chú trọng hơn. Viết mã lập trình bằng C hay C++ hay Java chỉ là công đoạn sau cùng của nghề lập trình.
"Không ai nấu ăn lần đầu đã giỏi, phải nấu đi nấu lại nhiều lần, qua nhiều lần thất bại mới có món ăn ngon. Để có được tư duy lập trình tốt, kỹ thuật lập trình và khả năng giải quyết bài toán tốt thì không gì khác ngoài thực hành", chuyên gia Ngọc Đỉnh nhấn mạnh.
Kỹ năng tự học, tư duy lập trình
Bên cạnh trang bị kiến thức chuyên môn thì kỹ năng tự học là yếu tố quan trọng trên con đường trở thành một lập trình viên chuyên nghiệp. Ngành công nghệ thông tin thay đổi từng giờ, từng ngày, nên những kiến thức của hôm nay sẽ nhanh chóng không còn phù hợp vào ngày mai.
Do đó, trang bị cho mình khả năng tự học là điều tất yếu để nâng cấp bản thân, và thăng tiến trong nghề nghiệp. Theo chuyên gia, luôn có ít nhất 2 cách lập trình cho cùng một bài toán. Bạn phải học hỏi không ngừng để tìm ra cách tốt nhất. Nếu không có khả năng tự học, bạn sẽ tụt hậu và bị bỏ lại phía sau.
Tư duy lập trình là cách bạn suy nghĩ giải pháp cho bất kỳ bài toán cụ thể nào. Đây là bước quan trọng nhất khi lập trình. Có giải pháp tốt và chính xác thì việc lập trình sẽ dễ dàng và tạo ra ít các lỗi trong chương trình.
Tư duy lập trình cần phải rèn luyện thông qua thực hành. Bạn phải code để tích lũy các tình huống, các lối suy nghĩ khác nhau cho cùng một đáp án. Mỗi lập trình viên sẽ có cách riêng của mình để viết nên một chương trình, đó là phong cách riêng và tạo nên sự khác biệt của cá nhân.
"Đọc một lần bạn có thể chỉ hiểu một, nhưng code một lần bạn sẽ hiểu ba. Hãy thực hành để những dòng code của bạn được chạy. Mỗi lần code sẽ giúp tư duy lập trình của bạn tốt hơn một cách tự nhiên, hiểu được tính logic của dòng code. Tất nhiên nó chỉ hiệu quả khi bạn tự ngồi gõ lại", chuyên gia Nguyễn Ngọc Đỉnh nhấn mạnh.
https://vnexpress.net/cach-hoc-lap-trinh-hieu-qua-cho-nguoi-moi-bat-dau-4091575.html
https://www.slideshare.net/huyrua773/01-cac-khainiemcobanvelaptrinh
SERIES NHẬP MÔN LẬP TRÌNH – CON ĐƯỜNG NÀO CHO CÁC BẠN TỰ HỌC LẬP TRÌNH?
Ở bài trước, mình đã nói về hai con đường để trở thành lập trình viên: Đại Học và Học Đại.
So với việc học Đại Học, con đường tự học – học đại có nhiều thử thách và gian nan trắc trở hơn nhiều. Do vậy, mình dành nguyên bài viết này để định hướng, chia sẻ về con đường dành cho các bạn muốn tự học lập trình. Hi vọng chúng sẽ có ích cho bạn.
Xác định lý do muốn học lập trình
Đầu tiên, phải xin cảnh báo trước với các bạn là việc học và việc lập trình không hề dễ dàng. Chuyện tự học lại càng khó khăn hơn và không phải ai cũng có thể theo đến cùng.
Kiến thức lập trình phức tạp, khó tiếp thu. Khối lượng kiến thức nhiều lại hay thay đổi. Đây là lý do mà nhiều bạn dễ cảm thấy nản lòng, muốn bỏ cuộc khi đang học.
Do đó, mình nghĩ trước tiền các bạn nên xác định lý do mình muốn học lập trình: vì đam mê với IT, học để khởi nghiệp, học để làm ra sản phẩm đổi đời. Khi có ý định bỏ cuộc, hãy nghĩ đến lý do tại sao mình bắt đầu học.
Ngoài ra, việc xác định lý do học sẽ giúp bạn dễ dàng lựa chọn lộ trình học hơn. VD bạn muốn làm web thì chỉ cần học về web, muốn làm app di động thì chỉ cần học kĩ về di động, không phải lan man học đại trà.
Lựa chọn một con đường để đi
Để có thể đi làm, lập trình ra một thứ gì đó, hầu như lập trình viên nào cũng trải qua những giai đoạn sau:
- Nhập môn: Chọn một ngôn ngữ nào đó (C, C++, Python) để nhập môn, hiểu các khái niệm cơ bản trong lập trình (biến, hàm, con trỏ, module). Giai đoạn này mất khoảng 1-2 tháng.
- Nhập môn sâu hơn: Học C++ hoặc Java/C# để tìm hiểu về các khái niệm OOP, về cấu trúc dữ liệu và thuật toán. Ngoài ra, bạn còn phải học về cách thiết kế database và cách chúng hoạt động. Giai đoạn này cũng mất khoảng 1-2 tháng.
- Những giai đoạn về sau mất từ vài năm cho tới vài chục năm để thành thục.
- Chuyên sâu về ngôn ngữ: Sau khi đã nắm các khái niệm cơ bản, các bạn bắt đầu tìm hiểu chuyên sâu một ngôn ngữ nào đó: Ngôn ngữ đó điểm mạnh điểm yếu gì, làm được những gì, cách thiết kế code, cách viết hàm ra sao. Bạn cũng phải tìm hiểu về hệ sinh thái của ngôn ngữ đó (C# thì đi với Window, MS SQL và VS, PHP thì đi với Linux, MySQL, ….)
- Kiến thức nâng cao: Mỗi ngôn ngữ đều đi cùng với nhiều framework và thư viện. Phải có những kiến thức nâng cao này thì bạn mới có thể xin việc làm, làm được việc.
- Bạn chọn Java Web, bạn phải biết về Struts, Hibernate…
- Theo Android thì phải rành Java, hiểu rõ về LifeCycle của app Android, các khái niệm như Acitivty, Fragment,…
- Theo C# thì bạn phải biết ASP.NET MVC, Entity Framework…
- Kiến thức phụ thêm: Kiến thức về cách dùng Git/SVN, về HTTP và AP Về cách viết code, về kiến trúc phần mềm, caching….
Mình khuyên các bạn tự học cũng nên đi theo hướng tượng tự. Hãy xác định thứ mình muốn học rồi tìm tài liệu “nhập môn lập trình” để học những thứ cơ bản trước, sau đó học dần lên.
Điều quan trọng ở đây là các bạn phải rèn cho mình thói quen học tập, có thói quen, bạn sẽ không dễ dàng bỏ cuộc giữa chừng.
Tìm kiếm tài liệu và chọn cách học
Tài liệu học lập trình tiếng Việt khá ít và hơi lộn xộn, chủ yếu là bài tập. Do đó mình khuyên các bạn nên tìm tài liệu tiếng Anh để học, sau này cũng cần dùng tiếng Anh nhiều, học từ bây giờ sẽ tốt hơn.
Dưới đây là một số tài liệu dạng nhập môn cơ bản:
- JS For Cat (miễn phí):. Giải thích các khái niệm lập trình một các vô cùng dễ hiểu (mèo cũng hiểu)
- The C Programming Language: Quyển sách kinh điển về lập trình C
- Learning to Program: Một cuốn sách khá hay cho các bạn nhập môn lập trình.
- Head First Programming: Nhập môn lập trình bằng ngôn ngữ Python. Sách rất hay với nhiều ví dụ hình ảnh minh hoạ sống động.
Ngoài ra, các bạn có thể học một số khoá free tại các trường dạy code online như khanacademy, udacity, codeacademy. Bonus: Đây là link 515 khoá học lập trình online miễn phí của các trường đại học danh giá https://medium.freecodecamp.com/515-free-online-programming-computer-science-courses-you-can-start-in-april-8b0ce1817d61
Bản thân mình không khuyến khích các bạn sưu tầm tài liệu. Dân VN mình có sở thích tải rất nhiều tài liệu, sách vở về nhưng… để đó không bao giờ đọc.

Ở giai đoạn đầu, các bạn hãy chịu khó… làm bài tập. Việc ngồi làm bài tập, ngồi gõ code là cách hay nhất để các bạn nhớ syntax của một ngôn ngữ, nhớ cách gọi hàm, luyện thói quen viết code, tự học cách sửa các lỗi hay gặp.
Hoặc nếu lên một số trang như codeacademy, codeschool, các bạn sẽ được học một cách interactive. Tức là thay vì chỉ đọc và nghe, bạn sẽ được code từng bước theo hướng dẫn. Hệ thống sẽ chấm ngay cho bạn, báo cho bạn biết chỗ sai để mà sửa.
Cách học lập trình tốt nhất vẫn là … làm. Sau khi đã quen với một ngôn ngữ, việc làm bài tập sẽ không giúp ích nhiều cho bạn nữa. Để tăng tư duy lập trình, hãy tự đặt ra cho mình một dự án nho nhỏ: ứng dụng tính tiền hoặc quản lý thời gian, web bán hàng v…v.
Bạn sẽ thấy mình học được nhiều thứ hơn sơ với việc ngồi giải bài tập nhiều.

Lời kết
Điều cuối cùng mình muốn khuyên các bạn là: lên kế hoạch ít thôi, đừng quá phí thời gian cho việc lên kế hoạch và trì hoãn mà hãy cắm đầu vào làm ngay đi!
Sau khi đọc xong bài này, hãy lập tức làm theo 4 bước sau:
- Xác định mình muốn học gì, làm gì
- Xác định sơ lộ trình học
- Cắm đầu vào học, sau đó tìm tài liệu dần và cập nhật lại lộ trình
- Áp dụng kiến thức đã học vào để code ra một cái gì đó.
Khi đã thành thạo những thứ cơ bản, bạn hãy chuyên sâu vào một ngôn ngữ nào đó và bắt đầu dùng nó để làm các dự án nho nhỏ. Đừng quá quan tâm lo sẽ học sai ngôn ngữ, ngần ngừ đắn đo quá lâu, developer giỏi nào cũng biết vài ngôn ngữ.
Cứ đi đi, rồi sẽ thành đường thôi, lâu lâu có bị hơi lạc hướng thì cứ quay lại làm theo kế hoạch do chính mình đề ra nhé! Chúc các bạn may mắn.

Một số link để tham khảo thêm
- https://simpleprogrammer.com/2016/08/29/learning-programming-teaching-yourself/
- http://lifehacker.com/5401954/programmer-101-teach-yourself-how-to-code
- https://www.quora.com/Whats-the-best-book-for-learning-to-program
- https://www.wunderlist.com/blog/Landing-your-dream-job/
- http://youngnprogramming.com/computer-science-self-study-guide/



.png)



0 Comments