Erste Schritte Learning Coding (!) Frage an erfahrene Programmierer.

Hallo, ich möchte mein Anliegen kurz und knapp darlegen, um eure Zeit nicht zu sehr in Anspruch zu nehmen.

Mittlerweile besitze ich ein paar Programmierbücher wie z.B.: Java von Kopf bis Fuß oder Java ist auch eine Insel oder Bücher von Professoren aus dem KIT usw.
Gerne lese ich in den Büchern, aber so wirklich viel lernen tu ich dadurch kaum, weil ich ja letztlich nur lese und nicht ausführe (!)

Wenn ich nach Java Tutorien auf YouTube schaue lerne ich die Syntax, aber wenn ich selber ran "muss" fällt mir der Code nicht ein.
Ein Beispiel: Aktuell übe ich das hier:
Java:
import java.util.Scanner;


public class D7{
    public static void main(String[] args) {
        
        Scanner scan = new Scanner (System.in);
        System.out.println("Note eintragen:");
        int note = scan.nextInt();
    
        if(note > 70) {
            System.out.println("Prüfung bestanden...");
        }
        else {
            System.out.println("Prüfung NICHT bestanden..");

        }
    }
}
_________________________________________NEXT________________________________________
Wenn ich jetzt den ganzen Code lösche, weiß ich das der Code vorher auf Eclipse in der Console ein Feld eröffnet womit ich prüfen kann, ob die Summe ausreicht für das bestehen oder nicht bestehen einer Klausur. Mir fällt aber der Code dann nicht mehr ein: Scanner scan = new Scanner (System.in); z.B. der hier.

Meine Intuition sagt mir, dass ich das lernen kann, aber meine Erfahrung sagt mir - SO NICHT-
Zusätzlich muss ich durch die Hochschule die ich derzeit besuche, Programmierfächer besuchen und die Klausuren in Januar ablegen und das erstmalig. Jedoch habe ich das immer verschoben, weil ich bisher nur gute bis sehr gute Noten habe und bei Krusen mit Java auf Eclipse Basis hängen geblieben bin. Für die Klausur lernen viele bestimmte Aufgaben oder Algos auswendig, um gute Noten zu erreichen. Das Auswendiglernen der Codes fällt mir leider nicht leicht. Deswegen beschäftige ich mich lieber mit Dingen wie: Wie führe ich einen geschrieben Code als .exe oder .jar aus, anstelle vom Programmieren lernen. Ich versteh die Logik von Schleifen oder Arrays, aber wenn ich selber Coden muss, fällt mir kein Code ein -.- . Auch wenn ich später im Beruf nicht Programmierer bzw. Entwickler werde, muss ich dennoch durch die Prüfung.
Kennt das jemand, was ich hier beschreibe und kann mir einen Rat geben oder mir meine Fehler aufweisen? Harte ehrliche Kritik, aber dabei höfflich ist ebenso erwünscht. Wenn etwas schwammig ist oder ganze Informationen fehlen, dann fragt bitte danach. Ich werde dann zeitnah darauf reagieren.

Viele Grüße
 
Zuletzt bearbeitet von einem Moderator:
B

BestGoalkeeper

Gast
Code bitte in Java Code Tags.

Leg dir ein anständiges Buch über Algorithmen zu, das programmiersprachenunabhängigen Pseudocode angibt.

Vielleicht den Studiengang wechseln, Programmieren liegt nicht jedem.
 
Code bitte in Java Code Tags.

Leg dir ein anständiges Buch über Algorithmen zu, das programmiersprachenunabhängigen Pseudocode angibt.

Vielleicht den Studiengang wechseln, Programmieren liegt nicht jedem.
Habe es als Java Code Tag hinterlegt.
Hast du auch ein konkretes Beispiel für ein Buch??
Warum sollte ich mein Studienfach wechseln, wenn ich nur 2 Programmierfächer habe? Ich will das jetzt hinter mich bringen und dein Tipp ist kontraproduktiv für die Erreichung meines Ziels. Vielleicht hab ich mein Problem falsch beschrieben.

