2008-08-25 34 views
8

Các khóa học dành cho những người đang được giới thiệu lập trình thường rất bao gồm một dự án mã, mà tôi nghĩ là một cách hay để học. Tuy nhiên, các dự án như vậy thường cảm thấy quá nhân tạo, và do đó không phải là rất bổ ích để làm việc trên.Tặng thưởng các dự án mã cho * hoàn thành * người mới bắt đầu

Ý tưởng của bạn về các dự án mã bổ ích là gì? (Tốt hơn là dễ dàng để bắt đầu, và mở rộng theo ý muốn cho nâng cao hơn!).

Edit:

@ Mark: nhờ các liên kết, mặc dù tôi quan tâm nhiều hơn vào các dự án dành cho những người hoàn toàn mới để lập trình (liên kết dường như đề cập nhiều hơn đến những người đã thành thạo trong ít nhất một ngôn ngữ và cố gắng tìm hiểu một ngôn ngữ mới - đối tượng SO điển hình tôi muốn nói :) -).

@Kevin, Vaibhav, gary: Tôi đang nghĩ đến những người đang học lập trình thông qua một ngôn ngữ, do đó, vào đầu khóa học, một số không biết gì về cấu trúc điều khiển (và thậm chí ít hơn về bất kỳ loại cú pháp nào) . Tuy nhiên, tôi đã suy nghĩ trong một dự án khá lớn (thường là trong các dòng mã 1k-10k, có thể trong các nhóm 2 hoặc 3 sinh viên). Đây là những gì đã được thực hiện tại trường học của tôi cho người mới bắt đầu hoàn thành, và nó chắc chắn dường như làm việc cho họ ... ngoại trừ rằng hầu hết trong số họ tìm thấy các dự án của họ khá nhàm chán để làm việc trên!

Trả lời

4

Như đã được nêu một vài lần, những gì bạn đang cố gắng dạy cho người mới bắt đầu là rất quan trọng đối với dự án.

Lời khuyên của tôi cho bạn lên kế hoạch cho một cái gì đó như thế này:

1) Tránh làm cho một trò chơi máy tính

Một trò chơi máy tính, trong khi niềm vui để xây dựng, không thưởng cho các lập trình viên với kết quả ban đầu trên (đó là rất phức tạp). Bạn muốn tập trung vào các chương trình ứng dụng nhỏ nhưng hữu ích, chẳng hạn như Port Scanner. Ví dụ có một chút phức tạp, nhưng đó là một trong những dự án học tập tốt nhất mà tôi đã thấy trên web.

2) Dạy đồ họa sớm

Thật bổ ích khi nhìn thấy thành quả của lao động của bạn sớm và thúc đẩy bạn tiến xa hơn. Cho dù bạn đang sử dụng WinForms, MFC hay Win32 API, OpenGL hoặc DirectX, hãy dạy nó sớm.

3) Nhiều bài học nhỏ với thông tin chuyên sâu

Nguyên tắc này được theo sau bởi dự án Cổng quét được liên kết ở trên và hoạt động tốt. Dạy cho từng phần kỹ lưỡng, và dành thời gian cho người mới bắt đầu học bài học. Tôi nghĩ rằng ZophusX có định dạng tốt để cung cấp thông tin. Nó quá tệ, ông chủ yếu là từ bỏ trang web của mình.

4) Phải mất thời gian

Đừng vội vàng. Không ai trở thành một lập trình viên xuất sắc trong một vài tuần. Hãy thử và làm cho bài học trở nên đơn giản nhưng hấp dẫn và tiếp tục xây dựng từ các bài học trước của bạn.

5) Nhận thông tin phản hồi sớm và thường xuyên

Bạn có thể nghĩ rằng một dự án là vô cùng thú vị, hoặc một bài học cụ thể hoặc như vậy, nhưng bạn không phải là một học tập. (Các) sinh viên của bạn sẽ đánh giá rất cao khi bạn hỏi họ sớm về cách mọi thứ đang diễn ra và những gì họ muốn biết thêm. Đủ linh hoạt để bạn có thể đáp ứng một số yêu cầu đó.

6) Dạy vui vẻ

Vui chơi. Niềm đam mê là truyền nhiễm, và nếu học sinh của bạn (s) xem có bao nhiêu bạn thưởng thức các vấn đề, một số sự nhiệt tình đó sẽ chà xát trên chúng là tốt.

Tôi hy vọng điều đó sẽ hữu ích!

+0

Liên kết tới mã máy quét cổng dường như bị hỏng trên trang web đó. Có cơ hội nào bạn vẫn có một bản sao? Tôi đã liên lạc với trang web nhưng họ không trả lời. – Steve

