Pertanyaan Proyek mainan untuk programmer baru


Ketika saya pertama kali mulai mengajar sendiri pemrograman, setelah menyelesaikan tutorial saya akan merasa seperti saya masih tidak bisa melakukan apa pun dalam bahasa. Jadi, saya mencari-cari sesuatu untuk dikerjakan. Karena saya baru saja belajar beberapa hal dasar, jumlah pekerjaan yang terlibat dalam pencarian, membaca, dan menambah proyek open source tampaknya tidak dapat diatasi. Sebaliknya, saya memulai dengan beberapa proyek mainan, yang akhirnya sangat menguntungkan.

Telah melihat banyak pertanyaan dari pemula mirip dengan "apa yang harus saya lakukan sekarang?" dan banyak jawaban yang mirip dengan "mulai bekerja untuk proyek open source" telah membuat saya berpikir harus ada saran yang lebih baik untuk programmer baru. Saat mengerjakan proyek open source pasti memberikan pengalaman hebat, ada hambatan yang jelas untuk masuk.

Sebaliknya, saya pikir akan lebih baik jika programmer baru didorong untuk mengerjakan program mainan terkait dengan beberapa minat yang mereka miliki. Karena ada begitu banyak arah sehingga pemrograman dapat membawa Anda, saya pikir akan menarik untuk membuat daftar beberapa proyek sederhana (tetapi menyenangkan / bermanfaat) yang dikelompokkan berdasarkan arah yang dicari oleh programmer baru. Seperti:

Desain permainan:

Tuliskan petualangan teks (seperti Zork)

Pemrosesan Bahasa Alami:

Buat program yang menulis tanpa arti, tetapi esai yang sah secara tata bahasa.


4


asal


Jawaban:


Saya benar-benar berpikir bahwa a TopCoder pendekatan mungkin lebih baik ... programmer masih dapat memilih topik yang menarik, tetapi mereka sebenarnya bekerja untuk hadiah pada proyek NYATA dan mereka dapatkan umpan balik. Terus terang, TopCoder adalah sedikit gembung dan sejauh yang saya tahu, mereka tidak mengizinkan orang untuk membuat kompetisi gratis. Akan lebih bagus lagi jika ada jenis situs TopCoder / StackOverflow: orang dapat mengirimkan kode, mendapatkan suara pada penerapannya dan hanya bersenang-senang!

Saya bahkan akan melontarkan ide saya, saya mulai bekerja pada versi saya sendiri dari monstrositas TopCoder / StackOverflow hybrid yang disebut MyDevArmy (meskipun saya belum melakukan apa pun sejauh ini kecuali membeli domain).


2



Saya baru-baru ini mengajukan pertanyaan serupa (Beragam sumber daya masalah untuk menunjukkan kelebihan bahasa yang berbeda) dan mendapat tautan ke situs yang menyediakan set masalah, serta validasi. Periksa:

http://www.codechef.com/

https://www.spoj.pl/problems/classical/

http://wiki.python.org/moin/ProblemSets

http://projecteuler.net/

Meskipun masalah-masalah ini tidak cukup berarti untuk proyek, tetapi masih menarik. Saya tertarik melihat apa yang orang-orang kemukakan di sini.


4



Tulis program yang menjadikan Wolfram automata (esp. Aturan 110).

Lihat YelloSoft misalnya kode.


0



Mulailah dengan menulis simulasi Blackjack. Pilih strategi mana yang Anda inginkan untuk lari pertama.

Selanjutnya, mulailah menambahkan tambahan untuk strategi yang berbeda seperti memukul / berdiri ketika nilai tangan Anda adalah 15 vs 16 vs. 17 vs. 18, dan apakah tangan lunak atau keras (nilai ace dihitung sebagai 1 atau 11). Strategi dealer akan konstan, karena mereka benar-benar di kasino.

Pada akhirnya, program Anda akan berjalan, katakanlah, 1000 contoh dari setiap kombinasi strategi. Ini akan mencetak ringkasan tingkat kemenangan tangan (persentase kali Anda mengalahkan dealer) untuk setiap nilai berdiri dan kombinasi keras / lunak.

Ini adalah salah satu proyek favorit saya yang pernah saya lakukan dan itu benar-benar dapat memperkaya beberapa teknik dalam bahasa yang Anda pilih. Plus, jika Anda memiliki inisiatif untuk mulai mempelajari beberapa matematika diskrit (yang cukup sederhana) yang terlibat dalam kemungkinan situasi ini sebagai proyek sampingan, Anda bisa mendapatkan pengalaman yang lebih baik. Siapa tahu, mungkin Anda bisa membuang barang-barang komputer ini dan mengambil kartu menghitung?


0