10 Trang web dạy lập trình trực tuyến mà bạn nên biết


Bài viết được dịch từ Hongkiat.com

Đã qua rồi cái thời mà các ngôn ngữ lập trình chỉ dành cho những lập trình viên bậc thầy giống như Bill Gates, người mà sau đó đã thống trị toàn thế giới bởi hệ điều hành Windows của mình. Bây giờ thì bất cứ ai cũng có khả năng, cơ hội để học và thành thạo các ngôn ngữ lập trình một cách dễ dàng. Hôm nay, chúng tôi sẽ cung cấp cho bạn danh sách 10 trang web học trực tuyến sẽ giúp bạn làm điều đó.

Tôi nên học lập trình ở đâu?Những trang web dạy lập trình theo phương pháp tương tác giúp người học tiếp thu kiến thức rất hiệu quả.


Đúng vậy, hãy quên đi những cài đặt phức tạp với dòng nhắc lệnh đen ngòm và lạnh lùng khiến bạn chỉ muốn ngừng học ngay trước khi bắt đầu, và nói xin chào tới 10 trang web với những bài giảng tương tác nhanh sẽ dạy bạn về các ngôn ngữ lập trình như HTML, CSS, PHP, Ruby và thậm chí cả iOS. Bạn sẽ được học từ những giáo trình, video và thậm chí là cả những bài thực hành tốt nhất từ những chuyên gia danh tiếng trong ngành.

Hãy bắt đầu con đường mới của bạn để tiến vào thế giới lập trình ngay hôm nay nhé!

1. Codecademy

Codecademy rõ ràng là trang web nổi tiếng nhất trong việc dạy bạn học lập trình thông qua tương tác, giao diện trang web rất chuyên nghiệp và các khóa học thì được thiết kế rất tốt. Ngay khi bạn ghé thăm trang chủ, bạn đã có thể bắt đầu cảm nhận được cái phong thái lập trình ở đây, bằng một cửa sổ dạng console để thôi thúc bạn. Bạn hãy chọn một khóa học mà Codecademy đưa ra gồm Web cơ bản, PHP, JavaScript, jQuery, Python, Ruby và các API.

codecademy

Bên trong mỗi bài học thì giao diện sẽ chia làm hai phần, phần bên trái sẽ giải thích những kiến thức cần thiết và có những chỉ dẫn. Phần bên phải sẽ cho phép bạn gõ những dòng code của mình, sau đó cho phép bạn kiểm tra xem liệu đã viết đúng hay chưa. Đừng lo lắng về việc gõ sai, cả hai thanh panel chỉ dẫn và lập trình nói trên sẽ cảnh báo những lỗi dùm bạn, và cung cấp những hướng dẫn để bạn có thể sửa lỗi. Học kiểu này cũng giống như là đang có một giáo viên thực thụ đứng bên cạnh dạy cho bạn vậy.

2. Code Avengers

Code Avengers được thiết kế với mục đích làm cho bạn yêu thích môn lập trình. Mặc dù hiện tại nó chỉ cung cấp các khóa học về HTML5, CSS3 và JavaScript, nhưng mỗi khóa học đều được thiết kế rất cẩn thận và thực sự lôi cuốn, nhằm nâng cao kỹ năng lập trình của bạn một cách nhanh nhất. Sau khi hoàn thành mỗi bài học thì bạn sẽ được chơi một trò game nhỏ nhằm mục đích giải tỏa căng thẳng và giúp bạn có thêm động lực để học được lâu hơn.

code-avengers

Code Avengers có một hướng tiếp cận dần dần tới việc học tương tác. Nó không giảng giải quá nhiều kiến thức mà chưa cần thiết cho người mới bắt đầu, chỉ là một ít code và những chỉ dẫn vui vui, nhằm tạo ra những thứ rất dễ để hiểu. Bạn hãy thử vọc vậy cùng với những dòng code và sau đó nhìn thấy những thành quả ngay tức thì. Các giáo trình ở đây được thiết kế rất chu đáo phù hợp với cách suy nghĩ của người mới học.

3. Code School

Sau khi đã hoàn thành các khóa học tại Codecademy hoặc Code Avengers, thì bạn đã sẵn sàng tiến xa hơn để nâng cao khả năng của mình. Code School là trang web chất lượng tiếp theo mà bạn nên ghé thăm. Không giống như hầu hết các trang web dạy học tương tác khác, Code School đưa ra các khóa học rất có chiều sâu để dạy và biến bạn trở thành một chuyên gia trong ngành với những bài tập thuộc loại tốt nhất.

