Có nên tự học free java basic?

Mọi thông tin liên quan đến các khoá học Java dành cho Testers.
Forum rules
Mọi thông tin liên quan đến các khoá học Java dành cho Testers.
Post Reply
tvn
Admin
Posts: 4900
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM
Contact:

Có nên tự học free java basic?

Post by tvn »

Ngày càng nhiều tester muốn chuyển hướng sang làm test automation. Bài viết này mình chia sẻ suy nghĩ cá nhân về cách tiếp cận để tìm hiểu cơ bản (học) một ngôn ngữ lập trình nào đó. Trong bài viết này, mình lấy ví dụ là java cơ bản.

Mình có thể tìm trên Google với từ khóa "khóa học java cơ bản" thì kết quả có rất nhiều thông tin được chia làm 3 phần:
1. Các khóa học online - dạng video được soạn sẵn
2. Sách hướng dẫn lập trình java - sách giấy và dạng pdf
3. Hướng dẫn từ các trang web, forum và blog cá nhân

Vậy, nếu là bạn, thì tôi sẽ chọn cách nào để đi?
Để trả lời câu này, mình sẽ tạm chia ra một số trường hợp sau tùy vào ngữ cảnh của bạn:

Trường hợp 1: Mình là "dân trái ngành" (không học Công nghệ Thông tin - CNTT)
Trường hợp này, mình sẽ chọn cách tham gia một khóa học java cơ bản tại một Trung Tâm nào đó. Nó sẽ có ích cho mình rất nhiều vì:
1. có người hướng dẫn tận tình (mặc dù cách giảng dạy có lôi cuốn, hấp dẫn, dễ hiểu hay không thì còn tùy giáo viên)
2. nếu không biết làm (thực hành trên máy) thì có người hướng dẫn ngay tại lớp
3. gặp khó khăn khi làm bài tập về nhà thì cũng sẽ có người hướng dẫn (qua hệ thống quản lý lớp học, hoặc qua nhóm Skype của lớp học như TESTING VN đang làm)

Vậy, còn bất lợi thì sao? thực ra chả có bất lợi gì hết. Nếu mình nói trả tiền (tốn học phí) và thời gian mình bỏ ra để đi học là "bất lợi" thì hoàn toàn không đúng. Chỉ có một điều bất lợi là nếu như các bạn đang đi làm, bận việc (ví dụ chăm con nhỏ) trùng với thời gian của khóa học, thì bạn phải sắp xếp chuyện cá nhân để đi học. Nó có thể làm cho bạn gặp một số khó khăn nhất định trong khoản thời gian bạn đi học. Nhưng bù lại, bạn đang đầu tư cho tương lai của mình, đầu tư cho chính bản thân bạn.

Trường hợp 2: Mình học CNTT nhưng đã đi làm trái ngành lâu rồi (ví dụ 3+ năm rồi)
Trước tiên, bạn đã từng học lập trình nhưng đã bỏ lâu rồi nên có thể đã "quên sạch". Nhưng mình tin rằng khi bạn xem lại, thì có thể bạn sẽ tiếp thu rất nhanh, vì trong tiềm thức bạn đã biết nó rồi. Trong trường hợp này, nếu là bạn, mình sẽ thử tìm một số tài liệu, video hướng dẫn học java cơ bản. Mình sẽ tự mày mò học theo đó. Sau một khoảng thời gian mình sẽ nhớ lại và có thể lập trình với java cơ bản được.

Lợi ích: Bạn không phải tốn tiền để đi học + bạn có thể tự học theo thời gian biểu cá nhân của bạn. Bạn có thể học bất cứ lúc nào bạn tập trung được.

Rủi ro: Vì bạn không phải bỏ tiền ra học nên bạn sẽ không có cảm giác "tiếc tiền" nên phải đi học (nó cũng là một cách để tạo động lực làm việc). Bạn sẽ không biết hỏi ai khi gặp khó khăn. Bạn dễ bị rơi vào trường hợp hiểu sai vấn đề nhưng vẫn tưởng là mình đang hiểu đúng (unknown unknowns). Bạn học sẽ chán hơn vì không có người trao đổi trực tiếp như trên lớp.

Trường hợp 3: Mình biết ngôn ngữ lập trình khác (ví dụ C#) chứ không rành java
Với trường hợp này, mình sẽ tự tìm hiểu và học trên mạng thông qua tài liệu, ebook hướng dẫn hoặc video miễn phí trên mạng. Trường hợp này tương tự trường hợp 2, nhưng vì bạn đã rành một ngôn ngữ, có thể nói bạn đã có và hiểu cách tư duy lập trình (kỹ thuật lập trình) nhưng bạn không biết "diễn đạt (hiện thực hóa) ý tưởng bằng ngôn ngữ java"

Lợi ích: tương tự trường hợp 2. Và, thêm một điều là bạn sẽ có thể học ngôn ngữ thứ 2 nhanh.
Rủi ro: Bạn có thể bị mất động lực học tập.

Vậy, bây giờ bạn có thể tự biết mình nên làm gì, chọn con đường nào phù hợp nhất cho mình.

Tìm hiểu khóa học java cơ bản cho testers tại TESTING VN.

Đây là một ví dụ về hướng dẫn lập trình java cơ bản hoàn toàn miễn phí.
Nội dung khóa học java cơ bản miễn phí wrote: Lessons
I. IntelliJ
1. Using IntelliJ
1.1. Downloading and Installing
1.2. Opening projects
1.3. Building projects
1.4. Windows
1.5. Running a Test
2. Debugging
3. IntelliSense

II. Java Basics
1. Java Syntax
2. Using Libraries
3. Classes And Objects In Java
4. Types And Objects In Java
5. Variables, Fields and Properties in Java
6. Methods in Java
7. Operators in Java
8. Control Flow in Java
9. Abstraction in Java
10. Encapsulation in Java
11. Inheritance in Java
12. Polymorphism in Java
13. Decomposition in Java
14. Code Comments in Java

III. JUnit
1. What is JUnit?
2. Setting up JUnit
3. Creating Tests with JUnit
4. What are TextFixtures?
5. What are Assertions?
6. What are Matchers?
7. Running Your Tests

Link đến khóa học: https://automationintesting.com/java/course/



Post Reply

Return to “Java for Testers”