Java Ideensuche für Anfänger-Programmierprojekt

thekillerbounty

Lieutenant
Registriert
Nov. 2007
Beiträge
929
Hi,

ich bin Informatik-Student im ersten Semester und bald stehen die Semesterferien an, in denen ich wohl 8 Wochen lang sehr viel Zeit haben werde. Da ich das gelernte des ersten Semesters (hinsichtlich Programmierung) jedoch etwas vertiefen möchte, habe ich mir vorgenommen täglich ca. 2-3 Stunden in ein kleines Programmierprojekt zu investieren. Allerdings bin ich natürlich bei weitem kein professioneller Programmierer (bisher, soll ja noch werden :D) und entsprechend wollte ich hier erfragen, ob meine bisherigen Ideen in der gegebenen Zeit überhaupt umsetzbar sind oder ob Ihr evtl. andere Vorschläge für ein Einsteigerfreundliches Projekt habt.

Meine bisherigen Ideen sahen wie folgt aus:
1. Grafikfähiger Taschenrechner (Funktionsumfang wie in der Schule) (ich denke, dass könnte sehr zeitaufwendig werden).
2. Kleines 2D-Spiel im Stile von Space Invaders auf dem Nokia 3310 oder der gleichen.
3. Schachspiel mit schlechter Grafik aber entsprechend anspruchsvoller KI (glaube das könnte doch sehr schwer werden).

Wir haben vorlesungsbegleitende Übungsgruppen gehabt, wobei hier mit JAVA das gelernte in kleinen Teilen umgesetzt wurde. Jetzt möchte ich mich mal vor erste eigene Probleme stellen um etwas Erfahrung zu sammeln.

Ich würde mich freuen, könntet Ihr mir eine Einschätzung darüber vermitteln, wie realistisch meine Projekte sein sollten. Ich bin auch für andere Ideen offen, das waren nur ein paar, die ich mir in den letzten Tagen habe einfallen lassen.

Kann man hier einen "Log" über dieses Projekt führen um sich bei härteren Problemen ab und an Ratschläge zu holen und zu zeigen, was man gemacht hat um evtl. Verbesserungsvorschläge einzuholen?

Gibt es eine sinnvolle (aktuell bitte kostenlose) alternative zu Eclipse oder sollte ich erstmal hierbei bleiben?


Beste Grüße und schonmal vielen Dank an euch.
 
Deine Ideen gefallen mir, was mir noch einfallen würde ist ein Chatprogramm.
Dort kann man beliebig kreativ sein und den Umfang beliebig weit ausweiten.

Gibt es eine sinnvolle (aktuell bitte kostenlose) alternative zu Eclipse oder sollte ich erstmal hierbei bleiben?
Meiner Meinung nach ist Eclipse aktuell das beste Programm für Java
 
Zuletzt bearbeitet:
Hätte auch gesagt Chat-Tool ;)
Dabei lernst du auch einiges über die Entwicklung im Netzwerkbereich. Ich bastel z.B. gerade an einem Teamspeak/Skype Zwischending in c# - macht mir gerade sehr viel Spaß.

Bzgl. IDE - Netbeans?

mfg,
Max
 