Toàn bộ các khóa học được chia ra làm 4 mảng chính, đó là:

  • Ruby
  • JavaScript
  • HTML/CSS
  • iOS

code-school

Hầu hết tất cả các khóa học đều được chau chuốt bằng giao diện thiết kế ấn tượng và những video chứa nhiều thông tin có giá trị, mặc dù những thử thách phía sau mỗi video có thể hơi khó một chút đối với những người mới học. May mắn thay, tất cả đều có những hướng dẫn và đáp án để bạn tham khảo khi cần. Trong khi phần lớn các khóa học ở đây là miễn phí, nhưng cũng có một số khóa học sẽ yêu cầu bạn trả một khoản phí khoảng $25 đô-la/tháng để có thể truy cập toàn bộ khóa học, bao gồm cả các video, bài tập thực hành và tất cả các khóa học khác tại Code School.

4. Treehouse

Các khóa học của Treehouse thì phần nhiều là định hướng sản phẩm hơn là định hướng ngôn ngữ, vì thế nó rất phù hợp cho một lập trình viên mới vào nghề cùng với một mục đích đã lên kế hoạch từ trước, như là xây dựng một trang web hoặc một ứng dụng. Ví dụ, khóa học về Website thì sẽ hướng dẫn bạn về việc xây dựng một trang web dạng responsive (có thể hiển thị tùy theo từng loại thiết bị là PC hoặc Smartphone), trang web tương tác hoặc thậm chí là thiết kế theme cho WordPress – theo một cách rất thiết thực và hiệu quả để thành thạo các ngôn ngữ lập trình liên quan. Tuy nhiên, ở đây cũng có rất nhiều khóa học cơ bản cùng với cách dạy là hướng dẫn bằng video sau đó là phần hỏi đáp.

treehouse

Đối với Treehouse, mỗi khóa học sẽ được chia làm bốn giai đoạn hoặc mô-đun khác nhau, và khi bạn học xong giai đoạn đầu tiên thì sẽ được yêu cầu trả một khoản phí thuê bao hàng tháng là $25 đô-la để truy cập toàn bộ khóa học với trên 650 video và bạn sẽ được là thành viên của diễn đàn tại Treehouse. Nếu bạn có ý định nghiêm túc theo đuổi nghề lập trình trong tương lai thì bạn có thể chọn thuê gói thuê bao theo tháng với giá $49 đô-la để xem được những phỏng vấn chuyên sâu với những chuyên gia trong ngành và các giáo trình nâng cao khác.

5. LearnStreet

Nếu bạn là dạng người không thích những thiết kế hào nhoáng mà chỉ thích làm việc với những dòng code, thì LearnStreet được thiết kế ra để dành cho bạn. Nó hiện tại chỉ đưa ra các khóa học về JavaScript, Python và Ruby ở mức độ dành cho người mới học. Với một cú click chuột vào nút “Start Course” thì bạn sẽ bắt đầu bài học ngay cùng với một bài tập, một trình thông dịch code và một thanh hiển thị những thuật ngữ (rất có ích cho những lập trình viên mới vào nghề).

learnstreet

LearnStreet có một bộ thông dịch code theo phong cách dòng nhắc lệnh (command prompt) cùng với những hướng dẫn để giải thích các chức năng và khuyến khích bạn bất cứ lúc nào có thể. Tuy nhiên, bộ thông dịch code có thể hơi khiếm nhã theo chuẩn của nó, và nó luôn yêu cầu bạn phải gõ thường xuyên những dòng code và những nội dung mà nó yêu cầu.

Một điểm nữa đó là nó rất dễ sử dụng và khá thú vị, và quan trọng nhất là hoàn toàn miễn phí. :)

6. Udacity

Udacity là một sự kết hợp của những bài học bằng video có chiều sâu và những câu hỏi vấn đáp để có được cảm giác tương tác dành cho học viên, vì thế nó rất lý tưởng dành cho những ai không thích đọc nhiều, thay vì đó họ sẽ nhận được những hướng dẫn qua video từ các chuyên gia trong ngành, như là các nhân viên của Google chẳng hạn.

udacity

