Lời nói đầu nhanh
Học bằng cách làm: Kiến thức và bí quyết
Có một sự khác biệt lớn về kiến thức và bí quyết. Đó là một lỗi phổ biến cho những người mới học nghĩ rằng vì họ có thể "hiểu" một chương trình khi họ đọc nó, họ thực sự hiểu lý do cho chương trình được viết theo cách đó.
Và cách duy nhất để đến phần thứ hai đó là luyện tập. Ngồi xuống, mở một trình soạn thảo văn bản, một dòng lệnh và đi xuống nó.
Có khả năng (và dự kiến) rằng ở giai đoạn này, khả năng của bạn để hiểu làm thế nào một số thành phần phần mềm phức tạp tương tác với nhau bị hạn chế. Và đó thực sự là một điều tốt, vì nó buộc bạn phải bắt đầu từ những điều cơ bản. Đừng nhảy súng và di chuyển với tốc độ phù hợp: bắt đầu với các bài tập nhỏ cho các nhiệm vụ nhỏ.
Thành thật mà nói, tôi chưa bao giờ bị thuyết phục rằng bắt đầu học lập trình với Java là cách tốt nhất (tôi đã từng dạy lập trình để kiếm sống ở trường đại học và thỉnh thoảng vẫn học phí tư nhân). Bản thân nó quá phức tạp để giúp bạn bắt đầu và hầu hết các sách Java sẽ xuất hiện khá khó khăn. Tuy nhiên, điều đó chắc chắn có thể được thực hiện (ít nhất là đối với một số lĩnh vực kiến thức toàn cầu mà chúng tôi mong đợi từ lập trình viên), miễn là bạn hạn chế học từng bước.
Sách
Khi bạn đã đặt trên Java và nếu bạn cần một cuốn sách Java đàng hoàng, tôi khuyên bạn nên:
- Suy nghĩ trong Java . Không sao, mặc dù bây giờ hơi lỗi thời.
- Hướng dẫn Java . Đây không hẳn là người bạn đồng hành tốt nhất của người học, nhưng là một tài liệu tham khảo tuyệt vời để nắm trong tay, vì nó bao gồm tất cả các điều cơ bản và cung cấp các ví dụ. Các Học các ngôn ngữ Java Trail có lẽ nên được nằm trong danh sách đọc của bạn, mặc dù tôi nghĩ rằng nó có thể được làm nản chí người mới bắt đầu hoàn chỉnh như nó giới thiệu khái niệm mà có thể khó nắm bắt lúc đầu.
- Java hiệu quả . Nó không phải là một cuốn sách tuyệt vời cho việc học, nhưng cũng là một tài liệu tham khảo tuyệt vời mà bạn nên có trong tay cho sau này. Không phải để đọc trong một lần ngồi, mà trong các miếng có kích thước cắn.
Tôi chỉ đề cập đến điều này vì tôi không biết bạn sử dụng gì trong lớp. Có hàng tấn sách khác. Một số là tốt. Một số sẽ làm tê liệt sinh viên trong nhiều năm.
Quá trình học tập của bạn
Quy trình làm việc cơ bản
Từ giờ trở đi, tôi khuyên bạn nên làm theo quy trình 2 bước này cho tất cả các bài tập và mẫu mã bạn đã thấy trong lớp:
- đọc và học
- đọc bài tập
- đảm bảo bạn hiểu họ
- mã
- đóng sách lại
- ngồi xuống trước một máy tính với trình soạn thảo mã và dòng lệnh đó
- cố gắng tự viết lại chương trình
Trong trường hợp thất bại
Nếu bạn thất bại và cảm thấy cần phải xem qua cuốn sách, thì thất bại của bạn có thể là:
- (rất có thể) rằng bạn không thực sự hiểu giải pháp,
- (ít có khả năng) rằng bạn đã quên một bit cụ thể của giải pháp trông như thế nào: cú pháp, sử dụng API, ...
Nguyên nhân đầu tiên có thể là những gì bạn phải đối mặt thường xuyên nhất. Cái thứ hai là giai thoại. Cả hai đều được giải quyết bằng thực hành thường xuyên.
Mỗi khi bạn thất bại trong việc thực hiện một trong những ví dụ ban đầu này, hãy nhìn vào cuốn sách một lần nữa, sau đó đóng lại. Đừng viết mã trong khi nhìn vào cuốn sách. Tôi thậm chí còn khuyên bạn nên xóa toàn bộ giải pháp của mình và bắt đầu lại. Sự lặp lại là một phần khó chịu nhưng quan trọng của quá trình học tập.
Đừng xem nhẹ điều này. Mỗi khi bạn cảm thấy thôi thúc tự nói với mình "ừ, ok, tôi biết điều này" hoặc "Tôi 90% ở đó, nó gần như đã hoàn thành" và muốn bỏ qua phần khác, chiến đấu thôi thúc đó và bắt đầu lại. Thật khó để có sự trung thực thừa nhận với chính mình rằng bạn đã không hoàn toàn hiểu một khái niệm.
Lưu ý bên lề: Tôi coi đó là một sự bất đồng lớn mà hầu hết các chương trình học hiện nay đều cố gắng "khởi động" các khóa học lập trình bằng cách làm giảm quá nhiều thứ và cung cấp công cụ quá tiên tiến cho sinh viên: mục tiêu không phải là khiến cuộc sống của bạn khốn khổ hay vì bạn quá học bởi những điều mà sau này trong sự nghiệp của bạn sẽ được tự động hóa bằng các công cụ của bạn và đôi khi bạn thậm chí sẽ không nhớ được. Đó là để dạy cho bạn tất cả các bit nổi xung quanh.
Trong trường hợp thành công: Vượt lên!
Nếu bạn thành công trong việc thực hiện bài tập của mình, đừng nhất thiết phải nhảy trực tiếp sang bài tiếp theo. Hãy thử xem những gì bạn có thể làm để cải thiện điều đó. Bạn có thể thay đổi đầu ra được yêu cầu? Thêm một tính năng nhỏ? Một lựa chọn? Hãy cố gắng, vì bây giờ bạn đang ở trong khu vui chơi đó, nơi bạn đã vượt qua khó khăn chính, và những yêu cầu nhỏ bé tự áp đặt này có nhiều khả năng giữ cho tinh thần của bạn tăng lên một chút.
Đừng đi quá xa: bạn không đi từ in bảng chữ cái và đảo ngược nó thành đột nhiên làm cho nó xuất hiện trên một đường chéo trên màn hình với một dải màu. Thực hiện các bước nhỏ. Học tập là một quá trình lâu dài và lặp đi lặp lại, và bạn cần tiếp cận các vấn đề với mức độ khó tăng dần (ví dụ, xem cách tôi thường nghĩ về việc giải thích đệ quy ).
Đó chỉ là học tập - So sánh
Vấn đề của bạn thực sự không liên quan đến lập trình. Đó là cùng một vấn đề mà hàng ngàn người gặp phải khi họ cố gắng học toán.
Nếu bạn đưa ra cho họ một vấn đề, họ sẽ không thấy cách giải quyết. Tuy nhiên, nếu bạn viết ra giải pháp cho họ, hầu hết sẽ hiểu nó và nghĩ rằng "chết tiệt, thật đơn giản!". Tuy nhiên, bạn sẽ đưa ra cho họ một vấn đề tương tự với các biện pháp và giả thuyết khác nhau và họ sẽ không giải quyết được: họ không hiểu logic đằng sau nó và họ cần thực hành để có thể tự làm điều đó.
Lưu ý rằng đây là một vấn đề phổ biến với toán học, nhưng theo tôi bạn thấy nó có vô số lĩnh vực khác, trong đó có một số logic cần thiết: học solfege, ngữ pháp ngôn ngữ, vật lý, v.v ... Và nó không phải là khả năng "tự nhiên" để hiểu những điều này: nó chỉ bắt nguồn từ thực tiễn (có thể trong lĩnh vực đó hoặc ở những nơi khác dẫn đến việc cá nhân nắm bắt các khái niệm trong lĩnh vực này dễ dàng hơn).
Không có lý do gì bạn không thể học viết mã. Bạn chỉ cần cố gắng tiếp tục cố gắng cho đến khi bạn đạt được "ah AH!" / Khoảnh khắc của Eureka. Sau đó chuyển sang vấn đề tiếp theo, khó khăn hơn.
Đây cũng có thể giúp đỡ (sau này):