Beispiel:
Was der William Lin dort macht, ist mir kein Rätsel. Ich verstehe fast alles und kann auch nachvollziehen warum er was wann schreibt, aber das nachtippen (vor allem in der Geschwindigkeit) könnte ich nicht. Bei ihm sieht alles routiniert aus. Fehlt es mir dann einfach an Routine? Ich meine: Wenn ich die Syntax zu einer for(....;....; i++) { 50 mal auf ein Heft schreibe, dann würde ich es eventuell auch leicht auf Eclipse übertragen, oder?
 
Zuletzt bearbeitet:

PinkMuffin

Bekanntes Mitglied
Hast du auch ein konkretes Beispiel für ein Buch??
Anfänger hier, aber vielleicht hilft es dir trotzdem (deine Frage gilt ja eigentlich für alle Themengebiete, die sich nicht zum Auswendiglernen eignen): Ich hab mir zu jedem Thema eine (kleine) Anwendungsaufgabe ausgedacht.
Ob das jetzt ein Sortieralgorithmus oder ein Schaltjahr-Rechner ist, ist dabei egal, solange dich das Thema interessiert. Nützliche Anwendungen sind natürlich am besten, aber da fällt einem (mir zumindest) auch nicht immer was ein.
Ich habe z.B. den "Fußball-Manager", den wir in der Schule schreiben mussten, in einen "Legions-Manager" umgewandelt, und logischerweise die Funktionen verändert, sodass Truppen fliehen können und weniger werden etc. Das ist jetzt zwar ein Programm, das ich nach dem Schreiben nie wieder benutzen werde, aber zum Üben hilft es und etwas anderes als "Üben" wirst du wohl nicht oft hören, bei neuen Denkansätzen ist das eben einfach so.
Zum Thema Bücher: "Java ist auch eine Insel" habe ich auch, und benutze es auch gerne zum Nachschlagen, aber zum daraus Lernen war es überhaupt nichts für mich, dafür ist es (glaube ich) auch nicht unbedingt gedacht, es ist ein ausführliches Nachschlagewerk, kein Schulbuch.
"Fit fürs Studium - Informatik" ist ein Buch, dass diese Zwecke ganz okay erfüllt. Ich mag die Beispiele oft nicht, aber für deine Problemstellung eignet es sich vielleicht: Wie bekomme ich aus realen Problemen einen Code? Du lernst in dem Buch jetzt keine tiefgreifenden Themen, aber die solltest du ja eh im Studium lernen, das Buch bringt dich eher ein bisschen in den Denkansatz rein.
Persönlich würde ich aber (außer zum Nachschlagen) Videos vorziehen, das ist günstiger und es gibt so viele davon, dass du bestimmt jemanden findest, dessen Erklärstil dir weiterhilft.
 
Anfänger hier, aber vielleicht hilft es dir trotzdem (deine Frage gilt ja eigentlich für alle Themengebiete, die sich nicht zum Auswendiglernen eignen): Ich hab mir zu jedem Thema eine (kleine) Anwendungsaufgabe ausgedacht.
Ob das jetzt ein Sortieralgorithmus oder ein Schaltjahr-Rechner ist, ist dabei egal, solange dich das Thema interessiert. Nützliche Anwendungen sind natürlich am besten, aber da fällt einem (mir zumindest) auch nicht immer was ein.
Ich habe z.B. den "Fußball-Manager", den wir in der Schule schreiben mussten, in einen "Legions-Manager" umgewandelt, und logischerweise die Funktionen verändert, sodass Truppen fliehen können und weniger werden etc. Das ist jetzt zwar ein Programm, das ich nach dem Schreiben nie wieder benutzen werde, aber zum Üben hilft es und etwas anderes als "Üben" wirst du wohl nicht oft hören, bei neuen Denkansätzen ist das eben einfach so.
Zum Thema Bücher: "Java ist auch eine Insel" habe ich auch, und benutze es auch gerne zum Nachschlagen, aber zum daraus Lernen war es überhaupt nichts für mich, dafür ist es (glaube ich) auch nicht unbedingt gedacht, es ist ein ausführliches Nachschlagewerk, kein Schulbuch.
"Fit fürs Studium - Informatik" ist ein Buch, dass diese Zwecke ganz okay erfüllt. Ich mag die Beispiele oft nicht, aber für deine Problemstellung eignet es sich vielleicht: Wie bekomme ich aus realen Problemen einen Code? Du lernst in dem Buch jetzt keine tiefgreifenden Themen, aber die solltest du ja eh im Studium lernen, das Buch bringt dich eher ein bisschen in den Denkansatz rein.
Persönlich würde ich aber (außer zum Nachschlagen) Videos vorziehen, das ist günstiger und es gibt so viele davon, dass du bestimmt jemanden findest, dessen Erklärstil dir weiterhilft.

Danke für deinen wundervollen Beitrag (!) - ist notiert und wird umgesetzt !
 
K

kneitzel

Gast
Generell basiert alles auf einer Grundlage. Und diese Grundlage muss man lernen, ehe man darauf aufbauen kann.

Das sind dann in Java speziell:
- Syntax von Java - was bietet die Sprache an sich.
- Framework - Das Java Framework bietet die notwendigen Klassen und die musst Du kennen lernen.

Und das muss man einfach lernen. Und dann kommt man auch auf Konstrukte wie
Scanner scan = new Scanner (System.in);

Denn dahinter verstecken sich einfache Grundlagen:
a) Wie erstelle ich in Java eine (lokale) Variable
b) wie erstelle ich eine neue Instanz einer Klasse und weise diese der Variablen zu
c) Wie komme ich an Java an Eingaben (Hier wäre dies die Klasse "System" mit dem Feld "in")
d) Wie kann ich Eingaben einlesen (Hier wäre dies die Klasse Scanner)

Das ist reines Lernen. Du musst es unter dem Strich auswendig lernen. Nur eben ist es nicht wie ein Gedicht, welches man einfach ständig aufsagt, sondern es ist etwas, das man praktisch einsetzen kann: also in Form vom Schreiben von Programmen.

Also Tipp Programme ein. Wenn Dir etwas nicht einfällt: Nachschlagen. Und dann tippen! (Kein Copy and Paste - tippe es, versuche es dir dabei zu merken!)
Das ist übrigens etwas, das für Entwickler durchaus "normal" ist. Das würde ich als "Recherche" bezeichnen. Das wird dann später nicht mehr so trivial sein, aber es ist durchaus normal, Dinge nachzuschlagen ...

Also Lernen / Üben / machen ... Bis Du es kannst. Was anderes ist da nicht zu empfehlen ....

Leg dir ein anständiges Buch über Algorithmen zu, das programmiersprachenunabhängigen Pseudocode angibt.

