Saran proyek Do-It-Yourself untuk mempertajam keterampilan pemrograman atau mempelajari bahasa baru [tertutup]


10

Karena cara terbaik untuk belajar adalah bekerja pada proyek, perangkat lunak apa sajakah yang bisa dibuat untuk tujuan mengasah keterampilan pemrograman tertentu atau mempelajari bahasa baru?


3
Klon situs ini.

Jawaban:


11

Saya menemukan program-program berikut memberikan awal yang baik dengan bahasa baru:

Permainan Kehidupan Conway

Mudah diimplementasikan. Memberi Anda awal yang baik dengan penggunaan kelas wadah yang sederhana. Tidak perlu grafis untuk output hasil.

Selain itu Anda bisa menulis versi 3D-nya, dan menggunakan mesin game untuk output (mis. Sesuatu yang sederhana seperti Panda3D)

Pemecah Sudoku

Sedikit lebih rumit. Kompleksitas dapat disesuaikan dengan kebutuhan Anda. Baik membatalkan nomor dan berhenti ketika itu tidak mungkin lagi atau teruskan dan terapkan pohon pencarian untuk memecahkan masalah yang lebih kompleks. Masalah dan solusi untuk Sudokus pada setiap tingkat kesulitan untuk menguji program Anda tersedia di web dengan berlimpah. Sama untuk materi tentang strategi yang mungkin.

Project Euler

Masalah pada setiap tingkat kesulitan yang Anda inginkan. Dan bandingkan solusi Anda dengan para programmer yang berpengalaman dalam setiap bahasa pemrograman utama.


Anda dapat mencoba mengimplementasikan Game of Life di berbagai platform. Saya melakukannya di kanvas HTML5 / Javascript. Itu mengagumkan!
mauris

5

Saya tidak yakin apa yang Anda maksud dengan 'apa saja perangkat lunak yang bagus untuk dicoba ...', tetapi saya dapat merekomendasikan buku 'tujuh bahasa dalam tujuh minggu'

Ini memberi Anda titik awal yang baik untuk mencoba bahasa baru.


Saya baru saja mendapatkan buku ini, dan resolusi tahun baru saya adalah untuk mengikutinya.
Tangurena

5

Cukup masuk ke salah satu situs berikut dan lihat apakah Anda siap dengan tantangan pengkodean yang dihadirkan: SPOJ , TOPCODER dll.

Sebagian besar situs ini memberi Anda opsi pengkodean dalam berbagai bahasa pemrograman sehingga Anda dapat menggunakan salah satu yang paling Anda kenal.

Dan jika Anda adalah master di gim Anda, selalu ada ICPC .


3

Saya akan mengatakan proyek apa pun yang memenuhi tiga persyaratan berikut:

  • Sesuatu yang menurut Anda menarik
  • Sesuatu di mana Anda bisa merasakan kemajuan dengan sangat cepat (jadi misalnya mencoba menghindari sesuatu seperti membuat game 3d)
  • Sesuatu yang sesuai dengan paradigma pemrograman bahasa itu. Misalnya jika itu adalah bahasa fungsional, maka proyek di mana Anda akan melakukan manipulasi data, matematika, atau sesuatu.

2
Poin pertama Anda adalah kunci. Jika Anda tidak tertarik pada proyek, akan lebih sulit untuk mempertahankan kemajuan dan antusiasme yang Anda butuhkan untuk dapat belajar.
ChrisF

2
  • Pergi ke Sourceforge.net atau GitHub, cari proyek dalam bahasa itu, dan lihat mana yang membuat Anda penasaran.
  • Pikirkan perpustakaan yang paling sering Anda tangani dalam "kehidupan nyata". Apakah Anda menulis banyak layanan web? Cobalah menulis kerangka layanan web untuk bahasa baru. Apakah banyak pemrograman grafis? Cobalah menulis mesin rendering sederhana. Apakah analisis data? Terapkan paket statistik dasar. Dll, dll. Ini memiliki manfaat bahwa Anda sudah akan melihat utilitas (karena Anda menggunakan sesuatu yang serupa setiap hari) dan Anda sudah memiliki pengetahuan domain. Proyek-proyek semacam ini juga cenderung menjadi proyek yang dapat Anda gunakan untuk mengubah jumlah waktu tak terbatas (yaitu, belajar lebih banyak hal dari), yang mungkin ingin Anda buka pada akhirnya, dan itu akan membuat Anda tetap terlibat dalam bahasa jika mereka menjadi hobi yang berkelanjutan; Kelemahan dari itu adalah bahwa itu mungkin tidak pernah benar-benar merasa "selesai", dan itu
  • Bergantung pada domain pengembangan, mungkin ada buku yang khusus dimaksudkan untuk memandu Anda melalui proyek. Ini cenderung terutama berlaku untuk platform pengembang game (iOS, XNA).

1

Untuk pemula

Manipulasi String:

  • Game Hangman.

Basis data:

  • daftar yang harus dilakukan
  • semacam latihan atau jurnal pribadi

Manipulasi Angka Acak:

  • Putar rodanya

Matriks dan Grafis Dasar

  • Tetris

1

Apa pun yang Anda sukai cukup untuk terus dilakukan. Pembelajaran terbanyak dilakukan dalam 1% terakhir yang biasanya diabaikan pada proyek sampingan, tetapi merupakan bagian yang sangat penting dari produk kerja.

Akibatnya, itu adalah pilihan yang sangat pribadi apa proyek itu bisa. Itulah sebabnya ada begitu banyak proyek OS yang hebat di luar sana, dan mengapa semua orang mengatakan bahwa mereka sangat berarti ketika mereka sedang dalam resume Anda / CV: orang itu bekerja keras untuk itu dan belajar banyak dari mengerjakan 1% terakhir untuk membuatnya itu dapat digunakan oleh orang lain dan menikmati apa yang mereka lakukan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.