Also ich komme jetzt ins 4. Hochschulsemester & komme jetzt ins 2. Fachsemster Informatik (vorher WiInfo studiert). und kann dir nur sagen - Spiele sind durch aus einfach zu Programmieren. ein Spiel wie Spaceinvaders stelle ich mir jetzt nicht so einfach vor (Alleine das grübeln wie man das denn Ablaufen lässt mit dem Spawn der Gegner & Der Anzahl der Gegner & der Steigerungen usw usw. wäre mir doch erstmal zu viel, da ich dort weniger Programmieren & wesentlich mir "Grübeln" müsste.

Ich Programmiere immoment das Spiel Breakout (Link) just 4 fun & werde mich in den kommenden Tagen an ein Programm wie Flappybird für Android setzen.

An sich sind solche Projekte recht gut machbar, bei einem Taschenrechner darfst du natürlich die Mathematik dahinter nicht vergessen & ich denke das es da schon Bibliotheken gibt, die das drin haben.

An sich gibt es natürlich Alternativen für Eclipse z.b Netbeans, aber wieso wechseln?! Was fehlt dir denn an Eclipse
 
Der Taschenrechner ist viel einfacher als du glaubst ! Die Rechenoperationen nimmt dir Java ja ab, brauchst also nur eine Schleife und das x in f(x) einsetzen. Dann zeichnest jeden Punkt. Fängst also bei 0.0 an und gehst bist zum Ende der X-Achse durch. Der x-Wert in f(x) eingesetzt gibt dir ja y - also einfacher gehts kaum.

Worum du dir Gedanken machen musst ist die Skalierung. Wie viele Pixel entsprechen denn nun 1cm etc.
Und du musst einen Ursprung haben, dann alles relativ dazu zeichnen lassen. Verschiebt man den Ursprung, dann schiebt sich der Rest mit - so kannst du zoomen und scrollen einfach einbauen.

War bei uns Aufgabe im Studium im zweiten Semester, aber in C.
Wenn du Angewandte Informatik oder ähnliches System/Maschinennahe studierst, dann solltest dir eher C ansehen als ewig mit Java rummachen. Oder halt beides. Bei Wirtschaft- / Medieninformatik wirst du C eher nicht brauchen.
 
Zuletzt bearbeitet:
Angewandte Informatik kann an den Unis / FH's unterschiedlich studiert werden, sprich mal gibt es einen Schwerpunkt auf dem Wirtschaftlichen Teil oder auf dem Wissenschaftlichen Teil oder auf dem Maschinellen Teil - je nachdem hast du dann nunmal unterschiedliche Programmiersprachen, aber ich denke das Java heut zu Tage extrem wichtig ist für einen Programmierer, insbesondere wenn man sich mal die derzeitigen Gehaltslisten ansieht, sind doch die Java Entwickler recht weit oben
 
Ja der Taschenrechner ist ein beliebtes Anfängerprojekt und das auch nicht ohne Grund.
Grafisch umso besser, da kannst du dir so einiges ansehen, Objektorientierung üben und
ein bisschen mit UI rumspielen.

Ein kleines Spiel ist auch nicht schlecht, wobei man hier auf eine fertige 2D Engine oder sowas
aufbaun sollte, um den Einstieg leicht zu halten.

Beides mal kannst du einfach einsteigen und entsprechend das ganze erweitern.

Eclipse empfehle ich keinesfall. NetBeans ist ok, aber imho is IntelliJ für Java das Optimum,
die IDE hat meine Produktivität deutlich gesteigert.
 
Als Student gibts Intellij auch mittlerweile in der Ulitmate Version gratis. Kann ich dir auch nur empfehlen. Ich selber möchte es nicht mehr missen.
 
Hi,

ich dachte nicht, dass ich so schnell, so viele Antworten bekomme :)

@Dorgos & max_1234: Ein Chat-Tool wäre natürlich auch ein sehr schöner Anfang, vor allem, da ich während des Semesters schon Snake programmiert habe und entsprechend mal etwas anderes als ein Spiel schön wäre (weswegen ich auch hauptsächlich mit der Schach KI und dem grafikfähigen Taschenrechner geliebäugelt habe). Das Chattool hätte wie gesagt den Vorteil, dass ich mich auch mit der Entwicklung im Netzwerkbereich auseinander setzen kann.

@Lacritz: Bei dem Space-Invaders-Spiel hatte mich gerade das Grübeln besonders gereizt, wie gesagt habe ich schon Snake programmiert, was eher eine Sache von Stunden, als eine Sache von Tagen war, auch wenn ich der Meinung bin, dass meine Lösung relativ suboptimal war :D. An Eclipse fehlt mir bisher nichts, allerdings hätte ich jetzt die Gelegenheit mich umzuorientieren, da uns schon an der Universität gesagt wurde, dass Eclipse nicht das gelbe vom Ei sei, es dort aber genutzt werde, da es OS unabhängig funktioniert und kostenfrei ist.

@Black90: Generell würde ich erstmal gerne bei JAVA bleiben. Wie gesagt bin ich im ersten Semester und will erstmal ein kleines Projekt selbstständig und ohne universitären Zwang stemmen um etwas Erfahrung zu sammeln. Im Verlauf meines Studiums möchte ich mir, hauptsächlich in den Semesterferien, jedoch noch einige andere Sprachen anschauen. Geliebäugelt habe ich bisher mit C# und C++, aber dafür bleibt ja noch etwas Zeit.

