Angepinnt [Sammelthread] Programmieren, aber was? (Programmideen)

Es gibt 299 Antworten in diesem Thema. Der letzte Beitrag () ist von Tobias Claren.

    [Sammelthread] Programmieren, aber was? (Programmideen)

    Habe da eine kleine Idee was vielleicht andere User interessieren könnte: (Hoffe es passt in dieses Unterforum)

    Idee entstand eigentlich durch ein kleines "Problem" meinerseits. "Welche Programme könnte man als Übung programmieren?"
    So habe ich mich mal an Kouki gewendet der mir da mal weitergeholfen hat mit diesem Post.

    Nun dachte ich mir vielleicht haben andere auch ein ähnliches Problem und würde gerne eine kleine Sammlung starten an Übungsprogrammen.
    Die Erfahrenen unter euch können glaub ich gut einschätzen ob dies Anfänger, Fortgeschritten oder Profi Beispiele sind.

    Verwende zum Start mal gleich die Beispiele aus dem oben genannten post (wird fortgesetzt)


    Anfänger

    • [Anfänger] Hello World-Programm
    • [Anfänger] Kleiner Browser mit der WebBrowser-Komponente
    • [Anfänger] einfaches Textprogramm
    • [Anfänger] Rotationsalgorithmus
    • [Anfänger] Tic Tac Toe Wiki
    • [Anfänger] Zahlenraten
    • [Anfänger] Taschenrechner mit zwei Textboxen
    • [Anfänger] Dialogbox für bestimmte Ordner (Hilfe bei diesem Thread)
    • [Anfänger] Kleines Paint
    • [Anfänger] Wecker
    • [Anfänger] Adressverwaltung/Kontaktdatenbank
    • [Anfänger] Conways Game of Life Wiki
    • [Anfänger] Virtuelle Slotmachine
    • [Anfänger] Multi-Datei-Renamer Beschreibung
    • [Anfänger] Explorer-Clone
    • [Anfänger] Karthesisch - Polar Rechner Info
    • [Anfänger] Messagebox Erstell-Programm mit "Als VBS exportieren"-Funktion
    • [Anfänger] Binäruhr
    • [Anfänger] Programm zum Programme zusammenfassen
    • [Anfänger] Umrechner für Zahlensysteme
    • [Anfänger] Spiel - Mastermind
    • [Anfänger] Acht-Damen-Problem Wiki
    • [Anfänger] Zutrittskontrolle mit Datenbank und Einfärbungen Info
    • [Anfänger] Lotto Simulation
    • [Anfänger] Eine Autotag-DLL für Titel von Youtube-Musikvideos Info
    • [Anfänger] Schwerpunkt-Berechnung von Körpern und Flächen
    • [Anfänger] Backup Programm
    • [Anfänger] Notizverwaltung (wie zB Evernote)

    Anfänger/Fortgeschritten

    • [Anfänger/Fortgeschritten] Eine Ameisensimulation
    • [Anfänger/Fortgeschritten] Simulation Schräger Wurf (Ball mit der Maus "packen" und werfen)
    • [Anfänger/Fortgeschritten] Geldverwaltung Beschreibung
    • [Anfänger/Fortgeschritten] Filmdatenbank Beschreibung
    • [Anfänger/Fortgeschritten] Einfaches, bedienbares Bildanzeigeprogramm
    • [Anfänger/Fortgeschritten] Eine TextBox (Control)
    • [Anfänger/Fortgeschritten] Webbrowser mit Lesezeichen,Speicher Funktionen,Druckfunktion,Progressbar,Tabs
    • [Anfänger/Fortgeschritten] CD-Sammlungsverwaltung mit QR-Codes
    • [Anfänger/Fortgeschritten] Diagnosesoftware Info
    • [Anfänger/Fortgeschritten] Scriptsystem mit kleinem Interpreter Info
    • [Anfänger/Fortgeschritten] Vokabeltrainer
    • [Anfänger/Fortgeschritten] Ein Programm, das Unterschiede zwischen zwei Bildern erkennt und anzeigt. 2 Varianten: Info
    • [Anfänger/Fortgeschritten] My.Settings Cleaner Info
    • [Anfänger/Fortgeschritten] Benchmark mit Bewertungssystem Info
    • [Anfänger/Fortgeschritten] WindowsForm, die aussieht wie das von VMWare Info1 Info2
    • [Anfänger/Fortgeschritten] Ein Tool, mit dem man Excel-Passwörter aushebeln kann Info
    • [Anfänger/Fortgeschritten] Eine DLL zur Berechnung von Bewegungen/Körpern im kartesischen Koordinatensystem (3D)...evtl. noch Zusätze wie eulerscher Winkel, Quateronien, etc. Info
    • [Anfänger/Fortgeschritten] Media bit von Laufwerken auslesen + sichern , ändern und wiederherstellen Info
    • [Anfänger/Fortgeschritten] TicTacToe im Lokalen Netzwerk mit Ports
    • [Anfänger/Fortgeschritten] Tilemap Editor Info
    • [Anfänger/Fortgeschritten] Icon-Maker
    • [Anfänger/Fortgeschritten] Kalender/Terminverwaltung
    • [Anfänger/Fortgeschritten] Internetchat (NICHT FTP)


    Fortgeschritten

    • [Fortgeschritten] GDI+
    • [Fortgeschritten] Tic Tac Toe mit KI
    • [Fortgeschritten] Taschenrechner mit Rechenstring (+ sin, cos, tan)
    • [Fortgeschritten] Stammbaum
    • [Fortgeschritten] Multithreaded Netzwerkscanner
    • [Fortgeschritten] Controls erstellen Beispiel
    • [Fortgeschritten] Powerpoint-Clone Details
    • [Fortgeschritten] Icon-Creator Beschreibung
    • [Fortgeschritten] Music-Player Beschreibung
    • [Fortgeschritten] HTML-Editor Beschreibung
    • [Fortgeschritten] Dijkstra-Algorythmus Wiki bzw A*.
    • [Fortgeschritten] Relaiscomputer Simulator: Simuliert exakt die Vorgänge eines Relaiscomputers Info
    • [Fortgeschritten] Programm, dass den Computer aufräumt (Dateien, Registery)
    • [Fortgeschritten] Hardware-Informationsausgabe (Welche Slots noch frei? Was ist besetzt und womit?)
    • [Fortgeschritten] Hardware-Kompatibilitätscheck mit Datenbank im Netz
    • [Fortgeschritten] Hitparade Downloader
    • [Fortgeschritten] Text-verschlüsselungsprogramm
    • [Fortgeschritten] Datei-verschlüsselungsprogramm
    • [Fortgeschritten] E-Mail-Client wie Live Mail
    • [Fortgeschritten] Programm zum verwalten von seinen Finanzen
    • [Fortgeschritten] Umfangreiches Screenshot Programm
    • [Fortgeschritten] Programm mit dem Ich reden kann
    • [Fortgeschritten] Office-Klon
    • [Fortgeschritten] Sternenhimmel raten Info-Thread (+Source)
    • [Fortgeschritten] Assistent für KV-Diagramme Info
    • [Fortgeschritten] Mind-Map Assistent Info
    • [Fortgeschritten] Designer für Lochrasterplatinen Info
    • [Fortgeschritten] einen Screensaver der Videos / Musik abspielt
    • [Fortgeschritten] Pokerspiel (sehr erweiterbar) Info
    • [Fortgeschritten] virtuelle LED-Laufschrift erzeugen Info
    • [Fortgeschritten] Wireworld 3D Info
    • [Fortgeschritten] Programm zur Berechnung von Subnetzen Info
    • [Fortgeschritten] Youtube Streamer/Downloader inkl. Konvertierung mit mp3-Tags Info
    • [Fortgeschritten] ERP-System Info
    • [Fortgeschritten] Datenverwaltungssystem Info
    • [Fortgeschritten] Excel Addin zur Erstellung von 3D Diagrammen Info
    • [Fortgeschritten] Ein Tool mit drei dynamischen Bildbereichen für Systemdynamik (z.B. Volumen/-Strom/-Änderungsrate, Impulsberechnung) und deren Berechnung (am besten optische Eingaben). Info
    • [Fortgeschritten] Ein in WPF designtes DataGridView Info
    • [Fortgeschritten] Ein Labyrinth (bestenfalls mit Lvl-Editor) oder ein Adventuregame Info
    • [Fortgeschritten] TicTacToe mit TCP/IP (Client+Server)
    • [Fortgeschritten] POS-System
    • [Fortgeschritten] 3D Modelliersoftware
    • [Fortgeschritten] Desktop-Programmiertools Info
    • [Fortgeschritten] Tool zum Musik streamen Info
    • [Fortgeschritten] Screenshot Tool Info
    • [Fortgeschritten] Air Drop Klone Info
    • [Fortgeschritten] Wavefront Parser
    • [Fortgeschritten] Rendern eines OpenGL Cubes


    Fortgeschritten/Profi
    • [Fortgeschritten/Profi] Eigenen DirectX Wrapper
    • [Fortgeschritten/Profi] Programm zum Sperren des Computers (evtl. Reaktivierung durch Einlegen einer speziellen SD Karte)
    • [Fortgeschritten/Profi] Ein Programm, das den Verfahrweg der Maus, Mausklicks und Tastaturanschläge aufzeichnen und abspielen kann (Um einen Vorgang am Computer ganz oft wiederholen zu können)
    • [Fortgeschritten/Profi] Steckbrettsimulation Steckplatine Erklärung/Beispiele
    • [Fortgeschritten/Profi] Ein sich selbst erweiterndes Programm Info (5 Beiträge)
    • [Fortgeschritten/Profi] Library zum Lesen von gescannten Texten/Dokumenten Info
    • [Fortgeschritten/Profi] Parser/Lexer/Tokenizer speziell für ScriptSysteme Info
    • [Fortgeschritten/Profi] Schnellen Webbrowser (ähnlich Chrome)
    • [Fortgeschritten/Profi] Umfangreicher Mediaplayer Info
    • [Fortgeschritten/Profi] Programm zum Sperren des Computers (evtl. Reaktivierung durch Einlegen einer speziellen SD Karte) Info
    • [Fortgeschritten/Profi] Pushbullet Klone Info
    • [Fortgeschritten/Profi] 2D Levelmaker/Leveleditor Info

    Profi

    • [Profi] Programm zum Programmieren ohne Code
    • [Profi] Box2D-Klon
    • [Profi] 3D Simulation von ... (zb: Ein Baum im Wandel der Jahreszeiten)
    • [Profi] Login Verifikation per Webcam
    • [Profi] Programm für das erstellen von Animantionen (Flash?)
    • [Profi] Programm welches das in ein Dokument schreibt was ich gerade Spreche (wenn es geht so genau wie möglich)
    • [Profi] Ein XNA(4.0) Game-State-Management-System
    • [Profi] Bewegunserkennung
    • [Profi] Ein iTunes-Klon
    • [Profi] Compiler Info
    • [Profi] Image Clone Detection Tool Info
    • [Profi] Mini VM-Ware Info
    • [Profi] Virtueller Server Emulator Info
    • [Profi] MVC-Framework like Ruby on Rails Info




    Falls wer bei dieser Idee mitmachen will würde ich vorschlagen solche Ideen einfach mit [Anfänger], [Fortgeschritten], [Profi] zu kennzeichnen und eventuell mit einer kurzen Beschreibung was damit gemeint ist :)

    Würde den Thread dann auch aktualisieren damit alles gesammelt im ersten Post zu finden ist.
    Hoffe die Idee stoßt auf Anklang :rolleyes:

    lg fichz
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten

    Dieser Beitrag wurde bereits 42 mal editiert, zuletzt von „fichz“ ()

    Hey,

    [Anfänger?] Rotationsalgorithmus
    Wenn du die nötigen Mathematischen (und auch Grammatischen?) Kenntnisse hast (und natürlich auch in der Programmierung ;D), würde ich vorschlagen, dass du soetwas programmierst.

    Ansonsten finde ich nicht veröffentliche Übungen (solange sie nicht aus dem Rahmen springen ;D) super.
    z.B. MediaPlayer, ImageConverter etc.

    lg.
    "Five exclamation marks, the sure sign of an insane mind."
    [Anfänger] Wecker
    [Anfänger] Kleines Spiel: Zahlenraten. Wenn du es nicht kennst: Hier kennst du es dir Downloaden
    Danke schon mal für die Übungen. is ja auch für andere User gedacht die eventuell eine kleine Hilfe brauchen :)

    @martinustreveri
    in welche Kategorier würdest du das stecken? (Anfänger, Fortgeschritten, Profi)
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    Hey,

    naja, Rotationsalgorythmen sind nicht schwer zu programmieren - sofern man die mathematischen Kenntnisse besitzt.
    Allerdings habe ich gerade das Gefühl, wir reden aneinander vorbei.
    Meinst du einen Verschlüsslungsalgorythmus, sprich einen Code der sich bei einem Versuch, ihn zu knacken nur verstellt oder z.B. einen Bildrotationsalgorythmus?

    lg.
    "Five exclamation marks, the sure sign of an insane mind."
    das mit dem Rotationsalgorythmus hab ich von Koukis Post übernommen (der mit der Cäsarmethode).
    Wie der dann genau funktioniert muss ich erst selber mal probieren :)
    @martinustreveri
    in welche Kategorier würdest du das stecken? (Anfänger, Fortgeschritten, Profi)
    Da meinte ich die Musik-Player und ImageConverter die du vorgeschlagen hast :)

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    Hey,

    der Musikplayer ist, würde ich mal sagen für Anfänger.
    der ImageConverter ist, sagen wir mal für fortgeschrittene Anfänger,
    je nach dem, wie kompliziert die Features werden..

    lg.
    "Five exclamation marks, the sure sign of an insane mind."
    Was ich gut finde für Anfänger ist ein Zahlensystem-Umrechner mit eigenem ausgedachtem Algorithmus fürs umwandeln einer Zahl von jeder Basis in jede beliebige Basis.
    (Ich weiß es gibt zB eine Framework Funktion Hex zum Umwandeln vom 10 ins 16er)

    Außerdem:
    Wecker - Anfänger
    Simulation Schräger Wurf (Ball mit der Maus "packen" und werfen) - Anfänger/Fortgeschritten
    Multithreaded Netzwerkscanner - Fortgeschritten
    Das ist meine Signatur und sie wird wunderbar sein!
    Nunja, wenn du dazu noch richtige Threadverwaltung (Threadsicherheit, Absturzsicherheit, Am besten Anzeigen von noch laufenden Threads, Festlegen der maximal Threads) packst und ggf. WMI Remoteabfragen, PortScan, RemoteRegistry Abfragen... das ist schon recht umfangreich und nicht allzu leicht.
    In 2 Minuten ist das niemals zu schaffen...

    Mal als ein Beispiel für einen (guten) oder zumindest umfangreichen/aufwändigen Netzwerk Scanner: Klick
    Das ist meine Signatur und sie wird wunderbar sein!
    Adressverwaltung/Kontaktdatenbank [Anfänger]
    Conways Game of Life [Anfänger]
    Virtuelle Slotmachine [Anfänger]

    Das ist nicht wirklich schwer. Arbeit von 2 Minuten.. ich würds in Anfänger packen.

    8| Schau mal hier im Forum in den Grundlagenbereich und dann denk mal drüber nach, ob das für die wirklichen Anfänger einfach ist. Problematisch vor allen Dingen weil es ein bißchen interdisziplinär ist (von Netzwerken sollte man schon ein wenig Ahnung haben).

    Gruß FatFire

    Mono schrieb:

    Nunja, wenn du dazu noch richtige Threadverwaltung (Threadsicherheit, Absturzsicherheit, Am besten Anzeigen von noch laufenden Threads, Festlegen der maximal Threads) packst und ggf. WMI Remoteabfragen, PortScan, RemoteRegistry Abfragen... das ist schon recht umfangreich und nicht allzu leicht.
    In 2 Minuten ist das niemals zu schaffen...

    Mal als ein Beispiel für ein Guten NetzwerkScanner: Klick

    Threadsicherheit kommt von alleine, wenn man sauber coded. Die Absturzsicherheit kommt mit der Threadsicherheit und der Threadbegrenzung, anzeigen der laufenden Threads ist auch nicht schwer, genau wie die maximale Anzahl der Threads.

    Daran sind die WMICalls noch das schwerste..

    Schau mal hier im Forum in den Grundlagenbereich und dann denk mal drüber nach, ob das für die wirklichen Anfänger einfach ist. Problematisch vor allen Dingen weil es ein bißchen interdisziplinär ist (von Netzwerken sollte man schon ein wenig Ahnung haben).
    Das problem hier in diesem Forum ist, dass irgendwie alles nach hionten verschoben ist. Sauberes OOP sollte in den Grundlagen sein. Aber wenn man hier Anfänger mit OOP zulabert, dann denken die gleich: "boah, das ist doch schon für Profis". Das, was in den Grundlagen gepostet wird, ist eigentlich noch unter den Grundlagen. Ich finde, dass dort mehr fragen wie: "was bringt mir ein 'Protected'?","Wann benutzt man ein 'overwrites'?" oder "Wie funktionieren Objektvergleiche mit Operatoren?". DAS sind Grundlagen.

    Als Anfänger ist es definitiv schwer.. da kannst du sagen was du willst.
    Von mehreren Threads aus auf die GUI zugreifen, threadübergreifendes bearbeiten von Daten ist auch nicht ganz trivial für einen Anfänger..
    Ja, wenn man keinen Plan von gar nichts hat.. dann ist das schwer. Da hast du recht. Anfänger heißt aber: "Ja, ich bin gerade so bei der hälfte des OOP-Ansatzes für eine textbasierte Ameisensimulation.."
    Wozu gibt es im Internet Lernressourcen? Anfänger sein ist kein Dauerzustand. Wenn man etwas als Anfänger macht, soll es einen nach Vorne bringen.

    Edit:
    Außerdem ist das Benutzen einer GUI nicht notwendig.. nicht bei einem Netzwerkscanner. Also erspart man sich die "komplizierten" Delegates, um auf die GUI zuzugreifen.
    Von meinem iPhone gesendet

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „nikeee13“ ()

    Als Anfänger ist es definitiv schwer.. da kannst du sagen was du willst.
    Von mehreren Threads aus auf die GUI zugreifen, threadübergreifendes bearbeiten von Daten ist auch nicht ganz trivial für einen Anfänger..

    Allein das Verwenden der Ping-Klasse ist für Anfänger schon oft eine Riesenhürde...
    Das ist meine Signatur und sie wird wunderbar sein!
    Sauberes OOP sollte in den Grundlagen sein.

    Fakt ist leider, dass VB eine typische "Ich programmier das erste Mal"-Sprache ist. Da musst Du in den Grundlagen eben noch mit ganz anderen Problemen klar kommen. Und Anfänger verstehen den non-prozeduralen, imperativen Programmieransatz (also schön eins nach dem anderen) einfach am besten. Und man kann fast alle Funktionen von VB ohne Ahnung der Objektorientierung zu haben direkt nutzen. Nach meiner Auffassung ist da richtige Objektorientierung wirklich eher dann der Übergang vom Anfänger zum Fortgeschrittenen. Und dann kann man auch Nebenläufigkeit, Vererbung etc. als Folterwerkzeuge bereitstellen.

    Gruß FatFire