Do-it-Yourself đề xuất dự án để nâng cao kỹ năng lập trình hoặc học một ngôn ngữ mới [đóng]


10

Vì cách tốt nhất để học là làm việc trên các dự án, một số phần mềm tốt để thử làm cho mình với mục đích mài giũa một số kỹ năng lập trình hoặc học một ngôn ngữ mới là gì?


3
Nhân bản trang web này.

Câu trả lời:


11

Tôi thấy các chương trình sau đây cho một khởi đầu tốt với các ngôn ngữ mới:

Trò chơi cuộc sống của Conway

Dễ để thực hiện. Cung cấp cho bạn một khởi đầu tốt với việc sử dụng đơn giản các lớp container. Không nhất thiết cần đồ họa cho đầu ra của kết quả.

Ngoài ra, bạn có thể viết phiên bản 3D của nó và sử dụng công cụ trò chơi cho đầu ra (ví dụ: một cái gì đó đơn giản như Panda3D)

Bộ giải Sudoku

Hơi phức tạp hơn một chút. Sự phức tạp có thể được điều chỉnh theo nhu cầu của bạn. Chỉ cần hủy bỏ số và dừng lại khi không thể thực hiện được nữa hoặc tiếp tục triển khai cây tìm kiếm để giải quyết các vấn đề phức tạp hơn. Các vấn đề và giải pháp cho Sudokus ở mọi cấp độ khó để kiểm tra chương trình của bạn đều có sẵn trên web. Tương tự cho tài liệu về các chiến lược có thể.

Dự án Euler

Vấn đề ở mọi cấp độ khó bạn có thể muốn. Và so sánh các giải pháp của bạn với những lập trình viên có kinh nghiệm trong mọi ngôn ngữ lập trình chính.


Bạn có thể thử thực hiện Trò chơi cuộc sống trên nhiều nền tảng khác nhau. Tôi đã làm nó trên canvas HTML5 / Javascript. Thật TUYỆT VỜI!
mauris

5

Tôi không chắc ý của bạn là gì với 'một số phần mềm tốt để thử ...', nhưng tôi có thể giới thiệu cuốn sách 'bảy ngôn ngữ trong bảy tuần'

Nó cung cấp cho bạn một điểm khởi đầu tốt để thử các ngôn ngữ mới.


Tôi vừa nhận được cuốn sách này, và nghị quyết năm mới của tôi là tuân theo nó.
Tangurena

5

Chỉ cần đăng nhập vào bất kỳ trang web nào sau đây và xem bạn có đang đối mặt với những thách thức mã hóa mà họ đưa ra không: SPOJ , TOPCODER , v.v.

Hầu hết các trang web này cung cấp cho bạn tùy chọn mã hóa bằng nhiều ngôn ngữ lập trình để bạn có thể sử dụng ngôn ngữ mà bạn quen thuộc nhất.

Và nếu bạn là một bậc thầy trong trò chơi của mình, luôn có ICPC .


3

Tôi muốn nói bất kỳ dự án nào đáp ứng ba yêu cầu sau:

  • Một cái gì đó mà bạn thấy thú vị
  • Một cái gì đó mà bạn có thể có được cảm giác tiến bộ rất nhanh (ví dụ như cố gắng tránh thứ gì đó như tạo trò chơi 3d)
  • Một cái gì đó phù hợp với mô hình lập trình của ngôn ngữ đó. Ví dụ, nếu đó là một ngôn ngữ chức năng, thì một dự án nơi bạn sẽ thực hiện một số thao tác dữ liệu, toán học hoặc một cái gì đó.

2
Điểm đầu tiên của bạn là chìa khóa. Nếu bạn không quan tâm đến dự án, sẽ khó hơn để duy trì tiến độ và sự nhiệt tình mà bạn cần để có thể học hỏi.
ChrisF

2
  • Truy cập Sourceforge.net hoặc GitHub, tìm kiếm các dự án bằng ngôn ngữ đó và xem những dự án nào hấp dẫn bạn.
  • Hãy suy nghĩ về các thư viện mà bạn làm việc thường xuyên nhất trong "cuộc sống thực". Bạn có viết nhiều dịch vụ web không? Hãy thử viết một khung dịch vụ web cho ngôn ngữ mới. Làm nhiều chương trình đồ họa? Hãy thử viết một công cụ kết xuất đơn giản. Làm phân tích dữ liệu? Thực hiện gói thống kê cơ bản. V.v. Điều này có lợi ích là bạn sẽ thấy tiện ích này (vì bạn sử dụng một cái gì đó tương tự trên cơ sở hàng ngày) và bạn sẽ có một số kiến ​​thức về tên miền. Các loại dự án này cũng có xu hướng là những dự án mà bạn có thể dành một lượng thời gian vô hạn để điều chỉnh (nghĩa là học thêm nhiều thứ từ đó), cuối cùng bạn có thể muốn mở nguồn và điều đó sẽ khiến bạn liên quan đến ngôn ngữ nếu chúng trở thành sở thích đang diễn ra; Nhược điểm của nó là nó có thể không bao giờ thực sự cảm thấy "kết thúc", và đó '
  • Tùy thuộc vào miền phát triển, có thể có những cuốn sách dành riêng để hướng dẫn bạn thông qua các dự án. Điều này có xu hướng đặc biệt đúng với các nền tảng phát triển trò chơi (iOS, XNA).

1

Cho những người mới bắt đầu

Thao tác chuỗi:

  • Trò chơi Hangman.

Cơ sở dữ liệu:

  • những việc cần làm
  • một số loại tập luyện hoặc tạp chí cá nhân

Thao tác số ngẫu nhiên:

  • Quay bánh xe

Ma trận và đồ họa cơ bản

  • Tetris

1

Bất cứ điều gì bạn thích đủ để tiếp tục làm. Việc học tập được thực hiện nhiều nhất trong 1% cuối cùng thường bị bỏ qua trong một dự án phụ, nhưng là một phần rất quan trọng của một sản phẩm công việc.

Kết quả là, đó là một lựa chọn rất cá nhân, dự án có thể là gì. Đó là lý do tại sao có rất nhiều dự án hệ điều hành tuyệt vời ngoài kia và tại sao mọi người nói rằng chúng quan trọng đến vậy khi chúng nằm trong sơ yếu lý lịch / CV của bạn: người đó đã làm việc chăm chỉ và học hỏi được rất nhiều từ việc thực hiện 1% trong số đó để thực hiện nó có thể được người khác sử dụng và thích những gì họ làm.

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.