Bạn sẽ được xem một video từ các chuyên gia bàn luận và hướng dẫn về một chủ đề nào đó, sau đó bạn sẽ trả lời những câu hỏi mang tính logic về lập trình để mở rộng vốn hiểu biết hoặc rèn luyện kỹ năng thực hành. Một điều đáng nói là Udacity cung cấp số lượng video nhiều hơn hẳn các trang web khác, và những người hướng dẫn thường là các giáo sư đại học hoặc là các chuyên gia kỳ cựu ở trong ngành.

Chỉ có một nhược điểm là hầu hết các khóa học ở đây không liên quan đến nhau nhiều cho lắm, vì thế Udacicy thường không phải là nơi để bạn bắt đầu học lập trình, nhưng nó là một trường đại học ảo cung cấp cho bạn rất nhiều kiến thức trong con đường học vấn sau này.

7. CodeHS

Đến thời điểm này thì tất cả các trang web đề cập ở trên chủ yếu tập trung vào phát triển web và khoa học máy tính, nhưng CodeHS là một trang web đem lại cho bạn sự đơn giản và thích thú bởi các bài học lập trình game, hướng dẫn cách giải quyết vấn đề, JavaScript, hiệu ứng động, cấu trúc dữ liệu, thiết kế game và những thử thách khác.

codehs

Điểm nổi bật của CodeHS là nó sẽ dạy bạn cách nghĩ và giải quyết một vấn đề giống như một lập trình viên thực thụ ngay trong khóa học đầu tiên. Các bài học ở đây rất vui nhộn kiểu như bạn sẽ học cách sử dụng code để di chuyển một con chó, cho tới việc hoàn thành một tác vụ nhất định và khó hơn như nhặt bóng hoặc xây tháp. Nó cung cấp cho bạn những khái niệm lập trình nền tảng và phương pháp giải quyết vấn đề một cách có hệ thống ở trong đầu.

Bạn phải đăng ký với mức phí $25 đô-la/tháng để tiếp tục khóa học của mình, nhưng nó là một trang web hoàn hảo để học lập trình game cơ bản một cách khá hiệu quả.

8. Khan Academy

Mặc dù các khóa học của Khan Academy không có cấu trúc bằng các khóa học tại CodeHS, nhưng nó phục vụ như là một sân chơi mở dành cho cả lập trình viên mới vào nghề lẫn những người không chuyên mà có sở thích trong việc vẽ, hiệu ứng động và tương tác người dùng cùng với code. Khan Academy không nói về một ngôn ngữ lập trình xác định nào cả, nhưng những code pattern ở đây thì có thể áp dụng ở khắp nơi, và những ngôn ngữ lập trình phổ biến đều chia sẻ chung những pattern đó.

khan-academy

Đầu tiên bạn có thể tham gia vào khóa lập trình cơ bản để xem qua và học các khái niệm căn bản trước, sau đó khám phá những đoạn code được cung cấp phía sau mỗi bài hướng dẫn bằng video để củng cố thêm kiến thức. Cùng với Khan Academy, bạn có thể lưu lại những chỉnh sửa của bạn như là một “sản phẩm” để cho mọi người có thể tham khảo và tùy chỉnh lại. Có đến hàng trăm sản phẩm chỉ từ một bài học trong một khóa học, vì thế bạn hãy tưởng tượng với số lượng lớn học viên trong cộng đồng thì tính hiệu quả của khóa học sẽ lớn đến nhường nào.

9. Scratch 2.0

Nếu bạn nghĩ rằng CodeHS và Khan Academy vẫn còn quá khó cho lũ trẻ nhà bạn có thể học được, bởi vì chúng chưa có những kiến thức căn bản. Thì cũng đừng lo lắng, có một thứ thậm chí còn dễ hơn cho khao khát của bạn về một thế hệ lập trình tài năng kế tiếp, và nó được gọi là Scratch. Trước đây nó là một phần mềm cài đặt trên máy tính cá nhân để cho phép lũ trẻ có thể tạo, tải và chia sẻ những dự án của chúng một cách thích thú, nhưng nay Scratch đã chuyển lên giao diện dạng web 2.0 một cách hoàn toàn.

scratch_20

