Richtig für Programmieren an der UNI lernen

Bitte aktiviere JavaScript!
Ich möchte mal mein Problem mit den Programmieren in Klausuren erzählen und zwar.

Merke ich immer wenn ich lerne das ich zu umständlich Programmiere der Code wird aufgebläht und es dauert länger und ist umständlicher.
Aber wie lernt man auf die logisch einfache Lösung zu kommen?
 
Das Was ist klar, nur das Wie da ist man noch etwas uneins.
Kleinkinder lernen zB durch fühlen und tasten ganz gut. Nur ist das für Erwachsene die lesen und schreiben können nur bedingt übertragbar...
Besonders schnell lernt ein Kind übrigens zB wenn es auf eine heiße Herdplatte fasst, also try & Error...
Hinweis: nein, ich lasse natürlich niemanden auf Herdplatten fassen. Nur ein Beispiel.
 
@Darknet, ich kenne das Problem nur zu gut.
Programmieren lernt man wie hier schon gesagt nur indem man es TUT. Doch weiß ich nur zu gut wie man sich fühlt wenn man eine Idee hat schreibt ein Programm es läuft super doch dann kommt ein Kommilitone oder jemand aus dem Forum :D hihi und sagt naja ist ein 3 Zeiler o_O ich hab doch 100 Zeilen Code geschrieben?

Doch dazu kann ich nur sagen von solchen Gedanken solltest du dich lösen. Auch ist es heute glaube ich nicht mehr so gerne gesehen wenn man 20 Zeilen zu 1er Zeile schreibt! ( Vorausgesetzt natürlich das Funktioniert). Denn wer soll so etwas später noch lesen können? Stellt man sich vor das macht jeder dann hat man 1000 von solchen Zeilen wer soll da noch durchblicken?

Klar sieht es super GEIL aus wenn man dann so ein 1,2,3.. Zeiler da stehen hat wo jemand anderes 20 Zeilen für brauch doch unser Prof sagt dann immer mit einem Lächeln und wenn ihr euch den Code ein halbes Jahr später wieder anschaut (Ohne Kommentare natürlich die brauch man ja nicht :p)! Was dann?

Wie gesagt ich denke leider auch noch super oft so. Doch vieles kommt auch mit der Zeit :)

Hoffe ich konnte dir mit diese gebrochenen Text etwas helfen :)

LG
 
Was immer eine logisch einfache Lösung für ein Problem sein kann. Diese einfache Lösung kann immerhin das (Zwischen)Ergebnis längerer Versuch-und-Irrtum Verfahren sein. Weiterhin kann das Betrachten anderer Codes helfen. Und nicht einfach " drauf los" programmieren, sondern nach Clean Code Prinzipien: https://cleancodeacademy.com
 
Klar sieht es super GEIL aus wenn man dann so ein 1,2,3.. Zeiler da stehen hat wo jemand anderes 20 Zeilen für brauch doch unser Prof sagt dann immer mit einem Lächeln und wenn ihr euch den Code ein halbes Jahr später wieder anschaut (Ohne Kommentare natürlich die brauch man ja nicht :p)! Was dann?

Wie gesagt ich denke leider auch noch super oft so. Doch vieles kommt auch mit der Zeit :)
Sobald du dich das erste Mal so richtig in deinem eigenen Code verlaufen hast, so tief daß du alles wieder umwirfst und nochmal von vorne anfängst (was in solchen Situationen nicht selten sogar das Beste ist), lernst du das ganz fix. Glaub mir, ich habe da Erfahrung...strukturierte Arbeit hab ich auf die harte Tour gelernt, aber der Schmerz ist ja der große Lehrer der Menschen. ;)

Aber, kleine Erfahrung: Auch wenn es anfangs wehtut ist es manchmal wirklich das Beste, alles umzuwerfen (Heil VKS!) und ein paar Schritte zurückzugehen und von vorne anzufangen. So hat man Gelegenheit, aus seinen Fehlern zu lernen. In meinem Projekt, an dem ich jetzt ca. 1,5a arbeite, habe ich einige Logkommentare wie "Der aktuelle Weg ist eine Sackgasse -> Letzter Commit vor dem großen Umbruch" drin.
Aber: dafür habe ich seit heute endlich wieder eine lauffähige Version, und eine Softwarestruktur die ich ganz gut überblicke. (Es sind zwar nur 79 Dateien in 12 Packeten, aber immerhin. :))
 
Merke ich immer wenn ich lerne das ich zu umständlich Programmiere der Code wird aufgebläht und es dauert länger und ist umständlicher.
Das ist ganz normal. Anfangs geht es erstmal darum, Probleme zu lösen. Den Rest würde ich als Kombination aus Erfahrung und bewusster Zielsetzung sehen: wenn Du weißt, dass Du es "im Prinzip kannst", dann kannst Du Dich darauf konzentrieren, bessere Lösungen zu finden. Das kannst Du natürlich auch "trainieren", indem Du z. B. ein Problem nimmst, dieses löst und anschließend nach anderen Lösungen suchst. Im Clean Code Bereich gibt es dafür Katas. Einfach mal Google bemühen.
 
Programmieren besteht aus vielen Aspekten, welche man ich auf verschiedene Weisen aneignen kann/muss.

Zum einen wäre da die Grammatik. Diese ist eigentlich dein Vokabular wie bei jeder Fremdsprache auch. Du lernst sie durch Anwendung. Du kannst sie jederzeit in x-beliebigen Nachschlagewerken anschauen. Je häufiger du sie verwendest, umso sicherer kannst du damit umgehen. Auch gehören ein paar Gepflogenheiten dazu, so wie man Sätze mit Groß- und Kleinschreibung und Satzzeichen verziert, wird auch Code entsprechend formuliert. Diese Gepflogenheiten mögen sich leicht bei einigen Sprachen unterscheiden. Wenn man das einmal beherrscht, sind diese Grundlagen für neue Sprachen meist total schnell auf andere Sprachen angewandt. Du findest immer wieder Gemeinsamkeiten.

Dann kommen ein paar Fortgeschrittene Techniken dazu um größere Probleme meistern zu können. Dazu gehören allgemeine Themen wie Algorithmen, Patterns und Datenstrukturen. Das ist viel Lernen und Verstehen. Du musst ihre Vor- und Nachteile kennen um sie gezielt einsetzen zu können. Sie sind unabhängig von der eigentlichen Sprache. Das musst du nicht alles sofort können. Dieser Wissensbestand wächst immerzu.

Dann kommen technische Aspekte hinzu, z.B. Datenformate (json, xml), REST API, Cryptography, Datenbanken - all das. Diese sind meist auf spezielle Aufgaben zugeschnitten. Auch hier heißt es lernen und verstehen. Eigne dir einfach nach und nach Teile an.

Der wohl am schwersten zu erlernende Aspekt ist das Vorgehen, die logische zielgerichtete und möglichst einfache Herangehensweise. Viele scheitern daran, nicht jeder kann es. Hier hilft sogar teilweise das Lösen von non-Programmier-Knobelaufgaben zum Üben. Gerade bei objektorientierten Sprachen wie Java kann ich dir nur einen Tipp geben, stelle dir Problemstellungen bildlich vor. Du musst diese Bilder dann "nur" in Code übersetzen. Ich weiß, das mag auch vielen schwer fallen, aber das ist es nicht.
 
Passende Stellenanzeigen aus deiner Region:

Oben