Vorschläge für Lernprogramme [geschlossen]


12

Abgesehen von diesen sehr einfachen Hello World-Apps frage ich mich, welche anderen Programme ich zum Lernen entwickeln soll. Ich gehe nächstes Jahr zur Uni und frage mich, welche Programme in dieser Umgebung entwickelt werden.

das ist nicht wirklich eine sprachspezifische sache, aber wenn du wissen willst was ich momentan hauptsächlich benutze

  • windows: C # / WPF - Ich habe Java / VB usw. in Poly studiert, aber ich denke, C # ist der richtige Weg, vielleicht sogar F #.
  • Web: PHP / MySQL, Zend Framework / Doctrine, + HTML / CSS / JS (jQuery) natürlich. auf der Suche nach Google App Engine mit Python zu versuchen.

für jetzt denke ich an

  • Aufgabenlisten
  • Apps, die sich in die API integrieren, z. twitter / tumblr die ich benutze
  • Texteditor - Ich versuche derzeit, einen Texteditor zu entwickeln, der Markdown verwendet und HTML-Dateien zum Anzeigen generiert (Link zum Blogeintrag). nicht sehr praktisch, nachdem ich angefangen habe, es zu entwickeln. cos, wenn Sie theres keine Formatierung und im HTML-Format redigieren, kann ich nicht direkt redigieren

  • Blog-Software (für das Web)

Antworten:


18

Schauen Sie sich Project Euler an. Es gibt nichts Vergleichbares, um Ihre grundlegenden Programmierfähigkeiten zu verbessern.


2
+1. Der Vorteil von Project Euler besteht darin, dass Sie die Lösungen in einer beliebigen Sprache implementieren und dann vergleichen / gegenüberstellen können.
Thomas Owens

1
+1 - Tolle Antwort! Sie haben ein Fitnessstudio für unser Gehirn
Karthik Sreenivasan

6

Ich schreibe zur Zeit einen regulären Ausdruck Parser / Matcher und seine Lehre mich eine riesige Menge über das Parsen und endliche Automaten und regulären Ausdrücken sich unter anderem. Der Grund, warum ich einen Regex- Parser für besonders nützlich halte , ist, dass die Regex-Sprache klein und in ihren Möglichkeiten ziemlich begrenzt ist.

Ich habe auch einen Dolmetscher für Ook geschrieben! , das ist eine einfache Aufgabe, aber noch einmal lehrt Sie eine Tonne.


+1 SC Kleene war nicht ohne Grund der Erfinder von Regex.
ixtmixilix

2

CodePlex.com listet viele Open Source-Projekte auf, die mit C # erstellt wurden. Sie könnten einen Blick auf die Website werfen, um einige Ideen zu bekommen.


2

Sie können sich auch TopCoder ansehen . Diese Seite hat großartige Algorithmen zu lernen und sie führen von Zeit zu Zeit Wettbewerbe durch. Der wichtige Vorteil dieser Site ist, dass Sie anderen Quellcode für ein bestimmtes Problem anzeigen und mehr darüber erfahren können.

Und auch auf den SE-Seiten muss man sich CodeGolf ansehen .


1

(Dies ist meistens eine mata Antwort und keine Projektliste.)

Überlegen Sie, warum Sie das Programm schreiben: Wird es für sich genommen nützlich sein oder ist es nur dazu gedacht, einen Aspekt eines Tools / einer API / einer Sprache zu lernen?

Im letzteren Fall ist es von Vorteil, wenn das resultierende Programm so kurz wie möglich ist und nur als Referenz dient.

Im ersten Fall, warum sollte das Lernen nicht in jeder Hinsicht auf bewährte Verfahren ausgeweitet werden: Nehmen Sie an, Sie müssen es warten und erweitern. Verwenden Sie daher Versionskontrolle, Fehlerverfolgung, Refactoring, Komponententests usw., da all diese Dinge für einen Entwickler mindestens genauso wichtig sind wie die Kenntnis einer anderen API.


Wie wäre es mit einem Feed-Integrator:

  • RSS / Atom-Quellen
  • Behandle Twitter mit seiner API (und mache das Abkürzen des Links)
  • Basierend auf der Quelle eine steckbare Nachbearbeitung zulassen (z. B. Herunterladen von MP3s aus einem Podcast-Feed)

(Die Idee ist, sich auf die Integration verschiedener Implementierungen desselben Paradigmas zu konzentrieren: geplanter HTTP-Abruf eines RSS-Feeds vs. Twitter-API vs.


Vielen Dank. Ich denke, dies entspricht dem, was ich denke: Integration mit Webservices. auch ich denke abt apps verschiedene apps, die verschiedene funktionen der sprache verwenden. z.B. Mit dem Texteditor habe ich versucht, Wpf Ribbon zu integrieren
Jiew Meng

1

Ich habe viel gelernt, an solchen Hobbyprojekten zu arbeiten:

  • Einfache Spiele (Snake-Klon, Tic Tac Toe-Klon usw.)
  • Bildschirmschoner

Ganz zu schweigen davon, dass es unglaublich viel Spaß macht, mit solchen Projekten zu arbeiten :-).


1

Programmiere ein kleines Spiel: Es macht Spaß und du lernst viel.

Einige Ideen:

  • Minensuchboot
  • Tetris
  • Ein Kartenspiel
  • Schlange

Und wenn es fertig ist, warum nicht eine Highscore-Website implementieren ...



0

Spyrograph. Geben Sie die Abmessungen eines Außenrings, einer Innenscheibe und einer Stiftspitze entlang ihres Durchmessers an. Zeichnen Sie den Pfad des Stifts, während die innere Scheibe an der Innenseite des äußeren Rings entlang rollt.

Maker wechseln. Eingabekosten und Betrag werden dem Kassierer mitgeteilt. Berechnen Sie das Optimum für den Kassierer, um Änderungen vorzunehmen. Es gibt einen langsamen und einen schnellen Weg, dies zu lösen. Finden Sie den schnellen Weg.

OO-Life-Simulation. Nachschlagen des Lebensalgorithmus. Machen Sie einen zufälligen Startzustand und geben Sie nachfolgende Schritte aus, indem Sie OO-Design verwenden, um die Logik von der Präsentation zu entkoppeln. Geben Sie Text und Grafiken aus.

Missionary / Cannibals Solver, Schau dir dieses berühmte Rätsel an. Schreiben Sie ein Programm, um es mithilfe von Suchbäumen zu lösen. Vergleichen Sie BFS mit DFS.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.