Tuy nhiên nó không chỉ đơn thuần là về lập trình, mà nó là một sự kết hợp của các khối dòng lệnh để điều khiển hành vi của đối tượng, như là ra lệnh cho đối tượng con mèo di chuyển 10 bước, hoặc kêu ‘meo meo’ khi nó chạm đến chân của ông chủ. Bằng cách sử dụng phương pháp lập trình trực quan sinh động, các em nhỏ sẽ hình thành nên một thói quen chia các vấn đề lớn thành những khối nhỏ hơn và giải quyết chúng từng cái một theo trình tự logic.

10. SQLZOO

Structured Query Language (SQL) chỉ là một ngôn ngữ được thiết kế chuyên về lưu trữ và truy xuất dữ liệu từ cơ sở dữ liệu, vì thế hãy hình dung ra sự nhàm chán mà bạn sẽ phải trải qua khi lập trình với một chương trình quản lý dữ liệu lớn. Vì thế SQLZOO muốn bạn học SQL một cách vui vẻ hơn cùng với nhiều tương tác thú vị.

sqlzoo

Thực ra không có gì nhiều để giải thích về một ngôn ngữ không phức tạp lắm như SQL, trang web này sẽ chỉ yêu cầu bạn thay thế một số biến như tên thành phố hoặc số dân, và tăng dần mức độ khó lên cao dần. Một điểm khá đáng tiếc là trang web này lại không có phần gợi ý, các câu đáp án và diễn đàn hỗ trợ, vì thế có thể bạn sẽ gặp phải một vài khó khăn trong việc giải quyết các câu trắc nghiệm tại đây.

Bảng so sánh giữa các trang web

Sau đây là bảng so sánh giữa các trang web trên về những ưu và nhược điểm của chúng, cũng như là mức phí dành cho mỗi khóa học.

Trang web Khóa học Đặc trưng Học phí Độ khó
Codecademy HTML, CSS, JavaScript, jQuery, PHP, Ruby, Python, API Bộ thông dịch code, Progress Saver, Project, Diễn đàn Miễn phí Dễ – Trung bình
Code Avengers HTML5, CSS3, JavaScript Bộ thông dịch code, Progress Saver, Project, Ghi chú Miễn phí Dễ
Code School HTML5, CSS, CSS3, jQuery, Ruby, Ruby on Rails, iOS Bộ thông dịch code, Screencast, Progress Saver, Diễn đàn Miễn phí, $25 đô-la/tháng Trung bình – Khó
Treehouse HTML, CSS, CSS3, JavaScript, jQuery, Ruby, Ruby on Rails, iOS, Android, UX, Database Bộ thông dịch code, Screencast, Progress Saver, Project, Diễn đàn Miễn phí, $25 đô-la/tháng, $49 đô-la/tháng Dễ – Khó
LearnStreet HTML, CSS, JavaScript, Python, Ruby Bộ thông dịch code, Progress Saver, Project, Diễn đàn Miễn phí Dễ
Udacity Phát triển Web, HTML5, Python, Java, Khoa học máy tính, Thuật toán, Trí tuệ nhân tạo Bộ thông dịch code, Screencast, Progress Saver, Diễn đàn Miễn phí Trung bình – Cực khó
CodeHS Giải quyết vấn đề, JavaScript, Hiệu ứng động, Lập trình Game Bộ thông dịch code, Screencast, Progress Saver Miễn phí, $25 đô-la/tháng, $75 đô-la/tháng Dễ – Trung bình
Khan Academy Lập trình căn bản, Canvas Drawing, Hiệu ứng động, Tương tác người dùng Bộ thông dịch code, Screencast, Progress Saver, Project, Diễn đàn Miễn phí Dễ – Trung bình
Scratch 2.0 Lập trình trực quan Visual Editor, Project, Diễn đàn Miễn phí Dễ
SQLZOO SQL Bộ thông dịch code Miễn phí Dễ – Khó

Bạn đã từng học tại bất kỳ trang web nào trong số những trang web mà chúng tôi liệt kê ở trên chưa? Bạn thấy như thế nào? Liệu chúng tôi có liệt kê sót một vài trang web dạy lập trình tương tác tuyệt vời nào chăng? Hãy chia sẻ cho chúng tôi những kinh nghiệm của bạn nhé, vì điều đó sẽ giúp ích được cho rất nhiều người khác !

Các bài viết liên quan:

Tham khao: http://vinacode.net/2014/06/16/day-lap-trinh-truc-tuyen/

Thank for your comments

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s