Do-It-Yourself-Projektvorschläge zur Verbesserung der Programmierkenntnisse oder zum Erlernen einer neuen Sprache [geschlossen]

10

Da der beste Weg zum Lernen darin besteht, an Projekten zu arbeiten, gibt es eine gute Software, mit der Sie versuchen können, bestimmte Programmierkenntnisse zu verbessern oder eine neue Sprache zu lernen.

Zhenka
quelle
3
Klonen Sie diese Seite.

Antworten:

11

Ich fand die folgenden Programme einen guten Start mit neuen Sprachen:

Conways Spiel des Lebens

Einfach zu implementieren. Bietet Ihnen einen guten Einstieg in die einfache Verwendung von Containerklassen. Benötigt nicht unbedingt Grafiken für die Ausgabe der Ergebnisse.

Außerdem können Sie eine 3D-Version davon schreiben und eine Spiel-Engine für die Ausgabe verwenden (z. B. etwas Einfaches wie Panda3D).

Sudoku-Löser

Etwas komplexer. Die Komplexität kann an Ihre Bedürfnisse angepasst werden. Entweder einfach Zahlen stornieren und anhalten, wenn dies nicht mehr möglich ist, oder einen Suchbaum implementieren, um komplexere Probleme zu lösen. Probleme und Lösungen für Sudokus in allen Schwierigkeitsgraden zum Testen Ihres Programms sind im Internet in Hülle und Fülle verfügbar. Gleiches gilt für Material zu möglichen Strategien.

Projekt Euler

Probleme in jedem Schwierigkeitsgrad. Und vergleichen Sie Ihre Lösungen mit denen erfahrener Programmierer in allen wichtigen Programmiersprachen.

thorsten müller
quelle
Sie können versuchen, das Game of Life auf verschiedenen Plattformen zu implementieren. Ich habe es auf HTML5 / Javascript Canvas gemacht. Es war fantastisch!
Mauris
5

Ich bin mir nicht sicher, was Sie mit "Was ist eine gute Software zum Ausprobieren ..." meinen, aber ich kann das Buch "Sieben Sprachen in sieben Wochen" empfehlen.

Es gibt Ihnen einen guten Ausgangspunkt, um neue Sprachen auszuprobieren.

Michiel Overeem
quelle
Ich habe gerade dieses Buch bekommen und mein Neujahrsvorsatz ist es, ihm zu folgen.
Tangurena
5

Melden Sie sich einfach auf einer der folgenden Websites an und prüfen Sie , ob Sie den Codierungsherausforderungen gewachsen sind : SPOJ , TOPCODER usw.

Die meisten dieser Websites boten Ihnen die Möglichkeit, in mehreren Programmiersprachen zu codieren, damit Sie diejenige verwenden können, mit der Sie am besten vertraut sind.

Und wenn Sie ein Meister in Ihrem Spiel sind, gibt es immer ICPC .

Fanatic23
quelle
3

Ich würde sagen, jedes Projekt, das die folgenden drei Anforderungen erfüllt:

  • Etwas, das Sie interessant finden
  • Etwas, bei dem Sie sehr schnell ein Gefühl für den Fortschritt bekommen können (versuchen Sie also beispielsweise, etwas wie das Erstellen eines 3D-Spiels zu vermeiden).
  • Etwas, das zum Programmierparadigma dieser Sprache passt. Wenn es sich beispielsweise um eine funktionale Sprache handelt, handelt es sich um ein Projekt, in dem Sie Datenmanipulationen, Mathematik oder ähnliches durchführen würden.
Pete
quelle
2
Ihr erster Punkt ist der Schlüssel. Wenn Sie nicht an dem Projekt interessiert sind, wird es schwieriger sein, den Fortschritt und die Begeisterung aufrechtzuerhalten, die Sie benötigen, um lernen zu können.
ChrisF
2
  • Gehen Sie zu Sourceforge.net oder GitHub, suchen Sie nach Projekten in dieser Sprache und sehen Sie, welche Sie faszinieren.
  • Denken Sie an die Bibliotheken, mit denen Sie im "echten Leben" am häufigsten arbeiten. Schreiben Sie viele Webservices? Versuchen Sie, ein Webservices-Framework für die neue Sprache zu schreiben. Viel Grafikprogrammierung? Versuchen Sie, eine einfache Rendering-Engine zu schreiben. Datenanalyse? Implementieren Sie ein grundlegendes Statistikpaket. Usw. Dies hat den Vorteil, dass Sie das Dienstprogramm bereits sehen (weil Sie täglich etwas Ähnliches verwenden) und bereits über einige Domänenkenntnisse verfügen. Diese Art von Projekten sind in der Regel auch solche, bei denen Sie unendlich viel Zeit damit verbringen können, Änderungen vorzunehmen (dh mehr zu lernen), die Sie möglicherweise irgendwann als Open Source-Version verwenden möchten, und die Sie in die Sprache einbeziehen, wenn sie zu einer werden laufendes Hobby; Der Nachteil dabei ist, dass es sich möglicherweise nie wirklich "fertig" anfühlt, und dass '
  • Abhängig von der Entwicklungsdomäne gibt es möglicherweise Bücher, die Sie speziell durch Projekte führen sollen. Dies gilt insbesondere für Spieleentwicklungsplattformen (iOS, XNA).
Arkaaito
quelle
1

Für Anfänger

String-Manipulation:

  • Henker-Spiel.

Datenbank:

  • Aufgabenliste
  • eine Art Training oder persönliches Tagebuch

Zufallszahlenmanipulation:

  • Drehe das Rad

Matrix und grundlegende Grafiken

  • Tetris
Zhenka
quelle
1

Alles, was Sie mögen, um weiterzumachen. Das meiste Lernen wird in den letzten 1% durchgeführt, die bei einem Nebenprojekt normalerweise ignoriert werden, aber ein sehr wichtiger Teil eines Arbeitsprodukts sind.

Daher ist es eine sehr persönliche Entscheidung, wie das Projekt aussehen könnte. Das ist der Grund, warum es so viele großartige OS-Projekte gibt und warum jeder sagt, dass sie so wichtig sind, wenn sie in Ihrem Lebenslauf sind: Diese Person hat hart daran gearbeitet und viel gelernt, indem sie an den letzten 1% davon gearbeitet hat es kann von anderen benutzt werden und genießt, was sie tun.

Steven Evers
quelle