Phương pháp học lập trình tốt nhất? Top-bottom-up Approach
Có một sự thật là hơn 50% lượng truy cập của blog mình là để đọc cách học tiếng Anh. Bởi vì blog của mình có một vài từ khóa đứng top Google như cách tìm người nước ngoài để nói chuyện tiếng Anh. Như vậy đọc giả của mình có thể không phải chuyên học lập trình. Vậy bạn có bao giờ thử học lập trình chưa? Còn đối với những đọc giả đã học lập trình, bạn có cảm thấy mình học đúng cách?
Học lập trình có khó không?
Theo mình, học lập trình cũng có thể vừa khó lại vừa dễ.
Khó
Khó vì nếu không có đam mê thì bạn sẽ không theo nổi. Chẳng hạn như hồi cấp 2, rồi đến cấp 3, học sinh nào cũng được học lập trình Pascal. Mình cũng vậy, nhưng lúc đó mình chỉ thích chơi game thôi chứ không thích lập trình gì hết. Khi bạn không có đam mê thì làm gì cũng thấy khó.
Khó thứ hai vì bạn không có người thầy đúng nghĩa. Mình học lập trình hồi cấp 2, trường phân các thầy cô bộ môn lý dạy tin học luôn. Mình xin khẳng định là lý chứ không phải toán nhé. Thầy cô nói gì họ còn không hiểu thì làm sao mình hiểu. Nhớ có lần cô dạy tin hỏi máy tính có thể chạy được hai hệ điều hành không. Mình đứng lên dõng dạc phát biểu là có, cái cô giáo cũng cũng không biết đúng hay sai luôn.
Còn về dạy lập trình chủ yếu là “thuộc code”, học code cứ như học lịch sử vậy. Có ông nhớ đến từng dấu chấm dấu phẩy luôn. Chắc có lẽ mình học trường làng nên mới thế chăng ( Bạn học Pascal như thế nào thì comment bên dưới cho mọi người cùng biết nhé.
Dễ
Dễ ở đây không phải là dễ như 1 + 1 = 2, mà chúng ta cảm thấy học được. Cũng như một bài toán chứng minh, chúng ta nhìn vào không biết giải ngay nhưng chúng ta biết được cách giải nó.
Mình nói học lập trình dễ nếu bạn có đam mê. Cũng là mình - một con người đẹp trai thanh lịch này, nhưng hồi cấp cấp 3 không thích lập trình, mà giờ đây mình biết mình thích code.
Cũng là mình – một chàng trai hào hoa phong nhã, ngày xưa chỉ học thuộc code, mà giờ đây mình đã có thể hiểu code, có thể viết mấy game, app cơ bản và tạo khóa học online giải thích code cho mọi người.
Điều gì đã khiến mình thay đổi như vậy?
Học lập trình kiểu top-bottom-up– Phương pháp hiệu quả nhất!
Trong khoa học có hai phương pháp đối nghịch nhau đó là top-down approach và bottom up approach. Với top-down approach là sẽ chia kiến thức thành nhiều phần nhỏ giúp người học có cái nhìn tổng quan nhất rồi sau đó mới đi chi tiết. Còn bottom up sẽ ngược lại, sẽ đi từ những vấn đề chi tiết, phức tạp của một vấn đề đi lên.
Sau 2 năm tự mày mò, mình đã đúc kết được phương pháp hiệu quả nhất cho những người mới học lập trình đó là top-bottom-up. Đây là sự kết hợp của cả 2 phương pháp nói trên!
Với phương pháp học lập trình này, người học sẽ tạo ra app, game mà không cần code. Sau đó họ sẽ học lại cơ bản lập trình đến nâng cao và làm lại những app, game bằng code. Hơi khó hiểu phải không, mình sẽ giải thích bên dưới.
Khi mới bắt đầu, người học sẽ dùng những công cụ chỉ cần kéo thả hay còn gọi là Visual Programming để tạo ngay app, game ( không cần phức tạp mà chỉ là những mini game, app thôi) Việc này giúp cho họ có cái nhìn tổng quát, những suy nghĩ logic cơ bản nhất. Chẳng hạn khi làm game bằng việc kéo thả, người học chỉ cần kéo thả các hình ảnh, điền các thông số như vị trí, tốc độ player, khi bắt trúng địch thì tăng điểm, vv
Bạn hoàn toàn có thể tạo ra những game hoàn chỉnh chỉ cần kéo thả!
Việc làm game ngay từ đầu sẽ giúp người học cảm thấy thích thú và hiểu được những logic.
Tương tự với lập trình mobile, chúng ta có thể dễ dàng tiếp cận các khái niệm như controls, API, Json, database, backend, admin panel, vv nếu xử dụng các nền tảng xây dựng app chỉ bằng kéo thả. Gia sư việt cũng là một ứng dụng di động mình sử dụng nền tảng drag and drop (kéo thả). Với viêc tạo ứng dụng này, mình học được rất nhiều kiến thức về backend cũng như lập trình di động.
Xây dựng API cho ứng dụng di động bằng Visual Programming
Mục đích chính là của phương pháp này để tạo hứng thú, đam mê cho người học. Nếu kéo thả mà không làm được thì làm sao lập trình có thể học được, phải không nào.
Tiếp theo, với nền tảng đã hiểu cơ bản về logic cũng như có cái nhìn tổng quan về phát triển game, app, người học bắt đầu học lập trình như bình thường. Quan trọng hơn, lúc này họ đã có đam mê có riêng mình – điều quan trọng nhất để thành công trong bất kỳ lĩnh vực nào! Ở bài sau, mình sẽ phân tích rõ hơn cách học, ưu và nhược điểm của phương pháp này!
Kết luận
Không có phương pháp nào là tuyệt đối, quan trọng nhất vẫn do bản thân người học nữa. Sắp tới, NIVIKI.COM sẽ xây dựng các khóa học, bài viết về lập tình di động theo phương pháp này. Và hoàn toàn miễn phí!
"Passion is energy. Feel the power that comes from focusing on what excites you."
-Oprah Winfrey
Dưới đây là một số công cụ làm game, app chỉ cần kéo thả:
Làm game:
Buildbox.com
GameSalad
Construct 2
Làm app:
Configure.It
http://appery.io/