Nếu bạn đang tìm đến Cách học lập trình Java hiệu quả thì mình đoán rằng bạn mới bắt đầu tìm hiểu về ngôn ngữ lập trình, đặc biệt là Java. Bài viết trình bày giới thiệu tổng quan về ngôn ngữ lập trình Java, phương pháp học lập trình Java hiệu quả hoặc bất kỳ ngôn ngữ lập trình...
Trang 15 Cách học Lập trình JAVA hiệu quả,
"Chính Đạo" như Chuyên gia
Nếu bạn đang tìm đến Cách học lập trình JAVA hiệu quả thì mình đoán rằng bạn mới bắt đầu tìm hiểu về ngôn ngữ lập trình, đặc biệt là Java
Vậy thì trước tiên hãy xem giới thiệu tổng quan về ngôn ngữ lập trình Java nhé:
JAVA là ngôn ngữ lập trình phổ biến nhất, giữ vị trí TOP1 ngôn ngữ lập trình
trong rất nhiều năm JAVA được sử dụng đặc biệt trong các ứng dụng web
Client - server và không chỉ có thế, hiện tại, có hơn 9 triệu lập trình viên
Java trên toàn thế giới
Là một người yêu thích lập trình, mình có một tình yêu đặc biệt dành cho Java Dựa trên kinh nghiệm của mình trong ngôn ngữ lập trình này cùng với nhiều lần thất bại trong việc cố gắng chinh phục ngôn ngữ Lập trình
Hôm nay mình xin chia sẻ "5 Cách học Lập trình Java hiệu quả" theo phương pháp "Chính Đạo" để bạn trở thành chuyên gia (Chứ không phải chỉ để bạn qua môn)
Trang 2
5 cách học lập trình Java hiệu quả và cả các ngôn ngữ lập trình khác
Học Lập trình Java hiệu quả hoặc bất kỳ Ngôn ngữ Lập trình nào bằng 5 cách sau:
1 Học chắc Khái niệm cơ bản của Java và Nắm được cách vận dụng chúng
Học lập trình Java chỉ thực sự khó khăn nếu bạn thực sự chưa từng sử dụng
bất kỳ ngôn ngữ lập trình nào trước đây
Đối với bạn, về cơ bản đó là bắt đầu từ con số 0 tròn trĩnh
Để tránh lãng phí thời gian và bối rối khi mặt khi nhìn vào các dòng code, hãy bắt đầu học các Keyword trong Java, tìm cách hiểu chức năng của nó chương trình Java
Trang 3
Học vững các khái niệm cơ bản, keyword trong Java
Một dự án Java có thể có đến hàng nghìn, chục nghìn thậm chí trăm nghìn dòng code Nhưng nó chỉ lặp đi lặp lại vài chục Keyword mà thôi
Hiểu được các Keyword bạn sẽ tự tránh được câu hỏi 'Cái mẹ gì thế
này?' và các bước tiếp theo sẽ khá là dễ thở
Ở bước này mình khuyên bạn nên học theo series Hướng dẫn Lập trình Java trên W3Schools Trang web hướng dẫn lập trình này là của tổ chức World
Wide Web Consortium (Viết tắt là W3C)
Dành cho những ai chưa biết W3C, theo Wikipedia:
World Wide Web Consortium, viết tắt là W3C, đây một hiệp hội lập ra các chuẩn
cho Internet, nhất là cho World Wide Web Chủ tịch của W3C là Ngài Tim Berners-Lee, người sáng tạo ra HTTP (HyperText Transfer Protocol) và HTML (HyperText Markup
Language) Internet phổ biến là dựa trên các kỹ thuật đó
Chính vì đây là một hiệp hội có uy tín bậc nhất thế giới, các hướng dẫn ở đây đều là chuẩn nhất và cập nhật tốt nhất
Ngôn ngữ diễn đạt ở đây cũng rất trong sáng, dễ hiểu Mặc dù viết bằng
Trang 4tiếng Anh nhưng bạn chỉ cần vốn tiếng Anh cơ bản là có thể đọc hiểu.
#TIP: Cách học Lập trình mà không biết tiếng Anh (Không cần biết tý tẹo gì luôn)
Xin lưu ý: Đây là cách học của mình
"Lấy số lượng bù chất lượng"
Vì kể cả bạn có khá tốt tiếng Anh giao tiếp thì bắt đầu học Lập trình cũng khá vất, vì có nhiều từ ngữ chuyên ngành
Đây cũng là vấn đề của mình Thậm chí mình còn rất gà tiếng Anh cơ
Và cá nhân mình thấy tiếng Anh cực kỳ quan trọng cho việc phát triển của sau này Vì thế: "Không học bây giờ thì BAO GIỜ???"
Và mình đã tìm ra các giải quyết Cố gắng vừa đọc và vừa dịch bằng
Extension dịch
Bạn hãy cài đặt Extension Translator trên Chorme Store để có thể dịch trực tiếp trên trang (Bôi đen và nhấn dịch) Với khả năng dịch của Google hiện tại kết hợp với ngôn ngữ trong sáng được W3C trau chuốt thì tỷ lệ chính xác
là gần như > 90%
Tuy nhiên, Hãy cố gắng dịch từ sau đó tự diễn giải cả câu Không nên dịch
cả câu vì chính nó sẽ làm bạn lười
Theo kinh nghiệm của mình thì mới đầu sẽ rất chậm, tuy nhiên mình đang dạy bạn cách để học "Chính Đạo" Bất kỳ người Giỏi nào cũng học từ con số
0 và bắt đầu chậm vì thế đừng ngại
Tùy từng người mà có tốc độ thay đổi khác nhau Cá nhân mình thì thấy khi làm theo cách này, đến hết phần HTML và 1 nửa phần CSS (Mình lựa chọn học HTML, CSS trước) thì khả năng tự đọc mà không cần extension dịch của mình thay đổi bất ngờ
Khi sang series Java thì mình đã có thể tự đọc và hiểu ý chính, chỉ có một vài từ mới thì cần phải dịch thôi
Bạn thử kiên trì thử xem, sẽ đến lúc bạn nhận ra "Tích lũy đơn thuần về lượng đến một mức độ nhất định sẽ thay đổi về chất" là như thế nào ( :D Đây
Trang 5là triết học đó Nhưng mà mình đã nghiệm chứng rằng nó đúng)
2 Thực hành viết code Java ngay lập tức
Thực hành viết lại những dòng code Java, cách sử dụng Java Keyword bạn đã học được ngay lập tức
Khi bạn học theo series Java trên W3C thì bạn sẽ có ngay các ví dụ mã hóa bên cạnh để mô tả, minh họa cho khái niệm, cách hoạt động đó
Có những ví dụ rất đơn giản nhưng nhiều người thường bỏ qua không làm lại vì nghĩ mình biết rồi làm làm gì
=>> Đây là suy nghĩ sai Lầm
Bạn có biết các võ sư Karate luyện tập cả đời những đường võ cơ bản để làm gì không?
Càng là cao thủ thì họ càng luyện tập đường võ cơ bản nhiều Đây chính là nguyên lý xây móng Bạn xây càng vững thì bạn lên được càng cao Bạn luyện tập cơ bản càng tốt thì ra chỉ 1 đấm cũng đã giết được đối thủ (Như Saitama trong One Puch Man vậy :D)
Và như Lý Tử Long cũng từng nói:
Tôi không sợ người luyện tập tung 10.000 cú đá 1 lần, tôi chỉ sợ người luyện 1 cú đá 10.000 lần
Và để chứng minh cho bạn thấy thì thực sự có một Trường phái học Lập
trình rất nổi tiếng như vậy đó chính là Code Kata:
Mỗi Kata là giống một bài tập trong karate nơi bạn lặp lại cách hoàn thành một bài tập nhiều lần, nhiều lần, thực hiện những cải tiến nhỏ trong mỗi bài
Tuy nhiên, Code Kata thì hơi nằm rộng hơn Java một chút, nó thiên về Lập trình chung Bạn mới bắt đầu, thì có thể bắt đầu với các thử thách tại Code Wars (Đây cũng là một trang web training theo Phương pháp Kata)
Hoặc đơn giản nhất: Cố gắng Viết lại các ví dụ Java trên W3C ít nhất 7 lần để
đủ ghi nhớ, 21 lần để thực sự quen thuộc
Note: Mình dám cá rằng, nếu bạn chỉ đọc hiểu thì kể cả ví dụ đơn giản như
Trang 6xuất chuỗi ra màn hình thôi bạn sẽ cảm thấy lóng ngóng, gượng gạo khi gõ code
Không nhất thiết phải ngồi code các đoạn dài dòng và phức tạp, chỉ cần thực hành lại những vấn đề đơn giản cơ bản nhất với người mới bắt đầu, như:
- Nhập số và xuất ra những gì bạn đã nhập
- Xuất ra một từ hoặc câu nhất định bằng System.out.print(), đây là hàm được xây dựng trước
Mục đích của việc này là để bạn có thể xem cách Java hoạt động như thế nào, ghi nhớ cú pháp, chuyển từ hiểu được thành làm được
Bất cứ khi nào bạn nhìn thấy một đoạn code hoàn chỉnh trên bất kỳ tài nguyên hay cuốn sách Java nào
Hãy viết lại và chạy lại nó bằng Phần mềm Lập trình Java nào đó mà bạn thích Có thể bằng Notepad, Eclipse hoặc Netbeans
>>> Tham khảo Cách cài đặt Netbeans (Vì mình đã viết hướng dẫn cài đặt Netbeans cho Lập trình PHP, Cài đặt Netbeans để Lập trình Java cũng tương tự)
Dĩ nhiên, để chạy được Java trước đó thì bạn phải Cài đặt Java và cài đặt
Chỉ cần làm như vậy cho đến khi bạn cảm thấy thực sự tự tin chuyển sang level tiếp theo
Tiếp theo, đây là một điều cực kỳ quan trọng
3 Hãy Học Thuật toán một cách cẩn thận
Trang 7Học thuật toán giúp học Java tốt hơn
Sai lầm rất nhiều Lập trình viên khi nhận được bài toán là: Hì hục ngồi gõ code ngay!
Đối với bài toán đơn giản thì có lẽ không vấn đề gì Nhưng cứ theo thói quen như vậy thì khi gặp bài toán có độ phức tạp cao thì "Chết, chết dí" luôn
Hơn nữa, mình đang hướng dẫn bạn "Học Lập trình Java hiệu quả, 'Chính
Đạo'" chứ không phải chỉ bạn cách ăn xổi
Quan điểm là chỉ bạn để bạn có thể tự đi xa, tiến xa trên con đường Lập trình Vì thế mình chân thành khuyên bạn "Hãy học Thuật toán cẩn thận"
Học cách Tiếp nhận bài toán -> Sau đó vẽ Sơ đồ thuật toán -> Rồi mới
ngồi Code theo Sơ đồ thuật toán
Việc rèn luyện lập trình theo Quy trình 3 bước đơn giản như thế này thường xuyên giúp huấn luyện não của bạn quen với việc giải quyết bài toán từ đơn giản đến phức tạp
Chia tách bài toán thành những vấn đề nhỏ và giải quyết tuần tự
Trang 8Đến khi bạn đã quen với việc vẽ Sơ đồ thuật toán thì: Ngôn ngữ Lập trình chỉ là công cụ để bạn giải quyết vấn đề
Đây cũng là phương pháp mà NIIT - ICT Hà Nội thực hiện để giúp các học viên nắm vững ngôn ngữ Lập trình Java
Khi gặp một bài toán, bạn sẽ được hướng dẫn vẽ Sơ đồ thuật toán lên bảng, khi Sơ đồ thuật toán đã đúng, viết code chỉ là công việc cuối cùng
Giải quyết bài toán bằng Sơ đồ thuật toán trong khóa học Lập trình Java Web tại NIIT -
ICT Hà Nội
Trang 9Chuyên gia Mai Văn Hà đang giúp các bạn học viên hiểu cách từng bước giải quyết
mọi bài toán bằng Sơ đồ thuật toán
Trang 10Sơ đồ thuật toán tìm số lẻ nhỏ nhất trong Mảng Note: Sơ đồ thuật toán này chưa tối ưu Bạn có biết còn thiếu chỗ nào
không? Hay bạn biết phương pháp nào tối ưu hơn? Hãy chia sẻ trong phần bình luận nhé
Trang 11Nếu code của bạn không chạy hoặc không tối ưu Việc của bạn là so sánh xem code của bạn đã viết theo đúng thuật toán chưa
Thuật toán không sai, có nghĩa là code của bạn có vấn đề
Cách học lập trình, giải quyết vấn đề bằng Sơ đồ thuật toán như vậy giúp bộ não bạn được huấn luyện tuần tự, tìm ra giải pháp rõ ràng trước khi đánh vật với mớ code bòng bong
Việc viết Thuật toán trước sau đó mới ngồi code còn giúp bạn giảm Bug, tối ưu
hiệu năng cho chương trình của bạn
Hiệu quả của phương pháp này thực sự rõ ràng khi bạn gặp một vấn đề phức tạp Và khi không có sự trợ giúp của Thầy hoặc Mentor nào đó thì bạn cũng biết cách để từng bước giải quyết bài toán
• Xem Ngay: Học vững chắc căn bản Lập trình với Khóa Học Lập Trình
Java Hướng Đối Tượng tại NIIT - ICT Hà Nội
Note: Đừng coi thường các môn học cơ bản trong trường Đại học Nhiều môn học đã được nghiên cứu kỹ càng, khoa học, được chọn giảng dạy là có
lý do của nó "Hãy học để đi xa, đừng học để qua môn"
4 Học và Fixbug Java trên giấy
Trang 12
Học lập trình Java bằng cách Fixbug trên giấy
Cách này mới chính là cách tuyệt vời nhất cho người mới bắt đầu
và cũng là cách tốt nhất để trở thành một chuyên gia lập trình
Viết code trên giấy và sửa nó, khi nào bạn chắc chắn nó đã đúng thì chạy lại trên máy
Việc này sẽ hạn chế việc sử dụng những extension hỗ trợ lập trình (Giợi ý keyword, gợi ý cú pháp, phát hiện lỗi, gợi ý cách sửa lỗi)
Khi không sử dụng công cụ hỗ trợ lập trình, não bạn bắt buộc phải "Suy nghĩ
như trình biên dịch"
Hiểu được code của bạn trên giấy sẽ khá khó khăn ở thời gian đầu nhưng khi bạn đã quen thuộc
=> Bạn sẽ học lập trình nhanh hơn bất kỳ ai
Note: Bạn có công nhận các lập trình viên ngày xưa rất giỏi không? Họ giỏi cũng vì một phần họ bắt buộc phải suy nghĩ và giải quyết bài toán mà
không có sự trợ giúp bằng công cụ thông minh nào
Trang 13Note: Nếu không thích giấy thì bạn cũng có thể viết code bằng các trình soạn thảo như Notepad, Notepad ++ hoặc bất kỳ trình soạn thảo đơn giản nào (Thậm chí là Word)
5 Đọc bất kỳ nguồn tài liệu nào, càng nhiều càng tốt
Dĩ nhiên là các tài liệu, bài viết về Java trên các địa chỉ uy tín
Bạn có nhớ ở trên mình đã nói tích lũy đủ về lượng sẽ thay đổi về
chất không? Cách bạn đọc ở đây giống như bạn đọc tin tức giải trí hàng ngày vậy
Đây cũng có thể coi là phương pháp "Học Ngu" vì bản chất "Học Giỏi" thì chỉ dành cho thiên tài học 1 hiểu 100 thôi ( =)), đùa một chút Không ai trở
thành thiên tài mà không khổ luyện cả)
Nếu bạn đã không phải là thiên tài từ khi sinh ra thì hãy "Học Ngu" Cố gắp đọc nhiều nhất có thể, thu nhặt từng chút một 10 bài không đọng lại cái gì thì 20, 30 bài cũng sẽ làm bạn hiểu ra vấn đề
Và tất nhiên, đến bước này thì bạn cần phải đi qua 4 cách trên để bạn có thể hiểu được phần nào các bài viết, vấn đề họ đang trình bày, giải thích
Bạn hoàn toàn có thể tìm các nguồn trên mạng, sách, video có rất nhiều
và miễn phí, bạn tha hồ mà lựa chọn
BONUS:
- Git và GitHub là thứ bạn nên tìm hiểu để quản lý Source code của bạn tốt nhất
- Cách học lập trình tốt ai cũng nói là học và làm thực tế Nhưng thực tế như thế nào thì ít người chỉ được rõ ràng
>> Mình sẽ bật mí cách mình tăng cường kỹ năng lập trình Java của mình
Đó chính là cách Fixbug của người khác
Bạn có thể vào các diễn đàn về lập trình như Stack Overflow, theo dõi
hashtag JAVA và cố gắng trả lời bất kỳ câu hỏi nào bạn có thể Bạn sẽ thấy
Trang 14khả năng của mình tăng vù vù sau vài trăm câu trả lời ngay
tiếp theo, dấn thân vào con đường lập trình như là quá trình bơi ngược dòng Chỉ có tiến lên hoặc bị đào thải (không có đứng im)
Vì thế trên Con đường Học Lập trình (Không chỉ là Học Lập trình Java) phải xác định học theo Chính đạo, học "Chắc chắn", vững kiến thức để khả năng mở rộng dễ dàng
Do đó, mình khuyên bạn:
Phải đọc 4 cuốn sách Java này nếu muốn trở thành Học Lập trình Java hiệu quả hơn
# Đọc cuốn Sách Java số 1: Head First Java
Mình khuyên bạn nên bắt đầu với Head First Java Mình đã làm như vậy vào khoảng 13 năm trước và mình vẫn nghĩ đây là cuốn sách hay nhất để bắt đầu học Java
Trang 15
Cuốn sách học lập trình Java tốt nhất - Head First Java
Đây không phải là cuốn sách khô khan như sách giáo trình của bạn đâu
Cuốn sách Head First Java sẽ khiến bạn thấy việc học Java thực sự là thú vị
Cuốn này cũng giúp bạn tăng nhiều nghìn đô thu nhập hàng tháng của bạn đấy
#Đọc cuốn sách Java số 2: Java by Comparison
Tiếp theo, mình thẳng thắn khuyên bạn nên đọc cuốn sách Java: Java by Comparison.
Học lập trình Java tốt hơn bằng cách so sánh với cuốn sách Java by Comparison
Các sinh viên biết cơ bản về Java để viết các chương trình đơn giản
nhưng thiếu thực hành và thiếu một người cố vấn có thể hướng dẫn họ hướng tới code sạch hơn và dễ đọc hơn
Cuốn sách này chính là giải pháp lấp đầy khoảng trống thực hành của sinh
Trang 16viên Nó có tính năng độc đáo trước / sau khi tiếp cận so sánh Code
tệ với Code tốt hơn
Vì vậy, chỉ bằng cuốn sách này bạn có thể tìm hiểu từng bước để chuyển đổi từ Lập trình viên Java tệ thành Lập trình viên Java tốt hơn
#Đọc cuốn sách số 3: Cuốn Effective Java
Bây giờ, chúng ta chuyển sang cuốn sách trên Java, cuốn sách theo phong cách cổ điển cung cấp những cách sử dụng Java đúng đắn, hiệu quả: Effective
Java.
Học sử dụng Java đúng đắn, hiệu quả với cuốn sách Effective Java
Cái tên đã nói lên tất cả Cuốn sách Java này chỉ đơn giản là bắt buộc phải
đọc khi bạn muốn tự gọi mình là một Lập trình viên Java chuyên nghiệp.
#Đọc cuốn sách Java số 4: Head Frist Desing Patterns
Trang 17Khi chương trình Java của bạn bắt đầu trở nên lớn hơn, bạn sẽ bắt đầu cảm thấy đau khổ khi tổ chức mã của bạn theo các method, class và package
Lúc này, cái bạn cần chính là tìm hiểu về thiết kế phần mềm Mình đã bắt đầu cuộc hành trình này với cuốn Head First Design Patterns
Cuốn sách Head First Design Patterns
Cuốn sách này có phong cách học tập rất thú vị tương tự như Head First Java nhưng tập trung vào cách thiết kế và thay thế các class
Cách học Lập trình Java ở tại NIIT - ICT Hà Nội như thế nào?
Nếu bạn đã đọc đến đoạn này thì chắc chắn bạn cũng hiểu, học lập trình là con đường khá là dài và vô tận Học lập trình Java cũng vậy
Nhưng đặc điểm của học Lập trình là bạn có thể làm được sản phẩm của mình luôn (từng Module) Dĩ nhiên chưa phải là sản phẩm hoàn thiện 100%
Ở tại NIIT - ICT Hà Nội thì dạy lập trình Java theo hướng Lập trình Java