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:
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:
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 !
 
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 (!)
 
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.
 
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
 
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.
 
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.
 
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
 
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:
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.
 
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:
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.
 

Zurück
Oben