Học Lập Trình C++ – Nên bắt đầu từ đâu.
Hello.
Chào mừng các bạn đến với chủ đề chia sẻ ngành nghề.
Bài viết ngày hôm nay sẽ chia sẻ cho rất nhiều bạn luôn đặt câu hỏi thắc mắc đó là:
Nếu học lập trình thì nên bắt đầu từ đâu.
Và để trả lời cho câu hỏi đó, tôi sẽ lấy một ví dụ cụ thể đó là.
Nếu bạn chọn C++, bạn sẽ bắt đầu từ đâu.
1. Những vấn đề mà bạn gặp phải.
– Việc chọn ngôn ngữ học cũng là một vấn đề đau đầu nan giải dành cho các bạn.
– Giả sử như các bạn chọn được ngôn ngữ c++
– Vậy thì sau đó những vấn đề các bạn gặp phải là gì.
=> Em nên học ở trang nước ngoài hay các trang việt nam ?
=> Em có nên đăng ký khóa học hay không, hay tự học trên google ?
=> Em nên học trong sách hay học các video trên mạng
=> Em nên học lý thuyết trước hay cứ thực hành trước, hay song song.
2. Chia sẻ của tôi.
– Theo cá nhân của tôi.
+ Bạn mới lần đầu học lập trình, thì bạn nên học ở các tài liệu tiếng việt,
vì có nhiều khái niệm, thuật ngữ mà ngay cả tiếng việt các bạn đọc còn thấy khó hiểu trừu tượng nói chi đến tiếng anh.
bạn học các tài liệu tiếng anh có thể cảm giác tin tưởng, chất lượng, nhưng chưa chắc đã hiệu quả.
Vì bạn phải mất thời gian đọc dịch tiếng anh, nhất là khi tiếng anh của bạn chưa khá, bạn mất công tìm hiểu thuật ngữ tiếng anh đó sang tiếng việt là gì và nó ý nghĩa cụ thế thế nào.
=> Dễ gây cho bạn cảm giác nhàm chán, nản lòng, dễ bỏ cuộc.
Học lập trình bằng tiếng anh phần lớn dành cho các lập trình viên đã có kinh nghiệm.
Họ muốn nâng cao năng lực, muốn hiểu sâu hơn vấn đề hơn
Và một lý do khác thuộc về cá nhân, sở thích.
Tất nhiên nói như vậy không có nghĩa là khuyên các bạn chỉ học tiếng việt thôi.
Nếu bạn có trình độ tiếng anh khá, có sự kiên trì quyết tâm cao,
trí tuệ bạn thông minh, đọc hiểu nhanh vấn đề, thì bạn có thể lựa chọn các tài liệu tiếng anh.
+ Đăng ký khóa học có thể giúp bạn tạo được tâm lý tốt, đó là sự cam kết chất lượng,
giảng viên họ nhiệt tình, cầm tay chỉ việc, có vấn đề gì bạn có thể hỏi trực tiếp.
Nhưng tất nhiên bạn sẽ phải mất tiền chi phí, và rồi sau khi bạn học được thành thạo rồi,
bạn xem các tài liệu video trên mạng, bạn sẽ thấy là những cái mình học chẳng có gì quá cao sang,
trên mạng họ cũng dạy nhiều, sách cũng nói nhiều,
nếu mình chịu khó nghiên cứu một chút thì có khi chẳng phải đi học theo khóa học.
Nhưng đó mới chính là sự khác biệt, chỉ đơn giản là sự quyết tâm, chịu khó hay không.
* Theo cá nhân của tôi, bạn nên TỰ HỌC trước.
Khi mà việc tự học ko ổn, không thành công, bạn học mãi ko hiểu, ko làm được,
thì lúc hãy nghĩ đến việc đăng ký khóa học.
Tại sao tôi nói vậy, vì thực sự ngành lập trình phần lớn là tự học và nghiên cứu,
bạn có thể học 1 khóa cơ bản nhưng khi đi làm chẳng mấy ai làm cái cơ bản cả,
lúc ấy bạn cũng sẽ phải tự học những cái mới, những cái khó hơn rất nhiều, mà chẳng có ai dạy.
+ Học thế nào:
Bạn nên học theo các video hướng dẫn trên mạng và chọn lựa theo các tiêu chí sau:
=> có các phần đầy đủ trọn vẹn.
=> người hướng dẫn chia sẻ nhiệt tình, cách giảng cảm thấy dễ hiểu và phù hợp với bạn.
=> Video có lý thuyết và thực hành rõ ràng, có sự giải thích cụ thể.
Đọc sách đôi khi dễ buồn ngủ, và khó hiểu trong cách giải thích, demo chỉ có code mô tả, chứ không thực hành trực tiếp như các video hướng dẫn.
Học video hướng dẫn khi những bài đầu, bạn có thể hoàn toàn bắt chước theo họ, từ bước cài đặt công cụ, tạo project, viết mã code…..
Sau khi học xong hết các video của người chia sẻ, lúc này bạn mới quay lại đọc sách,
vì video có thể giải thích rõ ràng, nhanh thực hành được,
nhưng chưa chắc đã có nhiều nội dung như một tài liệu ebook.
Lý do cho vấn đề này có thể là:
việc làm một video trên youtube là rất vất vả, tốn thời gian, nên người ta chỉ cô động ở những nét chính.
3. Lộ trình học nên như thế nào.
Lập trình c++ có thể ứng dụng rất rộng rãi đa dạng vào nhiều mảng trong khoa học công nghệ và cuộc sống hàng ngày.
=> Bạn có thể sử dụng c++ lập trình cho toán học, khoa học tự nhiên, tính toán, phân tích.
=> Viết các ứng dụng windows, giao diện phần mềm, hay một phần mềm hoàn chỉnh
=> Mô phỏng đồ họa, làm game.
=> Lập trình hệ thống mã hóa.
=> Lập trình nhúng, điện tử vi điều khiển…..
Vậy thì bạn nên học thế nào để nhanh chóng nắm bắt được kiến thức.
a. Bạn hãy học từ cơ bản thông qua các video hướng dẫn, mỗi bài đều có thực hành thì hãy thực hành đầy đủ cho trọn vẹn, học từ căn bản cho đến kỹ thuật hướng đối tượng , nắm thật chắc.
Làm nhiều bài tập cơ bản để rèn luyện viết code, rèn luyện tư duy, rèn luyện cách xử lý bài toán, các tạo project trên công cụ lập trình.
b. Các bạn phải học cho được kỹ thuật debug:
Đó là kỹ thuật quan trọng cần thiết khi học lập trình mà rất nhiều bạn không quan tâm.
Viết được xử lý chương trình, viết được code và giải thuật,
nhưng khi chương trình chạy lên không đúng thì không biết cách sửa hay tìm lỗi,
mà debug hoàn toàn có thể giúp bạn làm được việc đó.
Các bạn hầu hết sẽ đưa lên group để hỏi mà ko biết rằng,
người trả lời nếu muốn tìm nguyên nhân họ cũng phải debug
c. Sau khi học xong cơ bản, em nên học gì.
– Đó là câu hỏi nhiều bạn thắc mắc, tôi sẽ phân tích theo quan niệm cá nhân thế này.
+ Nếu các bạn chọn lập trình nhúng, các bạn sẽ phải học thêm về kiến thức điện tử, vi mạch số, rất phức tạp, và muốn thực hành các bạn phải có KIT điện tử, hay các chương trình giả lập
==> bạn sẽ mất thời gian công sức khá nhiều mà chưa chak sau này đi làm bạn sẽ làm về nó.
Vậy bạn học nó khi nào?
=> Khi biết chắc mình sẽ làm về mảng đó, hay mình sẽ xin vào các công ty mảng đó.
=> Mình đam mê mảng đó, và chỉ muốn làm về mảng đó.
+ Lập trình ứng dụng windows.
Mảng này phức tạp, trừu tượng hơn một chút,
nhưng cũng có thể là đích bạn hướng đến để nghiên cứu sau khi học xong lập trình cơ bản.
=> Bạn có thể học cách viết các GUI, Giao diện cơ bản, những tool ứng nhỏ:
quản lý sinh viên, máy tính, phần mềm quản lý sản phẩm.
Về cơ bản nó giúp bạn xây dựng ứng dụng giao diện lập trình, kết hợp với các thuật toán c++ cơ bản.
+ Lập trình mã hóa số liệu, bảo mật.
Nó khá đặc thù, khó tạo cảm hứng. Trừ khi ban cũng có 2 lý do như lập trình nhúng.
+ Lập trình mô phỏng đồ họa.
Mảng này hay, hấp dẫn vì có đồ họa, nhưng khá phức tạp, khó và trừu tượng.
Để làm được một demo sản phẩm nhỏ cũng tiêu tốn của bạn khá nhiều thời gian.
Như vậy cuối cùng mình chia sẻ với các bạn nên chọn mảng Lập Trình Game
để nghiên cứu tiếp theo sau khi học căn bản tốt.
Bạn có thể tham khảo seri học lập trình game: ====> Học Lập Trình Game C++ với thư viện SDL
Lý do.
=> Làm game có đồ họa 2d, nó có tính chất vui chơi giải trí, nên sẽ làm cho bạn cảm thấy hứng thú hơn,
hãy tưởng tưởng bạn sẽ làm được 1 game trò chơi chỉ sau 2 tuần nghiên cứu,
bạn có thể khoe với bạn bè và ai cũng hiểu cái bạn đang làm.
=> Lập trình game với c++ đơn giản có thể sử dụng thư viện open source SDL.
viết code khá đơn giản không khác gì code c++ cơ bản,
không phức tạp trừu tưởng như lập trình c++ windows mfc, hay đồ họa opengl.
=> Mảng game cũng là một mảng phổ biến trong ngành công nghệ phần mềm, nên nó tạo lợi thế cho hồ sơ xin việc của bạn sau này.
=> Học lập trình game c++ với SDL, giúp bạn có kỹ năng sử dụng thư viện open source, kỹ năng lập trình hướng đối tượng được sử dụng triệt để, các thuật toán xử lý cho game như tìm kiếm, sắp xếp, cấu trúc dữ liệu.
=> Sản phẩm game cũng là sản phẩm dễ hiểu, dễ trình bày phổ biến cho mọi người,
kể cả những người không cùng ngành, họ nhìn game có thể đánh giá bạn, mặc dù mới chỉ dựa vào hình ảnh design.
Sau khi học được mảng game thành công, bạn nên học về version control, học về thuật toán dữ liệu, học về quy trình phần mềm.
Hãy đọc bài viết sau đây của tôi để biết 1 lập trình viên phải học những gì:
====> Bài viết: Lập trình viên phải học những gì.
Sau đó bạn có thể chọn các mảng khác để nâng cao trình độ hơn.
+ Lập trình ứng dụng windows, làm phần mềm, giao diện ==> Click here
+ Lập trình đồ họa mô phỏng opengl, DirectX. ==> Click here
Khi đã đến giai đoạn này, cũng là lúc bạn đã có nhiều kinh nghiệm, năng lực về lập trình, lúc đó bạn không còn hỏi câu học gì và bắt đầu từ đâu. Bạn đã có thể tự biết mình nên học gì.
Khi mà bạn đã thiết kế được 1 sản phẩm game, đó cũng là lúc bạn đã quá chín chắn với nghề,
có kinh nghiệm và sự già giặn, bạn không còn là người chập chững vào nghề.
Lúc đó bạn có thể tự mình lựa chọn mảng nghiên cứu tiếp theo mà không cần phải hỏi ý kiến ai nữa.
Ok đó là một vài chia sẻ cá nhân cho các bạn mới bắt đầu học lập trình c++ và còn chưa rõ ràng cho lộ trình học tập của mình.
ptPham
Bài viết rất hay và bổ ích
Cảm ơn tác giã, bài viết quá hay.