Do-It-Yourself proje becerilerini geliştirmek veya yeni bir dil öğrenmek için öneriler [kapalı]


10

Öğrenmenin en iyi yolu projeler üzerinde çalışmak olduğundan, belirli programlama becerilerini keskinleştirmek veya yeni bir dil öğrenmek amacıyla kendinizi geliştirmeye çalışmak için iyi yazılımlar nelerdir?


3
Bu siteyi klonlayın.

Yanıtlar:


11

Aşağıdaki programların yeni dillerle iyi bir başlangıç ​​yaptığını gördüm:

Conway'in Yaşam Oyunu

Uygulaması kolaydır. Konteyner sınıflarının basit kullanımı ile size iyi bir başlangıç ​​sağlar. Sonuçların çıktısı için grafiklere ihtiyaç duymaz.

Buna ek olarak, bunun 3D sürümünü yazabilir ve çıktı için bir oyun motoru kullanabilirsiniz (örneğin Panda3D gibi basit bir şey)

Sudoku Çözücü

Biraz daha karmaşık. Karmaşıklık ihtiyaçlarınıza göre ayarlanabilir. Ya sadece sayıları iptal edin ve artık mümkün olmadığında durun ya da daha karmaşık sorunları çözmek için bir arama ağacı uygulayın. Sudokus için programınızı test etmek için her zorluk seviyesi ile ilgili sorunlar ve çözümler web'de bolca mevcuttur. Olası stratejiler için de aynı şey geçerli.

Proje Euler

İstediğiniz her zorluk seviyesindeki sorunlar. Ve çözümlerinizi her büyük programlama dilinde deneyimli programcıların çözümleriyle karşılaştırın.


Hayat Oyunu'nu çeşitli platformlarda uygulamayı deneyebilirsiniz. HTML5 / Javascript tuvalinde yaptım. Harikaydı!
mauris

5

'Denemek için iyi yazılımlar nelerdir?' İle ne demek istediğinizden emin değilim, ancak 'yedi haftada yedi dil' kitabını önerebilirim

Yeni dilleri denemeniz için iyi bir başlangıç ​​noktası sağlar.


Bu kitabı yeni aldım ve yeni yıl kararım onu ​​takip etmektir.
Tangurena

5

Aşağıdaki sitelerin herhangi birinde oturum açın ve sundukları kodlama zorluklarına bağlı olup olmadığınızı görün: SPOJ , TOPCODER vb.

Bu sitelerin çoğu, size en çok tanıdık olanı kullanabilmeniz için birden fazla programlama dilinde kodlama seçeneği sunmuştur.

Ve eğer oyununuzda usta iseniz, her zaman ICPC vardır .


3

Aşağıdaki üç gereksinimi karşılayan herhangi bir projeyi söyleyebilirim:

  • İlginç bulduğun bir şey
  • İlerleme hissini çok hızlı alabileceğiniz bir şey (örneğin, 3d oyun oluşturmak gibi bir şeyden kaçınmaya çalışın)
  • O dilin programlama paradigmasına uyan bir şey. Örneğin, işlevsel bir dilse, bazı veri manipülasyonu, matematik veya başka bir şey yapacağınız bir proje.

2
İlk noktanız anahtar. Projeyle ilgilenmiyorsanız, öğrenmeniz gereken ilerlemeyi ve coşkuyu sürdürmek daha zor olacaktır.
ChrisF

2
  • Sourceforge.net veya GitHub'a gidin, o dildeki projeleri arayın ve hangilerinin sizi ilgilendirdiğini görün.
  • "Gerçek hayatta" en sık çalıştığınız kütüphaneleri düşünün. Çok fazla web hizmeti yazıyor musunuz? Yeni dil için bir web hizmetleri çerçevesi yazmayı deneyin. Çok fazla grafik programlama yapıyor mu? Basit bir oluşturma motoru yazmayı deneyin. Veri analizi yapıyor mu? Temel bir istatistik paketi uygulayın. Vb, vb. Bu, yardımcı programı zaten görmeniz avantajına sahiptir (çünkü günlük bazda benzer bir şey kullandığınız için) ve zaten bazı etki alanı bilgisine sahip olursunuz. Bu tür projeler aynı zamanda sonsuz miktarda zaman harcayabileceğiniz (yani, daha fazla şey öğrenebileceğiniz), sonunda kaynak açmak isteyebileceğiniz ve bir devam eden hobi; bunun dezavantajı, asla gerçekten "bitmiş" hissetmeyebilmesi ve
  • Geliştirme alanına bağlı olarak, özellikle projelerde size rehberlik etmeyi amaçlayan kitaplar olabilir. Bu, özellikle oyun geliştirme platformları (iOS, XNA) için geçerli olma eğilimindedir.

1

Yeni başlayanlar için

Dize İşleme:

  • Adam asmaca oyunu.

Veri tabanı:

  • yapılacaklar listesi
  • bir tür egzersiz veya kişisel günlük

Rastgele Sayı İşleme:

  • Tekerleği döndür

Matris ve Temel Grafikler

  • Tetris

1

Yapmaya devam etmeyi sevdiğin her şey. En fazla öğrenme, bir yan projede yaygın olarak göz ardı edilen, ancak bir iş ürününün çok önemli bir parçası olan son% 1'de yapılır.

Sonuç olarak, projenin ne olabileceği çok kişisel bir seçimdir. Bu yüzden orada çok sayıda harika işletim sistemi projesi var ve herkes özgeçmişiniz / CV'nizdeyken çok önemli olduğunu söylüyor: bu kişi üzerinde çok çalıştı ve bunu yapmak için son% 1 üzerinde çalışmaktan çok şey öğrendi başkaları tarafından kullanılabilir ve yaptıkları şeylerden zevk alır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.