Das ungelöste Programmieren-Programmieren-Paradoxon



  • Hallo liebe Leute und alle andren die nicht lieb sind :P,

    ich lerne seit einiger Zeit (leider nicht ununterbrochen) C++. Ich habe mehrere Kurse hinter mir, die den Grundlagen und etwas Fortgeschrittene Stoff abdecken. Ich weiß, dass man um besser in Programmieren zu werden, einfach programmieren muss, und am besten so viel wie möglich. Programmieren programmieren heißt es von vielen Ecken. AAAAber, ich denke nicht, dass man nach einigen Grundkursen gleich das nächste große Betriebssystem programmieren wird (ich denke da stimmen mit einige zu). Ich habe oft und lange nach Übungen gesucht, mit denen ich das Gelernte vertiefen und festigen kann. Ich bin aber leider immer auf Übungen gestoßen, welches immer zu einer bestimmten Vorlesung dazugehört hat, bei dem ich nicht dabei war, aber die einen direkten Zusammenhang hatten (war nicht dabei, weil Übung aus dem Internet von irgendwelchem Uni von irgendeiner Vorlesung). Und bei manchen Übungen ist es so, dass sie für Anfänger deklariert werden, aber sie nie in meinem Grundkursen vorkamen. Ein Beispiel, ich habe in all meinen Kursen alles mit cout ausgegeben und mit cin eingelesen, dann verlangt der in der Übung von mir scanf einzulesen und mit printf auszugeben. Ich bin mir sicher, dass das auch nicht eine so große Hürde wäre das nachzugooglen. Um was es mir dabei geht ist, dass alle Kurse "Grundkenntnisse" selbst definieren und irgendwie es keine gemeinsamen Nenner gibt.

    Gibt es denn wirklich keine Übungen, am besten auf Deutsch (aber kein muss), die von leicht bis (sehr) schwer alles abdecken, die von der Schwierigkeit aufeinander aufbauen und kein Bezug zur einer Vorlesung haben, welche man nicht besucht hat?

    Wenn ich an einer Übung bin und ich weiß ein Teil nicht zu programmieren oder kenne eine bestimmte Funktion nicht, weil ich es in keinem Kurs hatte oder es mir aus der Erinnerung entschwand, ist es dann geschummelt, wenn ich es nachgoogle und die Übung somit fertige? Kann ich dann sagen ich habe die Übung geschafft/erledigt, obwohl ich was googlen musste? (Frage rein fürs Gewissen



  • Das problem welches du beschreibst hat nichts mit dem selbst-definieren von grundkenntnissen zutun, sondern vielmehr damit, dass einige unis immernoch C mit klassen unterrichten als C++.

    Besorg dir ein vernuenftiges buch (bitte hierfuer den buchthread aufsuchen), damit lernst du vernuenftiges C++.

    Was uebungsaufgaben angeht, kann ich https://rosettacode.org/wiki/Category:Programming_Tasks empfehlen.
    Da bekommst du sowohl ideen, also auch loesungen falls du nicht weiter kommst.

    Open source projekte sind ebenfalls gut um fit in der sprache zu bleiben, wenn man sie sonst nirgends einsetzt.



  • Ich habe mir zwei Bücher zugelegt. "Der C++-Programmierer" von Breymann und "C++ für Spieleprogrammierer" von von Kalista. Ich hatte erst das von Breymann zugelegt, aber hatte Probleme mit Codeblock, welches ich nicht gelöst bekommen habe, da war die Motivation dahin (also es lag nicht am Inhalt sondern an der IDE, ich wollte keine andere IDE benutzen da ich das Buch gerne eins zu eins durchgehen wollte und befürchtete, dass es dann Später zu Verwirrung kommen könnte, nach Kalista werde ich aber weder Breymann in Angriff nehmen). Mit dem von Kalista komm ich ziemlich gut zurecht, hab erst/schon ein Fünftel durch, aber würde gerne neben dem Buch halt das gelernte mit Übungen festigen.

    Ich habe mir den Link angeschaut und finde die Seite etwas unstrukturiert. Es alphabetisch geordnet, wobei ich eine Ordnung mit leicht/schwer oder Beginner Fortgeschrittene bevorzugen würde.

    Ich würde liebend gerne an Open source Projekten, vor allem mit anderen erfahreneren Programmierern, mitarbeiten. Aber ich weiß nicht, wie ich mich da einbinden könnte, und wie ich ein Projekt finden könnte, wo ich mitmachen dürfte

    Und was sagst du bezüglich der Frage "... ist es dann geschummelt, wenn ich es nachgoogle und die Übung somit fertige? ..." ?



  • Der Link dient hauptsaechlich als ideen-sammlung. Das ziel ist es diverse bekannte probleme mit moeglichst vielen programmiersprachen und auf verschiedene arten zu loesen.

    Zu deiner letzten frage, "geschummelt" ist relativ. Wenn du etwas nicht kennst wuerde ich statt google zu bemuehen (jedenfalls als anfaenger) die jeweiligen docs vorziehen. Dadurch lernst du auf kurz oder lang noch mehr methoden kennen, weil du unfreiwillig diverse member ansiehst; parameter, member, etc.

    Gut, dauert laenger wenn du nicht weisst wonach du suchst, aber ich denke einem anfaenger hat noch nicht den druck einer deadline oder aehnlichem.



  • Wenn du eine bestimme Funktion nicht kennst, ist es nicht als "schummeln" zu bewerten, wenn du diese nachguckst!

    Insbesondere sind cppreference udn cplusplus.com niemals Schummelei, da sich doch wirklich praktisch niemand alle Funktionen und Parameter merken kann. Syntax-Vervollständigung in der IDE ist auch kein Schummeln.

    Schummeln wäre es, wenn du dir die komplette Lösung abschreibst.

    Ich finde es übrigens erstaunlich, dass du ein Buch weglegst, weil du ein Problem mit einem Editor hast?!



  • @Cardiac ich weiß wonach ich suche, ich will das gelernte einfach üben. Übungen von leicht bis schwer.

    @wob Danke für deine Antwort. Im Buch mussten einige Voreinstellungen für die IDE vorgenommen werden, ich dachte wenn ich jetzt einfach Visual Studio nehmen würde (Im Buch wurde Codeblocks verwendet), dann würde ich an irgendeiner Stelle nicht weiterkommen.



  • Ich habe mal bisschen in Google gestöbert und bin da auf zwei Seiten gestoßen.

    1.https://trainyourprogrammer.de/
    2.https://www.hackerrank.com/

    Die erste Seite wird auch hier im Forum erwähnt, aber in einem etwas älteren Beitrag. Da stand hauptsächlich negatives drin, dass die Aufgaben zu leicht wären etc. Habt Ihr Erfahrung mit der Seite?

    Die zweite Seite wird in einigen Beiträgen in Quora für Anfänger empfohlen, habt Ihr da auch Erfahrungen, oder einer von den stillen Mitlesern?



  • An deiner Stelle würde ich zum Breymann Buch zurückkehren. Die IDE Problematik kriegen wir hier sicherlich in Griff. Ein gutes Buch ist der einzige Weg, richtiges C++ zu lernen.



  • Nach dem Buch von Kalista werde ich mich wieder an Breymann's Buch ranmachen.
    Das mit dem IDE hatte ich schon mal hier gepostet, aber eine Lösung fanden wir nicht https://www.c-plusplus.net/forum/342478



  • manchmal vergisst codeblox alte einstellungen zum Teil nicht, obwohl es neue gibt. daher: C:\Users\benutzer\AppDate\Roaming\CodeBlocks löschen und Einstellungen neu vornehmen. ODER: Visual C++ oder Netbeans mit C++-plugin oder ... nehmen
    ODER: Nur Editor Notepad++ oder so verwenden und die compilation händisch anstoßen, also g++ direkt verwenden. beim breymann kann man in jedem verzeichnis make eingeben. die ausgaben von make zeigen dann die verwendeten g++ einstellungen. Die kalista-spieleprogrammierer beispiele gehen auch ohne IDE gut zu compilieren. C++ kann man gut ohne IDE lernen, nur für größere projekte ist sie hilfreich


Log in to reply