@L3xXuS: Dann werde ich mich auch mal damit beschäftigen, in wieweit sich 2D-Engines auftreiben lassen und wie man mit so etwas umgeht. Die beiden IDEs werde ich mir definitiv mal anschauen, wie gesagt, jetzt habe ich die Zeit einen Umstieg zu wagen :)

@e_Lap: Kannst du mir hierfür vielleicht einen Link zukommen lassen? Erfahrungsgemäß sind die Studentenprogramme der Softwareentwickler doch recht gut versteckt :D


Vielen Dank für eure Anregungen, vor allem die Idee ein Chattool zu entwerfen finde ich richtig schön. Das wäre nämlich nicht nur das Umsetzen und üben von bereits gelerntem, sondern es käme noch etwas neues hinzu. Im besonderen würde mich natürlich ein Voice-Chat-Tool interessieren, aber sollte ich mich für ein solches Projekt entscheiden, fange ich wohl erstmal mit dem Text-Chat an :)


Beste Grüße
 
Darf man Fragen wo du studierst? An sich ist das SpaceInvader Spiel ja relativ easy vom Code her, wie gesagt eher das LeveL Design würde mir persönlich Schwierigkeiten bereiten & wohl letzt endlich die Motivation klauen
 
Generell würde ich erstmal gerne bei JAVA bleiben.
Na dann ADT und dazu nen schönen Java Server ausprogrammieren ;)

mfg,
Max
 
Hi,

@e_Lap: Danke für den Link, das werde ich mir nach den letzten Prüfungen direkt anschauen :)

@Lacritz: Ich studiere an der Universität Tübingen, wie gesagt im ersten Fachsemester, weswegen?

@max_1234: unter ADT vestehst du Abstrakte Datentypen oder bin ich jetzt ganz falsch?


Beste Grüße
 
Eine Sache fällt mir noch ein:
Hast du ein Androidgerät zur Verfügung?
Da Android auf Java aufbaut ist der Einstieg hier recht einfach.
Und du kannst damit schnell einfache GUIs umsetzen und das ganze auf deinem Gerät
testen und verwenden. So hab ich mir meine Programmierkenntnisse zum großen Teil
angeeignet. Wenn du von Java schon Ahnung hast wäre das sicher eine Option.
 
Gibt wie ich bisher gemerkt habe , doch recht große Unterschiede von Uni zu Uni, hätte mich mal interessiert wenn es in der Nähe wäre (Rheinland / Düsseldorf).
 
@max_1234: unter ADT vestehst du Abstrakte Datentypen oder bin ich jetzt ganz falsch?

Ich meine Eclipse ADT, oder bin ich nicht mehr aufm aktuellen Stand?

mfg,
Max
 
Hi,

@L3xXuS: Ja habe ich, sogar mehrere. Auf welches der Projekte beziehst du dich jetzt im Allgemeinen? Ich denke vor allem den Taschenrechner und die Spiele könnte man gut für das Smartphone realisieren. Beim Chatprogramm bin ich mir nicht so sicher, da hier sicherlich noch weitere Hürden dazu kommen oder?

@Lacritz: Ja das stimmt wohl, das ist mir auch schon aufgefallen. Freunde von mir studieren Informatik in Karlsruhe (allerdings schon in wesentlich höheren Semestern). Bei denen scheint das ganze wesentlich anders abgelaufen zu sein.

@max_1234: Das Programm werde ich mir auch noch anschauen und das entsprechende Google Pendant :)


Beste Grüße
 
Ja genau, sowohl Taschenrechner als auch Spiele sind sehr gut umsetzbar am Anfang.
Ich hab mit nem simplem Tanklogbuch angefangen und das immer erweitert, bis ich ein
richtiges Projekt gefunden hab, dem ich mit widmen kann.

Bei Android braeuchtest du fuer Spiele in reinem 2D auch keine extra Engine, da man hier mit
einfachem Canvas alles moegliche von Rechtecken bis Bilder zeichnen kann, ohne jetzt extra OpenGL
zu lernen.
Das UI framework is dafuer grad fuer Anfaenger recht genuegsam und man hat schnell ne kleine
UI zusammengeklickt.

Ich kann es aus persoenlicher Erfahrung nur empfehlen.

Dazu kannst du IntelliJ oder Android Studio, welches auf erstem aufsetzt nutzen.
 
Zurück
Oben