# C# programmierübungen



## enrager7 (28. Januar 2014)

*C# programmierübungen*

Hallo PCGH - Programmierer,

ich suche ein Paar Anregungen um mehr zu lernen und mich weiterzuentwickeln.
Die Grundlagen von C# glaube ich beherrschen zu können. Nun würde ich gerne etwas programmieren, nur leider fehlen mir die Ideen. Ob Windows Forms, oder auf Konsolenbasis ist mir erstmal nicht so wichtig, hauptsache ich löse neue Probleme und lerne.

Hat eventuell Jemand eine Idee?

Vielen Dank!

MfG enrager7


----------



## Silversurfer2010 (28. Januar 2014)

*AW: C# programmierübungen*

Hi enrager7,

wie meinste den das "du suchst .." ??

Willste ideen haben und die umsetzten ...???

Das kommt mir so vor wie bei Facebook erfinder(gestohlen idee) zuckerberger. Ich hätte da ja genug ideen 

Mein einfacher tip ist eigentlich, was der Markt verlangt ist das was programmiert werden sollte, nur so verdienste geld und Erfahrung.

Also ich habe ja auch erst seit einem halben Jahr den MCSD (Microsoft Certified Solutions Developer) Prüfung hinterlegt und sage aber auch gleich dazu das ich nicht alles kann.

Schaue dir den Markt an und erfinde was neues.

PS nützliche sachen sind der renner


----------



## enrager7 (28. Januar 2014)

*AW: C# programmierübungen*

Hallo Silversurfer2010,

mir geht es momentan nicht um Profit, brauche lediglich Irgendwas zum üben. Ich bin grad in der Ausbildung zum Anwendungsentwicklung und brauche einfach Praxis, die ich vom Betrieb leider nur zu wenig bekomme. Etwas das für einen C# Einsteiger noch zu schaffen wäre. Überschaubare Programme, für die man jetzt nicht unbedingt ein riesen Klassendiagramm erstellen muss.

In der Berufsschule hatten wir mal ein Projekt, wo wir eine Software für eine Bücherbibliothek erstellen mussten.

Beispielweise dachte ich schon mal an sowas wie einen Taskmanager nachzuprogrammieren, oder zumindest erstmal die Basis ohne Leistungsgraphen und Schnick-Schnack.


----------



## Crysis nerd (28. Januar 2014)

*AW: C# programmierübungen*

Ich weiß nicht, wie erfahren du bist, aber ich finde folgendes eine sehr coole Aufgabe:
Bau dir einen Crawler. Falls du es nicht weißt: Ein Crawler ist so ein Ding was automatisch Websiten durchsucht nach bestimmten Dingen. Ich habe mal angefangen damit und war leider erst bei der "ersten" Phase so wirklich durch: Weitere Seiten finden. Du gibst deinem Crawler eine Website und er sucht auf dieser Website nach externen Links. Die fügst du zu deiner Websiten Liste hinzu und durchsuchst die weiter. So ist es lustig, in welchen "Bereichen" vom Internet man sich aufhällt, wenn man bestimmte Seiten angibt. 
Und was du dann genau mit deinem Crawler machst, bleibt dir überlassen, aber es gibt dort irre viele tolle Sachen. Das Internet ist ein riesen Haufen an Information. Wenn du daraus irgendwas extrahierst, kann das schon sehr lustig sein. Richtig gut spezielle Informationen zu suchen wird schwierig. Aber du kannst immerhin nach speziellen Stichworten suchen oder Beziehungen zwischen Websiten rausfinden (also welche Seiten gerne untereinander verlinken).

Außerdem lernst du eine menge Techniken dabei:
- HTTP Requests und alles zu dem Zeug, um Websiten zu laden
- Wahrscheinlich eine Datenbank, damit du dir deine Daten schön abspeichern kannst
- Regex zum Suchen auf Seiten 
- XML Parser, damit du im HTML DOM gut navigieren kannst
- Und natürlich Grundlagenwissen, wie man verschiedene Programmteile gut miteinander zusammenspielen lässt und eine Klassenhierarchie aufbaut

