Ich bin ein Anfänger in Informatik und wir haben gerade angefangen, einige aktuelle Projekte in Python zu machen. Ich habe festgestellt, dass ich sehr effizient bin, wenn ich die Stift- und Papiermethode verwende, die mein Professor im Unterricht vorgeschlagen hat. Aber wenn ich mein Problem nicht aufschreiben und meine Algorithmen auf Papier ausarbeiten kann, bin ich sehr langsam. Während der Labors muss ich den Auftrag immer in mein Wohnheim zurückbringen. Wenn ich dort ankomme und es aufschreibe, löse ich das Problem, das mich die ganze Klasse in 5 Minuten gekostet hat.
Vielleicht liegt es daran, dass ich gestresst bin, wenn Leute vor mir Labore lösen. Oder vielleicht ist es die Stift- und Papiermethode.
Ich habe in Foren gestöbert und jemand schrieb, wenn Sie Ihre Programme auf Papier schreiben müssen, sollten Sie kein Programmierer sein. Ich mache mir große Sorgen, weil ich so viel besser bin, wenn ich sehen kann, was das Programm tut, und mich durch das Programm schaue, bevor ich den eigentlichen Code eingebe. Mache ich etwas falsch?
Edit: Sorry für die Unklarheit, aber als ich sagte, auf Papier zu schreiben, meinte ich meinen Lösungsansatz (z. B. das Schreiben von Beispielen, das Erstellen von Tabellen mit Werten usw.) nicht meinen tatsächlichen Code. Ich benutze nur das Papier, um meine Ideen zu verbreiten.
quelle
Antworten:
Es ist nichts Falsches daran, Ihre Algorithmen zuerst auf Papier zu erarbeiten. Nicht so sehr für das alltägliche Codieren, sondern für komplexere Algorithmen, arbeiten professionelle Programmierer sie ständig auf Papier oder einem Whiteboard aus, insbesondere wenn ein grafisches Format dies klarer macht. Für einen Studenten ist jedes Programm komplex.
Wenn Sie den Entwurf von Algorithmen am Computer verbessern möchten, können Sie einige Techniken üben. Beginnen Sie nicht damit, den Code aufzuschreiben, sondern schreiben Sie die gleichen Dinge, die Sie als Kommentare auf Papier gebracht haben, und erweitern Sie ihn dann nacheinander in echten Code oder detailliertere Kommentare.
Wenn ich zum Beispiel ein Element aus der Mitte einer verknüpften Liste lösche, beginne ich mit etwas wie:
Dann könnte ich durch
// find the element
eine Funktion mit mehr Pseudocode ersetzen und weitermachen, bis ich eine vollständige Lösung habe. Denken Sie nicht, dass Code linear geschrieben werden muss.quelle
Tue es! Wenn wir das nennen, was Sie tun , um Ihre Lösung zu denken und zu entwerfen , dann ist es sinnvoll, dass Ihr Prozess viel schneller ist als nur das Heraussprengen von Code.
Die Leute denken gerne (und die lauten sagen uns gerne), dass ihre Art zu tun besser ist. Der Mix aus Fähigkeiten und Fertigkeiten ist jedoch unterschiedlich. Tun Sie also, was für Sie funktioniert. Mit zunehmender Übung werden Sie wahrscheinlich einen größeren Teil der Designarbeit in Ihrem Kopf erledigen und bei größeren Problemen Papier verwenden.
Eine Sache, auf die Sie achten müssen, ist die Form der Prüfungen. Werden sie auf Papier sein oder werden sie computergestützt sein? Wenn sie auf Papier basieren, bietet Ihnen Ihr Weg einen Vorteil. Wenn sie computerbasiert sind, ist das auch in Ordnung: Entwürfe auf Papier machen und dann den Code schreiben. Was auch immer am besten funktioniert!
quelle
Ich schreibe den eigentlichen Code nicht auf Papier, aber für alles andere beginne ich fast immer mit einem Whiteboard oder einem Notebook. Ich skizziere normalerweise:
Es ist normalerweise eine Kombination aus Skizzen, Pseudocode und Englisch.
Ich finde, dass es auf diese Weise einfacher ist, zu visualisieren, wenn ich mit dem Codieren beginne. Ich werde auch Fehler entdecken, bevor ich mit dem Code beginne, weil ich alles vor mir sehen kann (anstatt unablässig zu scrollen und Fenster zu hüpfen). Nicht nur das, wenn es einmal aufgeschrieben ist, kann ich Dinge im Hinterkopf entstehen lassen, während ich an anderen Aufgaben arbeite. Ich kann auch nichtlinear arbeiten und eine Idee auf Papier bringen, wenn sie mir einfällt, und dann darauf zurückkommen, wenn ich den Punkt erreiche, an dem ich sie brauche.
Etwas auf Papier festzuhalten ist eine enorme Hilfe für die Erinnerung. Der Slogan für die Notebook-Marke Field Notes lautet:
Nachdem ich mich gezielter um das Aufschreiben von Dingen auf Papier gekümmert habe, finde ich, dass der Gedanke in meinem Kopf viel besser zementiert ist, als nur die elektronische Notiz zu machen, selbst wenn ich einen Moment später einen Eintrag in der ToDo-App auf meinem Handy vornehme. IOW, wenn ich meine Codierung auf Papier / Whiteboard plane, bleiben die Ideen besser in meinem Kopf.
Es ist auch eine nützliche Referenz, wenn es darum geht, meine Texte zu dokumentieren.
quelle
Ich glaube nicht, dass irgendetwas von Natur aus falsch ist, wenn man zuerst Code (Pseudo oder auf andere Weise) auf Papier schreibt - es ist wirklich nicht anders als, wenn man ihn auf ein Whiteboard schreibt, was viele Leute tun, wenn sie darüber diskutieren, wie man ein Problem angeht.
Schreiben Sie zuerst Entwürfe von Aufsätzen für Nicht-CS-Klassen auf Papier, bevor Sie sie abschreiben? Eigentlich habe ich das vor Jahren gemacht, als ich noch ein Student war, aber nach meinem ersten Jahr habe ich mich gezwungen, alle Entwürfe auf einem Bildschirm zu schreiben, da dies das Schreiben nachfolgender Entwürfe so viel einfacher gemacht hat, und die gleiche Idee gilt zum Schreiben von Code.
Ich würde vorschlagen, dass Sie versuchen, Ihre Algorithmen auszutippen, auch wenn es nur in einem Texteditor wie Word ist. Je mehr Sie es tun, desto komfortabler können Sie sich nicht auf Papier und Stift verlassen. Und wenn Ihre Schreibfähigkeiten etwas mangelhaft sind und dies tatsächlich die Quelle Ihrer Frustration ist, nehmen Sie an einem Schreibkurs teil! Es wäre das Beste, was Sie für Ihre zukünftige Karriere tun könnten.
quelle
Das Problem zu lösen und den Code zu schreiben, der Ihre Lösung implementiert, sind zwei verschiedene Aktivitäten.
Wenn Sie mit einer Sprache nicht vertraut sind, werden Sie viel Zeit mit dem Code selbst verbringen - und nicht genug, um eine gute Lösung zu finden. Wenn Ihnen dabei Papier, Whiteboard oder das Beginnen an der Decke helfen, dann tun Sie es auf jeden Fall.
(Ich persönlich steige vom Computer aus und laufe im Kreis, um eine Lösung zu finden.)
quelle
Sie werden die Interviews begeistern! Sie lassen Sie Code auf Papier oder auf das Whiteboard schreiben. Ich bin genau das Gegenteil. Der Versuch, Klammern zu schreiben oder mit einem Stift auszuschneiden und einzufügen, ist SO mühsam!
Mein Vater hat beim Programmieren von COBOL viel Papier verwendet. Ich denke, es ist nur dein Denkstil.
quelle
Früher hatten wir eine zweisemestrige Klasse namens The Basics of Programming. Sowohl die Tests zur Semestermitte als auch die Abschlussprüfungen wurden auf Papier durchgeführt. Wenn Sie Kompilierungsfehler gemacht haben, haben Sie viele Punkte verloren. Wenn Sie große Kompilierungsfehler gemacht haben, sind Sie gescheitert. Ich bin jedoch der Meinung, dass es die Fähigkeit entwickelt hat, in relativ kurzer Zeit einen Blick auf jeden Code zu werfen und fehlerhafte Zeilen zu finden.
quelle
An Ihrer Arbeit ist nichts auszusetzen, ich habe gelernt, auch mit Papier und Stift zu programmieren.
Wie andere vorgeschlagen haben, tun Sie, was für Sie funktioniert. Ich erinnere mich, dass das erste Java-Programm, das ich schrieb, hauptsächlich auf Papier geschrieben war. Dann habe ich zwei Stunden damit verbracht, es abzutippen und fünfzehn Minuten geweint, als ich mehr als 200 Compiler-Fehler sah. Es gab mehr, aber der Compiler würde nur die ersten 200 anzeigen! Der Punkt, den ich aber mache, ist, dass ich durch das Schreiben des Codes auf Papier den grundlegenden Algorithmus und die Funktionalität für das, was das Programm tun musste, durchdenken konnte. Der Compiler wies auf die Gründe hin, warum mein Programm nicht ausgeführt werden konnte. 90% der Probleme waren Ausnahmen mit Arrays.
Je mehr Erfahrung und Selbstvertrauen Sie sammeln, desto weniger verwenden Sie Stift und Papier. Sie wissen bereits, wie Sie grundlegende Konzepte verwenden, z. B. für Schleifen und so weiter. Sie haben Beispiele in anderen Programmen, die Sie wiederverwenden können. Sie werden den Compiler und eine IDE verwenden, um offensichtliche Fehler beim Schreiben des Programms zu finden. Im Moment, obwohl Sie diese Erfahrung nicht haben.
Wenn ich Ihre Frage durchlese, frage ich mich, ob einige Ihrer Probleme darauf zurückzuführen sind, dass sie sich konzentrieren. Wenn Sie Stift und Papier in einer ruhigen Umgebung verwenden, können Sie sich besser konzentrieren.
Du bist noch am College und lernst noch. Letztendlich ist alles, was Sie tun, das, was für Sie funktioniert. Wenn Sie mit Papier und Stift Ihre Gedanken ordnen und klar und ruhig denken, dann programmieren Sie.
quelle
Mein Code ist viel besser organisiert, wenn ich Notizen und Annäherungen auf einen Notizblock kritzele, Bücher überprüfe, das Web überprüfe und darüber nachdenke. Ich bin auch viel mehr eine visuelle Person, deshalb ist das Zeichnen von Bildern mit Datenstrukturen sehr hilfreich. Ich schreibe nicht jede Zeile auf, aber ich kritzle, was ich als "wichtige" Fragmente oder Schlüsselfunktionalität betrachte. Für größere Projekte starte ich Visio. Ich bin mir nicht sicher, warum jemand befürworten würde, direkt auf eine Tastatur zu springen, wenn er nicht viel effizienter oder stundenweise bezahlt ist.
quelle
Mach was für dich funktioniert. Ich würde keinen Code auf Papier schreiben. Ich schreibe Pseudocode und zeichne Flussdiagramme auf Papier, aber das Schreiben des vollständigen Codes scheint Zeitverschwendung zu sein.
quelle
Ich stehe auch am ersten Tag des Lernens technischer Fähigkeiten vor dem gleichen Problem.
Diese Vorgehensweise sollte jedoch nicht zu 100% zum Erfolg führen, da beim Schreiben von Code auf Papier keine Möglichkeit zur Fehlerbehebung besteht und die Fehler und Ausnahmen bei der Ausführung von Papierarbeiten behoben werden können.
In der Schreibarbeit gibt es also keine Navigation, um die Probleme zu lösen. Und wir können aufgrund der Systempraxis die Schreibgeschwindigkeit als Bonus erhalten.
Bitte versuchen Sie mehr Zeit mit Systemübungen zu verbringen. Dies gibt 100% iges Vertrauen und Ergebnis.
quelle