Das sehe ich erst als zweiten Schritt. Die Algorithmen interessieren mich erst einmal nicht. Das ist wie wenn ich Auto fahren lernen will. Dann schaue ich mir auch nicht den Atlas an um genau zu sehen, wo ich überall lang fahren kann um an mein Ziel zu kommen. Da geht es erst einmal um die korrekte Bedienung des Autos und die korrekte Verhaltensweise im Straßenverkehr. So lange wie Du das nicht kannst: Vergiss den Atlas!

Aber klar: Sobald Du Auto fahren kannst: Dann schau, über welche Wege Du zum Ziel kommen kannst....
 
Generell basiert alles auf einer Grundlage. Und diese Grundlage muss man lernen, ehe man darauf aufbauen kann.

Das sind dann in Java speziell:
- Syntax von Java - was bietet die Sprache an sich.
- Framework - Das Java Framework bietet die notwendigen Klassen und die musst Du kennen lernen.

Und das muss man einfach lernen. Und dann kommt man auch auf Konstrukte wie
Scanner scan = new Scanner (System.in);

Denn dahinter verstecken sich einfache Grundlagen:
a) Wie erstelle ich in Java eine (lokale) Variable
b) wie erstelle ich eine neue Instanz einer Klasse und weise diese der Variablen zu
c) Wie komme ich an Java an Eingaben (Hier wäre dies die Klasse "System" mit dem Feld "in")
d) Wie kann ich Eingaben einlesen (Hier wäre dies die Klasse Scanner)

Das ist reines Lernen. Du musst es unter dem Strich auswendig lernen. Nur eben ist es nicht wie ein Gedicht, welches man einfach ständig aufsagt, sondern es ist etwas, das man praktisch einsetzen kann: also in Form vom Schreiben von Programmen.

Also Tipp Programme ein. Wenn Dir etwas nicht einfällt: Nachschlagen. Und dann tippen! (Kein Copy and Paste - tippe es, versuche es dir dabei zu merken!)
Das ist übrigens etwas, das für Entwickler durchaus "normal" ist. Das würde ich als "Recherche" bezeichnen. Das wird dann später nicht mehr so trivial sein, aber es ist durchaus normal, Dinge nachzuschlagen ...

Also Lernen / Üben / machen ... Bis Du es kannst. Was anderes ist da nicht zu empfehlen ....



Das sehe ich erst als zweiten Schritt. Die Algorithmen interessieren mich erst einmal nicht. Das ist wie wenn ich Auto fahren lernen will. Dann schaue ich mir auch nicht den Atlas an um genau zu sehen, wo ich überall lang fahren kann um an mein Ziel zu kommen. Da geht es erst einmal um die korrekte Bedienung des Autos und die korrekte Verhaltensweise im Straßenverkehr. So lange wie Du das nicht kannst: Vergiss den Atlas!

Aber klar: Sobald Du Auto fahren kannst: Dann schau, über welche Wege Du zum Ziel kommen kannst....

Wow, da stecken sehr viele Grundlagen von der Programmierung. Davon abgeleitet würde ich sagen, dass mir die Basics für die Objektorientierten Programmierung fehlen. Ich werde mich täglich bis Januar mit programmieren beschäftigen und bin gespannt ob ich das schaffe.
"Also Lernen / Üben / machen ... Bis Du es kannst. Was anderes ist da nicht zu empfehlen ...." - Learning by doing heißt das wohl für mich.
Vielleicht ist mein Charakter hinderlich. Ich bin eher der "Versteher - auch visuell Typ" und bin nicht so der "Auswendiglerner", aber ich werde meine Sturheit versuchen bei Seite zu legen und fleißiger an die Sache ran gehen. Sehr aufbauend und motivierend das Forum hier!
Vielen Dank für dein Beitrag (!)
 

MoxxiManagarm

Top Contributor
Für die Klausur lernen viele bestimmte Aufgaben oder Algos auswendig, um gute Noten zu erreichen.
So erreicht man keine gute Noten. Programmierung muss man verstehen, dann kann man sich die Algorithmen auch im Zweifelsfall immer wieder herleiten.

Vielleicht ist mein Charakter hinderlich. Ich bin eher der "Versteher - auch visuell Typ" und bin nicht so der "Auswendiglerner"
Eigentlich ist das der beste Charakter.
 

M.L.

Top Contributor
Weiterhin:
-kann man in den Prüfungen irgendwelche Hilfsmittel (Bücher, Notizen, elektronische Medien,...) verwenden ? Dort könnte man Java-Code 'auf Vorrat' ansammeln oder nachschlagen. Vom Üben mal abgesehen...
- die elementaren Schlüsselwörter (SW) sollte man kennen (wobei diese nicht gleich häufig und gerne im Zusammenhang mit anderen Konzepten auftreten): http://openbook.rheinwerk-verlag.de/javainsel/02_001.html#u2.1.5
--- Methoden z.B. vereinigen idR mehrere elementare Befehle und lassen anschliessend sich x-beliebig häufig aufrufen (hier noch das Verhalten der SW 'static', 'public', 'protected' und 'private' beachten)
--- Klassen dienen als Schablone für ein (oder mehrere) Objekt(e) (SW wie bei Methoden, zusätzlich 'extends', 'imlements', 'abstract', 'transient',...)
--- Interfaces machen Sinn, wenn sich ein (oder mehrere) Teil(e) eines Softwaresystems häufig ändern können
 