Mein Zeil war es damals Websiten auf Zitate zu untersuchen. Also irgendwie so Zitate von Menschen, wie Einstein, oder andere schlaue Sprüche. Ich hab ne Vorliebe für schlaue Sprüche und wollte mir gerne eine Datenbank aufbauen. 
Du könntest auch z.B. die Häufigkeit (+ Wichtigkeitsbewertung) von "bösen Wörtern", Wörtern wie "YOLO" und "SWAG" und einer Reihe von "schlauen wörtern" (Leute die das gemeine Volk nicht nutzt ) auf diversen Websiten bewerten. Daraus könnte man dann voreilige Schlüsse über den Bildungsstand auf Websiten ziehen 
Naja.. es muss nicht zu komplex werden, aber ich denke dass man da schon recht schnell Spaß dran findet!

Hoffe das Projekt gefällt dir 

LG
Lukas


----------



## fadade (28. Januar 2014)

*AW: C# programmierübungen*

Hi,

mit welcher Programmierumgebung arbeitest du? Ich hätte ggf. eine halbwegs geeignete (Übungs-)Aufgabe des Bereichs Roboterbahnplanung, die ich auch tatsächlich benötigen würde  Hat allerdings ein wenig mit 3D-Mathematik zu tun


----------



## enrager7 (29. Januar 2014)

*AW: C# programmierübungen*

Hallo noch mal,

*@ Crysis nerd*
Ein Crawler hört sich sehr interessant an. Programmiertechnisch stehe ich noch recht weit am Anfang, kenne bis jetzt folgende Syntaxgrundlagen (was mir so spontan einfällt):

- Datentypen
- Deklaration von Variablen und Objekten
- Delegates
- Generics
- Parsen
- Serialisierung
- Auswahlstrukturen, Verzweigungen, iterative und rekursive Schleifen
- OOP Grundlagen (Klassenaufbau, Abhängigkeiten, Sinn und Zweck des OOP)
- Windows Forms

Die Techniken muss ich mir natürlich noch anschauen. Bis auf Regex hatte ich mit keiner der o.g. Techniken zu tun gehabt. Datenbanken / SQL kommt wohl in den nächsten Monaten in der Berufsschule. Somit ist zumindest in der Schule mit C# Schluss. Nach SQL kommt noch ASP.Net

- SQL-Erfahrung habe ich nur in Verbindung mit MS Access
- Ansonsten kann ich noch html & css
- javascript wird mir gerade in der Schule beigebracht, kann aber noch nicht viel damit anfangen

Was schätzt du wie lange man für so einen Crawler benötigt, inklusive Planung, wenn man die Techniken bereits drauf hat?

*@ fadade*

Zuhause Arbeite ich mit Visual Studio Ultimate 2012. (Vom Hören kenne ich noch Eclipse und NetBeans für Java)
Roboterbahnplanung? Hmm, macht man das denn mit C#? Mit C, C++ kenne ich mich leider überhaupt nicht aus, ebensowenig mit 3D Mathematik *schauder*. :o 
Aber wenn der Einstieg da nicht allzu schwer ist, wäre ich sicher bereit mir das mal anzuschauen.


----------



## DarkMo (29. Januar 2014)

*AW: C# programmierübungen*

na im notfall bau doch einfach mal den windows-taschenrechner nach. man muss als anfänger ja ned gleich nach den sternen greifen ^^ oder eigene ideen umsetzen. wenn ich mich irgendwo reinles und irgendeine funktionalität/feature kennenlern, schwirren mir immer gleich zig ideen durch den kopf. "damit könnte man vllt das und das realisieren..." - und dann einfach mal ausprobieren. oder ne zooverwaltung? kann man schön die klassen üben. solche programme müssen ja anwendungstechnisch wenig bis keinen sinn machen. also sinnlos-dinger die so nie einer brauch. aber man hat mal irgendwas bestimmtes dadurch verinnerlicht. und dann kann man sich ja anschließend gedanken darüber machen, wieso das so sinnlos ist, und was man ändern könnte, damits sinnvoll wird. oftmals muss man recht statisch programmierten krempel "aufbrechen" und dynamisch umsetzen.

also kA, beim bsp der zooverwaltung. haste halt ne klasse tiere, unterklassen fleisch und pflanzenfresser und die verzweigen sich wiederrum. am ende steht ne klasse elephant. willst du nen elephanten deinem zoo hinzufügen, musste also ein elephanten objekt erzeugen. jetz möchtest du nen tiger haben - hast aber keine tiger klasse. müsstest du jetzt also im code rumwürchen ^^ besser wäre hier also vllt ne dynamischere version (weil ein endkunde kann kaum den quellcode anpassen ^^). kA, dass man den tiger und den elephanten nur spezifiziert. also fleischfresser, raubtier, katze... und er sucht sich danach dann eine vorhandene klasse aus. is vllt nen blödes bsp was die umsetzung angeht ^^ aber mir fiel grad nix besseres ein ><


