Hướng dẫn tự học lập trình online này được viết dành cho tất cả các đối tượng học sinh, sinh viên hay người ngoài ngành muốn tự học lập trình để có thể lập trình được viêc.
Ah quên, tôi tự giới thiệu: tôi là Tèo, tôi đã có “kinh nghiệm nhiều năm” trong việc tự học lập trình
Tôi thường cafe tán gẫu với bạn bè, đem các kiến thức siêu cơ bản ra đố nhau kiếm “kèo” uống cafe miễn phí. Và tất nhiên, tôi luôn là người chiến thắng .
Thế rồi tiếng lành đồn xa. Vào một đêm không trăng không sao, tôi nhận được tin nhắn dồn dập xin làm “đệ tử” của ba đứa khá khoai: Tũn, Tý và Na. Trong đó:
Tũn: đang học lớp 9 ở Nam Định, muốn học lập trình để giải cứu thế giới.
Tý: đang là sinh viên năm nhất ngành công nghệ thông tin ở một trường đại học siêu cấp Sài Thành. Vì trường dạy siêu cấp, còn Tý thì siêu thường, nên học 10 biết 1, ngày càng suy đồi, muốn bỏ tối theo sáng, học lại kiến thức để đối đầu với đám siêu cường kia.
Na: em gái hàng xóm tôi. Nó mới tốt nghiệp ngành du lịch, nhưng do đại dịch COVID-19 (vào thời điểm tôi viết bài này) nên em đó đang thất nghiệp. Không hiểu ai nói với nó bên CNTT không sợ thiếu việc, có nhiều zai đẹp, nên nó nói nó rất đam mê ngành này, xin sư phụ chỉ dạy để chuyển ngành.
Sau nhiều đêm mất ngủ, tôi thấy rằng:
Để làm lập trình, bất cứ ai cũng cần có kiến thức căn bản vững chắc trước, sau đó học các kiến thức chuyên ngành sẽ dễ dàng hơn nhiều. Tất cả những người làm lập trình giỏi mà tôi biết đều có kiến thức cơ bản rất tốt.
Ba đứa đệ tử của tôi đều ở xa nên tôi không thể dạy kèm cho tụi nó được. Thế nên tôi quyết định soạn một lộ trình học online cho tụi nó tự học theo, nhờ đó tôi có thể nhận thêm nhiều đứa đệ tử khác mà không tốn nhiều công sức chỉ bảo. Riêng em hàng xóm thì tôi quyết định 1 kèm 1 riêng. Nhé!
Để xem lộ trình như thế nào nè:
Lộ trình tự học lập trình như thế nào?
Cả ba đứa đệ của tôi dù “đam mêm” nhưng đều không hiểu nhiều về lập trình nên tôi bắt tụi nó đọc Học lập trình phần mềm là học gì? để có cái nhìn khái quát về ngành này.
Sau đó, tôi bắt mỗi đứa phải xác định: M ục tiêu học lập trình của mình là gì? Thời gian mỗi tuần bạn có thể bỏ ra học lập trình là bao lâu?
Tôi nhận được báo cáo sau 3 ngày, nội dung như sau:
Học vì đam mê: có thể tạo ra các phần mềm ứng dụng cho cuộc sống tốt đẹp hơn.
Học để đi làm có nhiều tiền: làm lập trình lương khá cao, dễ ra nước ngoài làm để kiếm tiền $ hơn so với các ngành khác.
Học để tìm zai (con bé Na): trai IT vừa hiền lành, tốt tính, lại giỏi giang, lương cao, ai mà không thích chứ!!!
Tôi hỏi cho vui thôi, chứ tôi biết tỏng chúng nó học vì đam mê rồi. Đam mêm của chúng là kiếm thật nhiều tiền!!!!
Để kiếm nhiều tiền thì phải làm lập trình tốt, để làm việc tốt cần có chuyên môn tốt, để có chuyên môn tốt cần có kiến thức nền tảng tốt.
Do đó, tôi tập trung dạy chúng kiến thức cơ bản và kỹ năng tự học, để sau khi có kiến thức cơ bản chúng có thể tự học kiến thức chuyên môn một cách nhanh và hiệu quả nhất.
Tôi xây dựng lộ trình dành cho Tý, một sinh viên trung bình và có thời gian 4 tiếng 1 ngày cho việc học lập trình. Còn với bạn, hãy lưu ý:
Bạn không phải là Tý, bạn có thể thông minh hơn Tý, có thời gian học một ngày khác Tý, nên tùy theo đó bạn linh động có thể học nhanh hay chậm hơn Tý.
Không nên học quá ít hoặc quá nhiều tiếng trong 1 ngày. Điều quan trọng là học điều độ, thời gian học lập trình hiệu quả là từ 2 đến 4 tiếng.
Nếu có nhiều thời gian, bạn hãy tìm hiểu những điều mà bất cứ sinh viên CNTT nào cũng phải làm ít nhất một là trong đời
Đây là giai đoạn bạn học các kiến thức lập trình nền tảng, kiến thức chung về CNTT và kỹ năng tự học. Sau giai đoạn này bạn có khả năng tự học một kiến thức mới một cách dễ dàng.
Bắt đầu 3 tháng đầu:
Từ tháng 3 đến tháng 6:
Mỗi ngày 3 tiếng học lập trình C++
Mỗi ngày 1 tiếng học toán rời rạc
Từ tháng 7 đến tháng 9:
Mỗi ngày học 3 tiếng Cấu trúc dữ liệu và giải thuật
Mỗi ngày học 1 tiếng CSDL
Ngoài các môn chính trên, nhiều trường đại học còn có những môn cơ sở ngành khác như: mạng máy tính, nguyên lý hệ điều hành, hợp ngữ,..
Những môn đó cũng rất hay và quan trọng, tuy nhiên chúng khá khô khan và kiến thức ít được dùng tới (nhưng khi đã dùng thì giúp giải quyết nhiều vấn đề khó) nên nếu là sinh viên các bạn có thể học ở trường, còn lại thì các bạn có thể tự học nào thấy cần thiết.
Thời gian học theo lộ trình này thực tế khá nặng, các sinh viên học ở Đại học thông thường trung bình chỉ dành ra 2 tiếng mỗi ngày cho việc học lập trình, nghĩa là họ thường hoàn thành phần kiến thức cơ bản này vào cuối năm 2 học đại học.
Giai đoạn 2: học kiến thức chuyên môn
Trong ngành CNTT, chuyên môn được chia làm các nhóm chính:
Lập trình Website
Lập trình ứng dụng và game cho các thiết bị di động Android và IOS
Lập trình phần mềm ứng dụng Desktop chạy trên Windows, Mac, Ubuntu,..
Lập trình nhúng: điều khiển các mạch/module điện tử
Bảo mật phần mềm: bảo mật website, mã hóa dữ liệu, dịch ngược phần mềm,…
Trí thông minh nhân tạo
Kiểm thử phần mềm
Lúc này Tý có hai lựa chọn:
Chọn một chuyên môn mà Tý cho rằng mình thích và muốn theo nó lâu dài, học thật nhiều tới khi đủ kiến thức làm việc rồi mới dần dần học các kiến thức khác khi có thời gian
Học mỗi chuyên môn 1 ít, chỉ học cơ bản thôi để có cái nhìn tổng quát về các chuyên môn khác nhau, sau đó chọn chuyên môn mà mình thấy mình hợp nhất rồi đầu tư thời gian học thật nhiều.
Nếu bạn không phải là sinh viên như Tý, bạn là sinh viên nhưng muốn đi làm sớm hoặc bạn đã là sinh viên năm 3 còn ít thời gian thì hãy lựa chọn phương án thứ nhất, chọn một lĩnh vựa học và đào sâu.
Như nói ở trên, tôi là Tèo, có 3 đệ tử và tôi sẽ dạy chúng học kiến thức cơ bản thật chắc rồi để chúng tự học các kiến thức chuyên môn ở các nguồn website, video, khóa học ở những nơi khác. Do đó, tôi chỉ làm các hướng dẫn cơ bản ở đây.
Các hướng dẫn học lập trình trên chúng tôi được xây dựng gồm 4 phần chính là:
Video hướng dẫn
Bài viết nội dung bài học
Bài tập trắc nghiệm và tự luận lý thuyết
Bài tập thực hành
Để học hiệu quả, bạn hãy học theo 4 bước sau:
Bước 1: Xem video hướng dẫn
Video hướng dẫn giống như một bài giảng bạn học ở trường học. Do đó, khi xem bạn cần dùng giấy bút để ghi chú lại nội dung bài học. Điều này rất cần thiết, nó giúp bạn giữ tập trung và hệ thống kiến thức tốt hơn.
Nếu trong video có phần nào chưa hiểu thì bạn có thể xem lại vài lần để rõ nội dung, nếu vẫn không hiểu bạn có thể đặt câu hỏi, Tèo sẽ cố gắng trả lời sớm nhất có thể.
Bước 2: Làm bài tập trắc nghiệm và tự luận lý thuyết
Việc làm bài tập trắc nghiệm giúp bạn kiểm tra xem có nhớ nội dung bài học hay không, bạn có thể tham khảo phần ghi chú mà bạn đã ghi.
Phần tự luận lý thuyết giúp kiểm tra bạn có hiểu bài hay không, nếu bạn không làm được thì hãy đọc lại phần ghi chú và nội dung bài học để làm.
Nếu không làm được phần tự luận lý thuyết, bạn hãy làm bài tập thực hành trước rồi mới quay lại làm phần tự luận này.
Bước 3: Làm bài tập thực hành
Làm bài tập thực hành giúp bạn vận dụng kiến thức vừa học để giải quyết các bài toán đặt ra. Phần này giúp bạn nhớ và hiểu sâu hơn bài học.
Khi làm xong bài, bạn hãy so sánh bài làm của bạn với bài làm mẫu để rút ra ưu và nhược điểm của mỗi cách làm. Bước này cực kỳ quan trọng, nó giúp bạn tự đánh giá khả năng của mình, khắc phục nhược điểm và học hỏi cái mới.