mihe7

Top Contributor
Für die Klausur lernen viele bestimmte Aufgaben oder Algos auswendig, um gute Noten zu erreichen.
Wenn Code auwendig lernen genügen sollte, ist die Klausur für die Tonne. Bestimmte Algorithmen kann bzw. muss man auswendig können - das betrifft aber den Algorithmus bzw. die Idee des Algorithmus, nicht aber den Code.

Wenn Du mich beispielsweise nach "Knuth's Shuffle" für ein Array fragen würdest, dann wüsste ich (in Kurzvariante): ok, es wird der Reihe nach ein Element nach dem anderen mit einem zufälligen Element aus dem Rest getauscht. Das kann man dann in eine Programmiersprache seiner Wahl umsetzen.

Übrigens: viele Standardalgorithmen lassen sich sehr schön visualisieren. Im Netz findet man dazu auch animierte Darstellungen. Die helfen, wie ich finde, durchaus dabei, sich die Funktionsweise zu merken bzw. besser vorstellen zu können.
 

White_Fox

Top Contributor
Also...hier schilderst du - ausreichend detailiert, würde ich sagen - dein Problem:
Wenn ich jetzt den ganzen Code lösche, weiß ich das der Code vorher auf Eclipse in der Console ein Feld eröffnet womit ich prüfen kann, ob die Summe ausreicht für das bestehen oder nicht bestehen einer Klausur. Mir fällt aber der Code dann nicht mehr ein: Scanner scan = new Scanner (System.in); z.B. der hier.

Und vorher hast du auch schon ganz prima die Ursache deines Problems identifiziert:
Gerne lese ich in den Büchern, aber so wirklich viel lernen tu ich dadurch kaum, weil ich ja letztlich nur lese und nicht ausführe (!)

Ich würde sagen: Gehe die Ursache an. Anscheinend programmierst du zu wenig. Mein Prof sagte immer: Programmieren lernt man nur dadurch, daß man programmiert.


Eigentlich ist das der beste Charakter.
Ganz genau so ist es.
 
Weiterhin:
-kann man in den Prüfungen irgendwelche Hilfsmittel (Bücher, Notizen, elektronische Medien,...) verwenden ? Dort könnte man Java-Code 'auf Vorrat' ansammeln oder nachschlagen. Vom Üben mal abgesehen...
- die elementaren Schlüsselwörter (SW) sollte man kennen (wobei diese nicht gleich häufig und gerne im Zusammenhang mit anderen Konzepten auftreten): http://openbook.rheinwerk-verlag.de/javainsel/02_001.html#u2.1.5
--- Methoden z.B. vereinigen idR mehrere elementare Befehle und lassen anschliessend sich x-beliebig häufig aufrufen (hier noch das Verhalten der SW 'static', 'public', 'protected' und 'private' beachten)
--- Klassen dienen als Schablone für ein (oder mehrere) Objekt(e) (SW wie bei Methoden, zusätzlich 'extends', 'imlements', 'abstract', 'transient',...)
--- Interfaces machen Sinn, wenn sich ein (oder mehrere) Teil(e) eines Softwaresystems häufig ändern können

Es dürfen keinerlei Hilfsmittel mit in die Klausur genommen werden.
Danke für die SW - Liste.
Danke für das erläutern, habe ich mal so in eine txt.Datei gepackt zum nachschlagen wenn ich es brauche
 
Wenn Code auwendig lernen genügen sollte, ist die Klausur für die Tonne. Bestimmte Algorithmen kann bzw. muss man auswendig können - das betrifft aber den Algorithmus bzw. die Idee des Algorithmus, nicht aber den Code.

Wenn Du mich beispielsweise nach "Knuth's Shuffle" für ein Array fragen würdest, dann wüsste ich (in Kurzvariante): ok, es wird der Reihe nach ein Element nach dem anderen mit einem zufälligen Element aus dem Rest getauscht. Das kann man dann in eine Programmiersprache seiner Wahl umsetzen.

Übrigens: viele Standardalgorithmen lassen sich sehr schön visualisieren. Im Netz findet man dazu auch animierte Darstellungen. Die helfen, wie ich finde, durchaus dabei, sich die Funktionsweise zu merken bzw. besser vorstellen zu können.

Nach Rücksprache mit meiner aktiven Lerngruppe wurde mir gerade mitgeteilt, dass während der Lernphase also die 3 Monate bis hin zur Klausur nichts auswendig gelernt wird, weil es ums "verstehen" und nachvollziehen und Aneignung einer neuen Denkweise geht. Erst vor der Klausur wurde ein paar Codes bzw. der Aufbau von ein paar Syntax auswendig gelernt um auf eine 1.0 in der Klausur zu kommen.
Danke für deine Tipps. Ich werde im Web danach suchen wenn ich soweit bin.
 
Also...hier schilderst du - ausreichend detailiert, würde ich sagen - dein Problem:


Und vorher hast du auch schon ganz prima die Ursache deines Problems identifiziert:


Ich würde sagen: Gehe die Ursache an. Anscheinend programmierst du zu wenig. Mein Prof sagte immer: Programmieren lernt man nur dadurch, daß man programmiert.