----------



## enrager7 (29. Januar 2014)

*AW: C# programmierübungen*

Sowas Ähnliches wie die Zooverwaltung hatte ich in der Schule gemacht nur eben für eine Bibliothek. Dort hatte ich zwar keine abgeleiteten Klasen benutzt, da ich mich dagegen entschieden habe, aber das Programm hat mich am Ende doch ein ganzes Stück gelehrt, wie OOP in der Praxis funktioniert. 

Wie du bereits erwähnt hast, kann ich das "Klassen Ableiten" der Zooverwaltung ganz gut üben.


----------



## Rho (1. Februar 2014)

*AW: C# programmierübungen*

Wenn es dir um Übung geht, suchst du am Besten mal nach den Begriffen "Code Kata" und "Coding Dojo". 

Zum Beispiel:
Welcome to the Coding Dojo und
Coding Kata .NET


----------



## sebi707 (5. Februar 2014)

*AW: C# programmierübungen*

Ich weiß jetzt nicht für was du dich so interessierst aber ich fand mathematische Spielereien immer lustig. Eine Reihe von Primzahlen zu generieren oder ähnliche Sachen. Irgendwann hab ich mal den Tipp projecteuler bekommen. Dort werden viele (zuerst einfache) Aufgaben gestellt und man muss ein kleines Programm schreiben, um die Lösung zu bestimmen. Am Ende kann man sein Ergebnis überprüfen. Die Probleme steigern sich in der Schwierigkeit aber vor allem die ersten Probleme sind gut machbar. Man lernt aber als Anfänger sicherlich recht viel. Ist natürlich etwas kurzweiliger als der Crawler den Crysis nerd vorgeschlagen hat.


----------



## joasas (5. Februar 2014)

*AW: C# programmierübungen*

In manchen Büchern zu Programmiersprachen gibt es immer kleine Aufgaben die man lösen soll, nachdem du nur an der Aufgabenstellung interessiert bist hast du bei der Wahl des Buches eine große Auswahl. Es gibt auch von Universitäten für die Praktika Sammlungen an Aufgabenstellungen in PDF Form. Nur benötigt man um diese abrufen zu können in der Regel einen Login - sprich entweder den Dozenten direkt anmailen oder eher besser einen Bekannten fragen sofern du an keiner Hochschule bist.


----------



## enrager7 (26. November 2014)

*AW: C# programmierübungen*

Also ich habe mir mal einen Crawler geschrieben der Amazon nach einem Suchbegriff durchsucht und dann das Produktbild anzeigt. Hat 5 Tage je 1-2h gedauert und funktioniert ganz gut  Regex war allerdings nervig^^


----------



## Rho (26. November 2014)

*AW: C# programmierübungen*

Ist doch schon mal ein Anfang.

Was RegEx angeht, finde ich http://www.regexr.com/ ganz praktisch.


----------



## enrager7 (2. Dezember 2014)

*AW: C# programmierübungen*

Danke, die Seite hatte ich damals auch benutzt.  Ist echt hilfreich!


----------



## xNeo92x (3. Dezember 2014)

*AW: C# programmierübungen*

Eine gute Umgebungsentwicklung ist noch SharpDevelop @ic#code
Hab wir damals in der Schule benutzt. Ich fands in manchen Bereich übersichtlicher als Visual Studio.


----------



## enrager7 (3. Dezember 2014)

*AW: C# programmierübungen*

@xNeo92x

Danke. Werde ich mir bei gelegenheit mal anschauen. Im Moment komme ich mit VisualStudio 2012 ganz gut klar.

Inzwischen haben wir ein neues Schulprojekt: Eine Anwendung auf Basis der 3-Schicht Architektur. In meinem Fall eine Autovermietung / Verwaltung.
Hat mir bisher Interfaces etwas näher gebracht.

Später kommt auch noch was mit Lego Mindstorms 

Ich überlege grad, was ich denn sonst noch programmieren könnte, aber mir fällt nichts ein was ich auch selber nutzen würde...


----------

