Tôi sẽ làm điều này:
Đường dẫn A: Phương pháp bán điển hình
Học một ngôn ngữ với cú pháp chính quy hơn như Java, C # hoặc Python. Perl là một công cụ cực kỳ hữu ích nhưng nó cũng rất tự do về cách nó cho phép bạn làm mọi việc. Các ngôn ngữ khác tôi liệt kê là rất nhiều, ít hơn rất nhiều.
Lấy một cuốn sách về Cấu trúc dữ liệu bằng ngôn ngữ nói.
Lấy một cuốn sách về Thuật toán bằng ngôn ngữ nói.
Nhận mã hoàn chỉnh và hiệu quả Java / C # / Dù phiên bản của Python là gì.
Đường dẫn B: Con đường giác ngộ của Joel Spolsky (hoặc Cái chết, hãy lựa chọn)
Lấy sách "Mã"
Nhận "Ngôn ngữ lập trình C" của K & R
Nhận cấu trúc và giải thích lập trình máy tính
Theo như phương pháp, phương pháp 1 sẽ dạy bạn lập trình theo cách thông thường hơn. Khoa học máy tính khái niệm đến một mức độ (chưa có lý thuyết phức tạp, tin tôi đi) và cung cấp cho bạn một ngôn ngữ tốt hơn để làm việc trong các dự án với người khác và để tạo ra các ứng dụng lớn hơn.
Phương pháp 2 khó hơn, đó là cách tiếp cận cơ bản hơn với "Mã" giải thích các vấn đề cơ bản, K & R giới thiệu công cụ cấp độ máy và SICP giới thiệu các khái niệm cấp cao hơn. Đó là một con đường khó khăn hơn nhưng tập trung hơn.
Trong cả hai trường hợp, hãy cho mình thời gian. Rome đã không được xây dựng trong một ngày và cũng không phải là kỹ năng lập trình, ngay cả khi bạn là một thiên tài về nó. Lập trình của Peter Norvig trong 10 năm là bài tiểu luận thông thường mà tôi hướng đến mọi người.
Phụ lục:
Theo như những thứ miễn phí có sẵn: Python the Hard Way như được liệt kê dưới đây là một khởi đầu tốt, từ đó, Làm thế nào để suy nghĩ như một Nhà khoa học máy tính là một sự tiếp nối hợp lý.
Có một số tài nguyên về Thuật toán ngoài kia và thật lòng bạn có thể chuyển đổi bước 3 và 4 mà không gặp vấn đề gì. Hãy ghi nhớ, đây là lúc toán học thực sự bắt đầu xuất hiện, vì vậy đừng bao giờ ngại yêu cầu giúp đỡ khi bạn đến giai đoạn này. Đây có vẻ là một hướng dẫn miễn phí hợp lý .
Thực sự không có sự gắn kết miễn phí tương đương với Code Complete mỗi lần nói mặc dù Code như Pythonista có vẻ khá vững chắc. Điều quan trọng là tập trung vào việc làm cho mã của bạn có thể đọc được một khi bạn đã có những nguyên tắc cơ bản. Điều này không "cần thiết" giống như cách tất cả cú pháp mã của bạn đúng nhưng nó giúp việc sống dễ dàng hơn rất nhiều một khi bạn vượt qua các chương trình nhỏ hoặc làm việc gì đó trong một thời gian dài.
Bạn có thể thấy rằng tôi đã tập trung chủ yếu vào Python, đó là vì đây là cách dễ nhất trong ba cách để tìm những thứ miễn phí được viết tốt. Tôi nghĩ rằng các hướng dẫn của Java bởi Oracle là tốt nhưng chúng hơi khô khan và không tuyệt vời cho người mới bắt đầu. C # là trong một tình huống tương tự mặc dù không bị thiếu tài liệu.
Ngoài ra, trò đùa / chơi chữ CS đầu tiên của bạn: bạn muốn "Tái cấu trúc" giáo dục của mình chứ không phải Backtrack.