Ganz genau so ist es.
Danke für deinen Post. Ich sehe das gerade als Selbst - Reflexion und verstehe das Problem so langsam, so hoffe ich. Wenn ich wirklich "nur" zu wenig programmiere, dann werde ich das Problem lösen können und aktiv sein. Ab Januar ist es dann soweit und ich werde einfach mal meine Erfahrung hier veröffentlichen. Ich bin sehr gespannt auf die Entwicklung.
 

M.L.

Top Contributor
Zusätzlich:
nur lese und nicht ausführe
Üben ist nicht falsch. Der Sinn und Zweck eines syntaktischen Werkzeugs wird aber klar(er), wenn bestimmte Funktionalitäten/Probleme/Eigenschaften/... entweder gar nicht, nur einmal, relativ wenig oder sehr oft bearbeitet oder unterdrückt werden sollen. Eine kleine Übersicht:
-eine Klasse soll(te) nur eine Aufgabe erfüllen (Stichwort auch "Clean Code")
-mehrere Klassen haben gemeinsame Eigenschaften und oder Methoden ? Stichwort "abstrakte Klasse"
--funktional zusammengehörige Klassen soll(t)en in Packages organisiert werden (wenn man in den Übungen alles nur in eine Klasse steckt, stellen sich solche Probleme natürlich nicht)
- je mehr switch...case oder if/else-Anweisungen zu bearbeiten sind, desto eher bietet sich der Einsatz von "enum" an (oder die Datenstruktur key/value)
- Methoden haben auch den Vorteil, dass man Code-Duplikation vermeidet und potentielle Tipfehler nur an einer Stelle antrifft
- die Funktionalität einer Methode wird nur einmal (oder sehr selten) gebraucht ? Hier bieten sich Lambdas (anonyme Funktionen) an

Oder im Architekturbereich:
-eine Klasse soll nur ein Objekt anlegen können ? -> Singleton
-eine Klasse soll mehrere, aber nicht beliebig viele, Objekte anlegen können ? -> Multiton
-"""""""""""""""""""""""""" und verschiedene (heterogene) Objekte anlegen können ? -> Abstrakte Fabrik
 

Kirby.exe

Top Contributor
Es dürfen keinerlei Hilfsmittel mit in die Klausur genommen werden.
Danke für die SW - Liste.
Danke für das erläutern, habe ich mal so in eine txt.Datei gepackt zum nachschlagen wenn ich es brauche

Das kann ich so nicht bestätigen, da bei mir an der Uni in fast jedem Modul ein "Spicker" erlaubt ist. In dem Fach Algorithmen und Datenstrukturen 1 wäre es z.B. ein Din A4 Blatt (schriftgröße egal). Jedoch bringt es nicht dort so viel wie möglich draufzuschmeißen. Mein Ansatz hierbei ist meistens, dass ich mir Formeln oder Definitionen, welche wichtig sind, zusammenfasse und dort aufschreibe.

Jedoch wie Algorithmen oder Datenstrukturen funktionieren sollte man möglichst aus dem Kopf können, da man meist nicht die Zeit hat darüber nachzudenken wie ein Algorithmus funktioniert, denn man muss ihn auf das jeweilige Problem anwenden und aufschreiben ;)

Edit: Ich habe gerade gesehen, dass es bei euch so in der Prüfungsordnung steht...nevermind xD
 
Zuletzt bearbeitet:
K

kneitzel

Gast
Nach Rücksprache mit meiner aktiven Lerngruppe wurde mir gerade mitgeteilt, dass während der Lernphase also die 3 Monate bis hin zur Klausur nichts auswendig gelernt wird, weil es ums "verstehen" und nachvollziehen und Aneignung einer neuen Denkweise geht. Erst vor der Klausur wurde ein paar Codes bzw. der Aufbau von ein paar Syntax auswendig gelernt um auf eine 1.0 in der Klausur zu kommen.
Danke für deine Tipps. Ich werde im Web danach suchen wenn ich soweit bin.

Da ist im er die Frage, was genau abgefragt wird. In der Regel ist die Prüfung nicht auf Java Code oder Framework Klassen sondern tatsächlich auf Algorithmen.

Die Sprache ist dann nur ein Mittel, um den Algorithmus auszudrücken. Das bedeutet, dass z.B ein fehlendes ; nicht dazu führt, dass es 0 Punkte gibt. (Vom Code her wäre es ein: lässt sich nicht mal Übersetzen ... )

Das ist aber dann Thema Klausur über Algorithmen und nicht das Thema ‚Ich will Code schreiben und kriege es nicht hin‘.

Für das Thema Algorithmen Klausur: da ist dann ein entsprechendes Buch interessant. Das Beispiel mit dem Auto fahren: wenn es nur darum geht, dass jemand von Dir eine Wegbeschreibung haben will: da muss man nicht Auto fahren können oder die Verkehrsregeln kennen. Ok, gibt evtl. Punktabzug weil du in verkehrter Richtung durch eine Einbahnstraße wolltest oder der 40t Laster sollte nicht über die Brücke mit Max 16t .... aber eine Wegbeschreibung kriegst du ohne dies alles hin ....

Das Thema scheint also etwas zu wechseln oder ich habe Deinen ersten Post etwas falsch interpretiert / falsch gelesen / falsch in Erinnerung ....
 
