Phương pháp tiếp cận top down và bottom up
Trước đây hơn 1 năm, tôi may mắn được sếp dẫn đi để cùng phỏng vấn một vài bạn có kinh nghiệm 1, 2 năm. Lần đầu được tham gia với vai trò là người phỏng vấn, tôi khá hứng thú và cũng tự mình chuẩn bị một vài câu hỏi chuyên sâu một tý, nhưng lúc trao đổi với sếp (trước khi vào phỏng vấn) thì sếp lại bảo chưa cần. Tôi cũng có chút thất vọng, nhưng chỉ nghĩ là chắc mình còn chưa có kinh nghiệm nên thôi cứ vào nghe thôi cũng được. Và bất ngờ là trong lúc phỏng vấn, sếp toàn đưa ra những câu hỏi tưởng chừng rất đơn giản của lập trình hướng đối tượng ( Show Gần đây, đọc một bài viết về những hướng tiếp cận để học lập trình, tôi đã hiểu được nguyên nhân và hiểu được điều mà những người lập trình viên giàu kinh nghiệm như sếp mong muốn ở một Về cơ bản có 2 phương pháp tiếp cận chung để học lập trình là Top-Down và Bottom-Up, và cả 2 đều có những ưu và nhược điểm riêng. 1. The Top-Down ApproachVới hướng tiếp cận này, mục tiêu chính sẽ là học bằng cách tạo ra những (phần nhỏ của) phần mềm thực sự. Hầu hết những người tự học sẽ hướng mình theo cách tiếp cận này lúc mới bắt đầu học Và cách nhanh nhất để làm điều đó là học làm theo một bài 1.1 Top-Down: The GoodĐiều tốt đẹp mà cách tiếp cận này mang lại là bạn tạo ra một cái gì đó rất nhanh chóng. Cảm giác thật sung sướng khi tạo ra một phần mềm thực sự bằng chính tay bạn trong thời gian ngắn. Bạn có thể bị nghiện cảm giác đó , và nó có thể giúp bạn có động lực vượt qua quá trình học tập.1.2 Top-Down: The BadVấn đề của cách tiếp cận này đó là nó không dạy bạn những định nghĩa, nguyên tắc cơ bản. Cuối mỗi Arne Brasseur phản ánh cách giảng dạy theo hướng `beginer`0: I have taught many people Ruby on Rails. Rails is tremendously complex (but) in a few sessions you can teach a person to create an interactive website backed by a database. It’s frustrating to teach because you’re walking a tight rope. Just follow the steps. Don’t peek under the covers. Don’t stare into the abyss. But that feeling of instantly being productive is what draws people in, what makes them think, “hey, maybe I can do this”. Tạm dịch Tôi đã dạy nhiều người học
2 The Bottom-Up ApproachVới cách tiếp cận này, mục tiêu sẽ là tìm hiểu tất cả các khái niệm cơ bản về lập trình. Hướng tiếp cận này phổ biến hơn trong các khóa học lập trình chính thức, giống như trong các trường đại học hoặc cao đẳng. Nó bao gồm việc bắt đầu từ con số không và học một khái niệm tại thời điểm đó. Ý tưởng là để xây dựng một nền tảng vững chắc các kỹ năng lập trình chung, mà có thể được sử dụng để làm bất kỳ loại phần mềm nào. 2.1 Bottom-Up: The GoodĐiều tốt đẹp mà hướng tiếp cận này mang lại là bạn sẽ được học các kỹ năng lập trình tổng quát thực sự. Không quan trọng nếu bạn tạo một Mỗi khái niệm riêng lẻ thì dễ học hơn, vì bạn có thể học nó một cách độc lập. Nếu khóa học `beginer`7 mà bạn đang thực hiện được cấu trúc tốt, bạn sẽ không bị bắn phá với 1000 khái niệm khác nhau cùng một lúc. Bạn nên làm quen với một khái niệm mới tại một thời điểm, theo thứ tự thì dễ hiểu hơn. Các khái niệm cơ bản được nắm vững (như giá trị và biến), trước khi các khái niệm phức tạp hơn (như các hàm) được xây dựng bên trên. 2.2 Bottom-Up: The BadVấn đề của hướng tiếp cận này đó là nó khá chậm. Phải mất một thời gian dài để học tất cả các kỹ năng cần thiết để làm được một cái (phần mềm, chương trình...) gì đó đáng kể. Một bản kế hoạch điển hình của hướng tiếp cận này:
Có thể mất vài tháng, thậm chí vài năm để hoàn thành lịch trình này , và nó có thể vẫn sẽ không đem lại cho bạn tất cả những 3 Which is the best?Rõ ràng, không có hướng tiếp cận nào là tốt hơn hoàn toàn so với cái còn lại. Để trở thành một `web`2 lành nghề, bạn phải cần cả 2 hướng `web`3 và `web`4. Bạn cần trải nghiệm việc tạo ra phần mềm, ngay cả khi bạn không hiểu nó một cách đầy đủ. Bạn cần động lực để tiếp tục học tập, và cảm giác hoàn thành đó có thể giúp ích. Chỉ nghiên cứu về khái niệm và lý thuyết là không đủ để chuẩn bị cho bạn để làm việc về các dự án phần mềm thực sự. Bạn cũng cần những kỹ năng lập trình cơ bản. Sự cần thiết để có thể hiểu và gỡ lỗi Cách tiếp cận tốt nhất là luân phiên giữa hai hướng tiếp cận. Cảm thấy quá tải, giống như bạn không biết Bắt đầu cảm thấy chán học các khái niệm lập trình trừu tượng? Chuyển ngay sang cách tiếp cận Cuối cùng hai phương pháp tiếp cận gặp nhau ở giữa. Bạn học được rất nhiều về cách mà Quá trình học tập này không bao giờ kết thúc. Phát triển phần mềm quá phức tạp đến nỗi không một ai hiểu được mọi thứ, có nghĩa là luôn có cái mới để học. Vì vậy, đừng lo lắng quá nhiều về những gì bạn không biết - nó chỉ cần thời gian. Hãy thư giãn và enjoy nó. |