0

Nó thực sự phụ thuộc vào những gì bạn đang cố gắng để dạy cho người mới bắt đầu. Nếu bạn đang cố gắng để dạy cú pháp, sau đó đơn giản "Hello World" chương trình và những người nhổ ra mỗi số lẻ giữa 1 và 100 là tốt để có được chúng bắt đầu. Nếu bạn đang cố gắng dạy cấu trúc dữ liệu, thì có thể một cái gì đó giống như một trò chơi 20 câu hỏi hoặc một số chương trình phân loại đơn giản. Nếu bạn đang cố gắng dạy đệ quy, thì có thể là một chương trình tìm kiếm đầu tiên. Nếu bạn đang cố gắng dạy các thao tác cơ sở dữ liệu, thì một cái gì đó giống như một hệ thống theo dõi thứ tự sẽ là thích hợp.

1

Nếu bạn đang đào tạo những người mới trong công ty của bạn, thì việc gắn chúng với tư cách là tài nguyên thực tập trong một dự án trực tiếp sẽ rất bổ ích.

Điều này làm tăng tải công việc của các nhà phát triển chính một chút (vì họ phải xem xét tất cả công việc mà người thực tập làm), nhưng đi một chặng đường dài về đào tạo và phát triển của người đó.

2

Một số dự án đáng làm tốt, về những gì bạn có thể học và đó là khá ổn định về độ phức tạp, tính năng này là:

  • Games
  • Một đi lại và vận chuyển hệ thống đặt phòng/đặt phòng
  • Bách khoa toàn thư hoặc một từ điển từ ngữ, bài viết
  • Máy tính chuyển đổi (ngoại tệ, đơn vị, vv)

Điều quan trọng là chọn một dự án đơn giản, để một số tính năng của nó ngay lập tức rõ ràng, khi bạn nhìn vào tiêu đề dự án. Và khi thực sự đưa ra một suy nghĩ, sẽ tiết lộ thêm nhiều tính năng mà bạn có thể thêm vào nó.

Dự án phải có đủ khó khăn để các tính năng của nó dường như vượt ra ngoài tầm với của người mới bắt đầu, từ đó thúc đẩy anh ấy học hỏi điều gì đó mới mẻ.

1

Tôi nghĩ rằng trò chơi và câu đố là một nơi tốt để bắt đầu vì họ có thể cung cấp phạm vi tuyệt vời để phát triển các phiên bản phức tạp hơn. Ví dụ: tic-tac-toe chương trình có thể được xây dựng dưới dạng chương trình dòng lệnh đơn giản ban đầu cho phép hai người chơi chơi trò chơi.

Bước này có thể được sử dụng để hiển thị cách cấu trúc dữ liệu đơn giản hoặc mảng có thể đại diện cho bảng trò chơi, đầu vào đơn giản để nhận lệnh/di chuyển của người dùng, đầu ra đơn giản để hiển thị bảng trò chơi và lời nhắc, v.v. một thuật toán có thể được sử dụng để cho phép người chơi so với chế độ máy tính. Tôi thích thuật toán toán học phép thuật vuông đơn giản cho tic-tac-toe vì nó dựa trên rất toán đơn giản. Sau đó, giới hạn giao diện người dùng, sử dụng tệp I/O để tải và lưu trò chơi, các thuật toán nâng cao hơn để máy tính chơi tốt hơn. Các trò chơi phức tạp và thỏa mãn hơn vẫn có thể được tạo bằng chế độ văn bản hoặc đồ họa đơn giản.

Tôi đã sử dụng trò chơi Sokoban làm phương tiện hiển thị nhiều kỹ thuật trong những năm qua.

Trò chơi đơn giản nhất mà tôi đã sử dụng là trò chơi đảo ngược danh sách số. Điều này bao gồm một danh sách các con số hỗn hợp từ 1-9. Người chơi có thể chỉ định một số chữ số để đảo ngược ở bên trái của danh sách. Mục đích là để có được danh sách được sắp xếp. Điều này là tuyệt vời cho người mới bắt đầu tuyệt đối. Mỗi phần nhỏ của trò chơi có thể được viết và kiểm tra riêng biệt.

0

Cuộc phiêu lưu văn bản.

  • Đó là một ứng dụng giao diện điều khiển
  • Bạn sẽ cần phải làm một số việc hữu ích, giữ hàng tồn kho, lập bản đồ và trạng thái phòng và phân tích đầu vào
  • thật thú vị, bạn có thể đưa nó cho người khác để chơi! : D
Các vấn đề liên quan