Zusätzlich:
Üben ist nicht falsch. Der Sinn und Zweck eines syntaktischen Werkzeugs wird aber klar(er), wenn bestimmte Funktionalitäten/Probleme/Eigenschaften/... entweder gar nicht, nur einmal, relativ wenig oder sehr oft bearbeitet oder unterdrückt werden sollen. Eine kleine Übersicht:
-eine Klasse soll(te) nur eine Aufgabe erfüllen (Stichwort auch "Clean Code")
-mehrere Klassen haben gemeinsame Eigenschaften und oder Methoden ? Stichwort "abstrakte Klasse"
--funktional zusammengehörige Klassen soll(t)en in Packages organisiert werden (wenn man in den Übungen alles nur in eine Klasse steckt, stellen sich solche Probleme natürlich nicht)
- je mehr switch...case oder if/else-Anweisungen zu bearbeiten sind, desto eher bietet sich der Einsatz von "enum" an (oder die Datenstruktur key/value)
- Methoden haben auch den Vorteil, dass man Code-Duplikation vermeidet und potentielle Tipfehler nur an einer Stelle antrifft
- die Funktionalität einer Methode wird nur einmal (oder sehr selten) gebraucht ? Hier bieten sich Lambdas (anonyme Funktionen) an

Oder im Architekturbereich:
-eine Klasse soll nur ein Objekt anlegen können ? -> Singleton
-eine Klasse soll mehrere, aber nicht beliebig viele, Objekte anlegen können ? -> Multiton
-"""""""""""""""""""""""""" und verschiedene (heterogene) Objekte anlegen können ? -> Abstrakte Fabrik
Dankeschön ! Habe ich so auch aufgenommen! Ich werde es mir in aller Ruhe nochmal anschauen wenn ich die Themen einzeln bearbeite bzw. lernen werde.
 
Das kann ich so nicht bestätigen, da bei mir an der Uni in fast jedem Modul ein "Spicker" erlaubt ist. In dem Fach Algorithmen und Datenstrukturen 1 wäre es z.B. ein Din A4 Blatt (schriftgröße egal). Jedoch bringt es nicht dort so viel wie möglich draufzuschmeißen. Mein Ansatz hierbei ist meistens, dass ich mir Formeln oder Definitionen, welche wichtig sind, zusammenfasse und dort aufschreibe.

Jedoch wie Algorithmen oder Datenstrukturen funktionieren sollte man möglichst aus dem Kopf können, da man meist nicht die Zeit hat darüber nachzudenken wie ein Algorithmus funktioniert, denn man muss ihn auf das jeweilige Problem anwenden und aufschreiben ;)

Edit: Ich habe gerade gesehen, dass es bei euch so in der Prüfungsordnung steht...nevermind xD

SQL und Algo als Fach werde ich dieses Semester in einer Lerngruppe absolvieren. Alleine gehe ich den Weg als in dem Fach Programmieren 1+2 zzgl mit Tutorien. Schade das es in Deutschland keine "Mentoren" Kultur gibt. Ich habe ein paar ausländische Studenten kennengelernt dort wird es anders gehandelt. Finde ich toll. Von einem erfahrenen Programmierer zu lernen würde den Prozess "Programmieren lernen" versüßen.
 

PinkMuffin

Bekanntes Mitglied
Schade das es in Deutschland keine "Mentoren" Kultur gibt. Von einem erfahrenen Programmierer zu lernen würde den Prozess "Programmieren lernen" versüßen.
Das kann ich so nicht bestätigen, aber in einem klassischen Studium ist das wohl tatsächlich eher der Fall. Wenn du praktisch von einem erfahrenen Programmierer hättest lernen wollen, kann ich dir ein duales Studium empfehlen. Die Theorie geht wohl nicht so sehr in die Tiefe (von dem was ich gehört habe) allerdings hat die überwiegende Anzahl der Betriebe ein Mentorensystem, in denen der Student zum einen einem höheren Studenten zugeordnet wird, als auch einem Mitarbeiter des Betriebes, der dort schon länger arbeitet.
Das liegt vermutlich daran, dass der Betrieb eben einen Vorteil darin sieht, den Studenten möglichst optimal und praxisnah auszubilden, während an einer Uni eben mehr Wert auf die Aneignung theoretischen Wissens gelegt wird, da ja Universitäts-Absolventen auch häufig nicht in die Wirtschaft sondern in die Lehre/Forschung/etc gehen.

Von meinen Mitschülern, Geschwistern etc hört man hauptsächlich gutes über diese Art des Studiums, mein erfahrener Mentor ist leider in Urlaub, mit dem werde ich wohl erst ab Oktober zu tun haben, der übergeordnete Student ist leider nicht sonderlich gut im Programmieren, hilft aber enorm weiter in Bezug auf "Insider-Informationen", da man immer jemanden hat, den man Kleinigkeiten fragen kann, wenn man nicht gerade ganz oben fragen will.
 
Zuletzt bearbeitet:

Kirby.exe

Top Contributor
Finde ich toll. Von einem erfahrenen Programmierer zu lernen würde den Prozess "Programmieren lernen" versüßen.

Natürlich ist das schön, denn dir kann immer jemand über die Schulter schauen. Zu diesem Problem gibt es aber eine recht simple aber gute Lösung:

1. Schritt: Ich veranschauliche mir auf Papier was falsch läuft
2. Schritt: Ich versuche die auf Papier festgestellten Fehler zu lösen
3. Schritt: Das Problem wurde nicht gelöst? ---> Google ist Freund und Helfer
4. Schritt: Selbst Google scheint nicht geholfen haben (recht selten) ---> Man suche sich ein Forum für die Sprache z.B. dieses für Java und stellt dort seine Frage ;)

