Gợi ý cho các Chương trình để phát triển cho việc học [đóng]


12

tôi tự hỏi ngoài những ứng dụng hello world rất đơn giản đó, tôi nên thử phát triển những chương trình nào khác để học. Tôi sẽ tham gia vào năm tới và tự hỏi loại chương trình nào sẽ được phát triển trong môi trường đó.

đây không thực sự là một thứ cụ thể về ngôn ngữ, nhưng nếu bạn muốn biết những gì tôi sử dụng hiện tại là chủ yếu

  • windows: C # / WPF - tôi đã nghiên cứu java / vb vv trong poly nhưng tôi nghĩ C # là con đường để đi, thậm chí có thể F #
  • web: PHP / MySQL, Zend Framework / Doctrine, + HTML / CSS / JS (jQuery) tất nhiên. tìm cách thử công cụ ứng dụng google với python.

bây giờ, tôi đang nghĩ về

  • danh sách việc cần làm
  • các ứng dụng tích hợp với api, vd. twitter / tumblr mà tôi sử dụng
  • trình soạn thảo văn bản - tôi hiện đang cố gắng phát triển trình soạn thảo văn bản sử dụng markdown và tạo các tệp html để xem (liên kết đến mục blog). không phải là rất pratical sau khi tôi bắt đầu phát triển nó. Vì khi chỉnh sửa không có định dạng và ở định dạng HTML, tôi không thể chỉnh sửa trực tiếp

  • phần mềm blog (cho web)

Câu trả lời:


18

Hãy nhìn vào Project Euler. Không có gì khác giống như nó để mài giũa kỹ năng lập trình nền tảng của bạn.


2
+1. Ưu điểm của Project Euler là bạn có thể triển khai các giải pháp bằng bất kỳ ngôn ngữ nào, sau đó so sánh / đối chiếu chúng.
Thomas Owens

1
+1 - Câu trả lời tuyệt vời! Bạn đã mở một phòng tập thể dục cho bộ não của chúng tôi.
Karthik Sreenivasan

6

Tôi hiện đang viết một trình phân tích cú pháp / trình so khớp regex và nó dạy cho tôi một số lượng lớn về phân tích cú pháp và các máy trạng thái hữu hạn và các biểu thức chính quy, trong số những thứ khác. Lý do tôi đặc biệt nghĩ rằng trình phân tích cú pháp regex hữu ích là vì ngôn ngữ regex nhỏ và khá hạn chế trong những gì nó có thể làm.

Một điều khác tôi đã làm là viết một thông dịch viên cho Ook! , đó là một nhiệm vụ đơn giản, nhưng một lần nữa, dạy cho bạn một tấn.


+1 SC Kleene không phải là người phát minh ra regex mà không có lý do nào cả.
ixtmixilix

2

CodePlex.com liệt kê nhiều dự án nguồn mở được thực hiện bằng C #. Bạn có thể xem trang web để có một số ý tưởng.


2

Bạn cũng có thể nhìn vào TopCoder . Trang web này có các thuật toán tuyệt vời để tìm hiểu và họ tiến hành cạnh tranh theo thời gian. Ưu điểm quan trọng của trang web này là bạn có thể xem mã nguồn của người khác cho một vấn đề cụ thể và có thể tìm hiểu thêm.

Và ngay cả trên các trang SE, bạn phải xem CodeGolf .


1

(Đây chủ yếu là một câu trả lời mata, chứ không phải là một danh sách dự án.)

Hãy suy nghĩ về lý do tại sao bạn viết chương trình: Nó sẽ hữu ích theo cách riêng của nó, hay nó hoàn toàn là để tìm hiểu một khía cạnh của một công cụ / API / ngôn ngữ?

Trong trường hợp sau, có một lợi ích cho chương trình kết quả là càng ngắn càng tốt, và sau đó chỉ giữ lại để tham khảo.

Trong trường hợp trước đây tại sao không mở rộng việc học để thực hành tốt ở tất cả các khía cạnh: giả sử bạn sẽ cần phải duy trì và mở rộng nó. Do đó, hãy sử dụng kiểm soát nguồn, theo dõi vấn đề, tái cấu trúc, kiểm tra đơn vị, ... vì tất cả những điều này ít nhất đều quan trọng đối với nhà phát triển khi biết một API khác.


Làm thế nào về một tích hợp thức ăn:

  • Nguồn RSS / Atom
  • Xử lý twitter bằng API của nó (và không rút ngắn liên kết)
  • Dựa trên nguồn cho phép xử lý bài có thể cắm (ví dụ: tải xuống mp3 từ nguồn cấp dữ liệu podcast)

(Ý tưởng là tập trung vào việc tích hợp các triển khai khác nhau của cùng một mô hình: HTTP được lên lịch của một nguồn cấp RSS so với API Twitter so với ... tất cả đều nằm dưới một luồng các mục nhập có dấu thời gian, nguồn và nội dung.


cảm ơn. Tôi nghĩ rằng điều này phù hợp với những gì tôi đang nghĩ, tích hợp với các dịch vụ web. Ngoài ra tôi đang nghĩ các ứng dụng abt các ứng dụng khác nhau sử dụng các tính năng khác nhau của ngôn ngữ. ví dụ. với trình soạn thảo văn bản, tôi đã cố gắng tích hợp dải băng wpf
Jiew Meng

1

Tôi đã học được rất nhiều khi làm việc này - loại dự án sở thích của tôi:

  • Các trò chơi đơn giản (Bản sao rắn, Bản sao Tic Tac Toe, v.v.)
  • Trình bảo vệ màn hình

Chưa kể - những loại dự án đó cực kỳ thú vị để làm việc :-).


1

Lập trình một trò chơi nhỏ: thật thú vị và bạn học được nhiều điều.

Một vài ý tưởng:

  • Máy quét rác
  • Tetris
  • Một trò chơi bài
  • Con rắn

Và khi hoàn thành, tại sao không triển khai một trang web cao cấp ...



0

Gián điệp. Chỉ định kích thước của vòng ngoài, đĩa trong và điểm bút dọc theo đường kính của nó. Vẽ đường đi của bút khi đĩa bên trong lăn dọc theo mặt trong của vòng ngoài.

Thay đổi nhà sản xuất. Chi phí đầu vào và số tiền đưa ra cho giao dịch viên. Tính toán tối ưu cho giao dịch viên để thực hiện thay đổi. Có một cách chậm và một cách nhanh để giải quyết điều này. Tìm đường nhanh.

Mô phỏng cuộc sống OO. Tra cứu thuật toán cuộc sống. Tạo trạng thái bắt đầu ngẫu nhiên và xuất các bước tiếp theo, sử dụng thiết kế OO để tách rời logic khỏi bản trình bày. Cho đầu ra văn bản và đầu ra đồ họa.

Missionary / Cannibals Solver, Tra cứu câu đố nổi tiếng này. Viết chương trình để giải quyết nó bằng cách sử dụng cây tìm kiếm. So sánh BFS với DFS.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.