Im Studium wird nunmal Selbständigkeit erwartet :)
 
Das kann ich so nicht bestätigen, aber in einem klassischen Studium ist das wohl tatsächlich eher der Fall. Wenn du praktisch von einem erfahrenen Programmierer hättest lernen wollen, kann ich dir ein duales Studium empfehlen. Die Theorie geht wohl nicht so sehr in die Tiefe (von dem was ich gehört habe) allerdings hat die überwiegende Anzahl der Betriebe ein Mentorensystem, in denen der Student zum einen einem höheren Studenten zugeordnet wird, als auch einem Mitarbeiter des Betriebes, der dort schon länger arbeitet.
Das liegt vermutlich daran, dass der Betrieb eben einen Vorteil darin sieht, den Studenten möglichst optimal und praxisnah auszubilden, während an einer Uni eben mehr Wert auf die Aneignung theoretischen Wissens gelegt wird, da ja Universitäts-Absolventen auch häufig nicht in die Wirtschaft sondern in die Lehre/Forschung/etc gehen.

Von meinen Mitschülern, Geschwistern etc hört man hauptsächlich gutes über diese Art des Studiums, mein erfahrener Mentor ist leider in Urlaub, mit dem werde ich wohl erst ab Oktober zu tun haben, der übergeordnete Student ist leider nicht sonderlich gut im Programmieren, hilft aber enorm weiter in Bezug auf "Insider-Informationen", da man immer jemanden hat, den man Kleinigkeiten fragen kann, wenn man nicht gerade ganz oben fragen will.

Ja so denke ich auch über die Strukturen: Universität / Hochschule / Dual - alles ist Zweck erfüllend.
Bei uns gibt es kein Programm bzw. ich denke man wird erst "gementored" wenn man in die Praxis geht und
eine Stelle als Werkstudent findet. Leider habe ich diesen Zug nicht gesehen. Liegt vermutlich auch daran,
dass ich noch nicht weiß wohin ich will: Enterprise Architekt - Cloud - IoT - Vertrieb - oder doch etwas mit Data Science bzw.
Datenbanken? Egal, wie auch immer, dass ist mein persönlicher Weg. Hier geht es jetzt erstmal um Java und Programmieren :)
 
Natürlich ist das schön, denn dir kann immer jemand über die Schulter schauen. Zu diesem Problem gibt es aber eine recht simple aber gute Lösung:

1. Schritt: Ich veranschauliche mir auf Papier was falsch läuft
2. Schritt: Ich versuche die auf Papier festgestellten Fehler zu lösen
3. Schritt: Das Problem wurde nicht gelöst? ---> Google ist Freund und Helfer
4. Schritt: Selbst Google scheint nicht geholfen haben (recht selten) ---> Man suche sich ein Forum für die Sprache z.B. dieses für Java und stellt dort seine Frage ;)

Im Studium wird nunmal Selbständigkeit erwartet :)

Ja das mit der Selbstständigkeit kann ich mittlerweile ganz gut, hab den Weg hierher ganz alleine gefunden.

Die 4- Schritte sind wirklich sehr simple und daher leicht auszuführen. Ich werde es beherzigen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Java - "Learning by doing" - Übungsaufgaben gesucht. Java Basics - Anfänger-Themen 5
B Was taugen Coding Challenge Websites ? Java Basics - Anfänger-Themen 2
J Fehler im Coding Java Basics - Anfänger-Themen 5
kaoZ Variablen Coding Convention Java Basics - Anfänger-Themen 13
J Coding Kata Java Basics - Anfänger-Themen 7
G coding problem Java Basics - Anfänger-Themen 3
Zrebna Frage zu Test-Driven Development (TDD) Java Basics - Anfänger-Themen 3
I Frage Thymeleaf -> Fehler ignorieren und mit "" ersetzen? Java Basics - Anfänger-Themen 15
I Frage Thymeleaf -> Prefix / Suffix ändern? Java Basics - Anfänger-Themen 11
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
T Frage zu Parse Java Basics - Anfänger-Themen 2
H Frage an die Profis Java Basics - Anfänger-Themen 4
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
P Frage zu Rekursion und Backtracking Java Basics - Anfänger-Themen 2
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Frage zu arithmetischen Operationen Java Basics - Anfänger-Themen 20
F Kurze Frage zu replace() Java Basics - Anfänger-Themen 19
JavaSchmecktLecker Polymorphie Frage zur Methodenüberschreibung Java Basics - Anfänger-Themen 21
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
B Erste Schritte Frage zu Instanzierung und Referenzen Java Basics - Anfänger-Themen 8
DoubleM Runtime.getRuntime().exec Frage Java Basics - Anfänger-Themen 2
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
O Frage: Formaler Typbezeichner? Java Basics - Anfänger-Themen 3
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
N Spezielle frage zum Comparator Java Basics - Anfänger-Themen 6
L Frage zum Array Java Basics - Anfänger-Themen 1
A Frage zum UML Design Java Basics - Anfänger-Themen 1
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
izoards Drucken Frage zu FAQ Beitrag Java Basics - Anfänger-Themen 2
J Frage zu meinem Code (OOP) Java Basics - Anfänger-Themen 4
sserio Split() -> Regex Frage. Java Basics - Anfänger-Themen 7
A OCA Study Guide: 2. Frage aus Kapitel 3 Java Basics - Anfänger-Themen 9
sserio Date Library Frage Java Basics - Anfänger-Themen 9
Max246Sch Frage zu Währungsrechner Code Java Basics - Anfänger-Themen 2
sserio Frage zu HashMaps Java Basics - Anfänger-Themen 20
sserio Frage zu Threading - Multithreading Java Basics - Anfänger-Themen 2
sserio Frage zu Lambda Ausdrücken Java Basics - Anfänger-Themen 7
sserio Frage zu BigInteger Java Basics - Anfänger-Themen 1
D Frage bzgl. Enum-Handhabung Java Basics - Anfänger-Themen 16
xxx12 Frage Java Basics - Anfänger-Themen 2
I Generelle Frage zu Mikroservices (Spring Boot?), Docker... Java Basics - Anfänger-Themen 7
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
A Frage zur programmierung Java Basics - Anfänger-Themen 12
M Frage zur Methode split der Klasse String Java Basics - Anfänger-Themen 32
R Input/Output Frage zu Java IO Java Basics - Anfänger-Themen 6
M Frage zu printWriter Java Basics - Anfänger-Themen 5
C Frage zu OLSMultipleLinearRegression Java Basics - Anfänger-Themen 31
KogoroMori21 Frage zum Euklidischen Algorithmus Java Basics - Anfänger-Themen 11
S Verständnis-Frage zu einer HÜ? Java Basics - Anfänger-Themen 1
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
L Frage zur Ticket Maschine Java Basics - Anfänger-Themen 1
J Frage zu OOP-Klassendiagramm Java Basics - Anfänger-Themen 8
OSchriever Frage zu Compiler Java Basics - Anfänger-Themen 8
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
Bademeister007 Hallo Leute ich hab eine Frage zur ArrayList Java Basics - Anfänger-Themen 8
F Frage betreff Programmierbücher zu Lagerverwaltung als Konsolenprogramm Java Basics - Anfänger-Themen 3
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
I String.split regex Frage Java Basics - Anfänger-Themen 2
N Best Practice Frage zum MVC-Pattern Java Basics - Anfänger-Themen 2
dieter000 Frage zu einem Beispiel... Java Basics - Anfänger-Themen 5
J Frage zum Loggen Java Basics - Anfänger-Themen 18
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
Zrebna Frage zum "Referenzen-konzept" in Java Java Basics - Anfänger-Themen 8
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
marcooooo Frage zu bestimmten Beispiel Java Basics - Anfänger-Themen 31
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
N Input/Output Eine Frage über system.out.println. Java Basics - Anfänger-Themen 10
M konzeptuelle Frage: In welcher Klasse definiert man am Besten Methoden, die die Kommunikation mit dem User regeln? Java Basics - Anfänger-Themen 8
B Frage zum Code verständnis im Resultat Java Basics - Anfänger-Themen 10
C Exception-Frage Java Basics - Anfänger-Themen 3
J Eine Frage zur Schreibweise == ? : Java Basics - Anfänger-Themen 3
S Frage des Designs Java Basics - Anfänger-Themen 1
JavaTalksToMe Extends/Implements Frage Java Basics - Anfänger-Themen 3
pkm Frage zu Servletfunktion Java Basics - Anfänger-Themen 0
B Frage zur Währungsumrechnung Java Basics - Anfänger-Themen 3
S Allgemeine Frage über Generics und Vererbungen Java Basics - Anfänger-Themen 5
Kirby.exe Frage zur Verwendung von Interfaces Java Basics - Anfänger-Themen 6
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
L Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? Java Basics - Anfänger-Themen 4
D Frage zur IDE IntelliJ IDEA Java Basics - Anfänger-Themen 6
H Frage zum 2d Array Java Basics - Anfänger-Themen 1
N Frage zum Newton-Fraktal Java Basics - Anfänger-Themen 1
H Frage zu interfaces Java Basics - Anfänger-Themen 1
J Frage dazu Variablen klassenübergreifend zu verändern Java Basics - Anfänger-Themen 22
I Frage zu SkipList Java Basics - Anfänger-Themen 4
G Frage zu JScrollPane Java Basics - Anfänger-Themen 12
Kirby.exe Allgemeine Frage Java Basics - Anfänger-Themen 3
W Frage zu anonymen Klassen Java Basics - Anfänger-Themen 4
J Kleine Frage zu OOP Java Basics - Anfänger-Themen 371
S Frage Klasse und Objekte Java Basics - Anfänger-Themen 2
F Frage zu Iteratoren Java Basics - Anfänger-Themen 2
C Erste Schritte Frage zur ArrayList Java Basics - Anfänger-Themen 15
J Frage zur Vererbung Java Basics - Anfänger-Themen 1
H Frage zur ermittlung eines doppelte Paars aus Sotieralgorithmus Java Basics - Anfänger-Themen 4
H Frage zum Array Java Basics - Anfänger-Themen 17
G Schach -Frage 2- Maussteuerung Java Basics - Anfänger-Themen 7
G Schach in Java - Allgemeine Frage zur Architektur Java Basics - Anfänger-Themen 7
B Fachliche Frage bei Rechnungen Java Basics - Anfänger-Themen 16

Ähnliche Java Themen

Neue Themen


Oben