Programmieren/Coding erlernen

-Wo fange ich am besten an mit dem Lernen? Wie verbessere ich mich?

Deine Fragen sind sehr schwer zu beantworten, weil du nach eigenen Angaben noch ein Laie bist. Ich bin deiner Wahl IT-Security ein wenig skeptisch gegenübergestellt, denn dieser Bereich wird häufig verzerrt dargestellt und die Menschen haben einen falschen Eindruck von dem Fach. Ich geh mal davon aus, dass du mehr oder weniger weißt worauf du dich einlässt.

Es gibt mehr Programmiersprachen als Sprachensprachen, jede mit eigenen Use Cases. Für IT-Sicherheit sind Sprachen wie C (nicht C++/C#) und Assembler sehr nützlich. Diese Sprachen sind sehr nah an Systemressourcen, sodass du viel über die Maschine an sich lernst, was für IT-Sec wichtig ist. Leider macht das diese Sprachen auch unglaublich konfus für Anfänger.

Um die Konzepte des Programmierens zu lernen würde ich höhere Programmiersprachen wie Java, oder besser noch Python empfehlen. Diese Sprachen kann man sehr leicht neben der eigentlich Arbeit/Studium lernen und es existieren unglaublich viele und gute Tutorials im Internet.

-Gibt es ggf. Möglichkeiten berufs-/studienbegleitendend erste IT-Qualifikationen zu erlangen, wenn man z.B. noch ein duales Studium im Bereich WInfo anstrebt und "Futter" für den Lebenslauf braucht?

Natürlich gibt es die berüchtigen "Excel-/Word-Führerscheine" mit denen du erfolgreich beweisen kann, dass du weißt was eine Tastatur ist. Meiner Erfahrung nach gibt es keine weiteren nützlichen Zertifikationen, die man schnell mal machen könnte. Ich würde vermuten dafür ist das Gebiet einfach noch zu jung.

Was hat es mit diesen Coding-Wettbewerben [...] auf sich?

Das ist im Grunde das gleiche wie jeder andere Wettbewerb. Es wird ein Problem beschrieben, das man mit einem Programm zu lösen versucht. Die Probleme können unterschiedlich schwer sein und werden dann nach Kriterien wie Korrektheit, Geschwindigkeit, Effizient etc. bewertet. Ich wüsste nicht wie man sich besonders auf sowas vorbereitet, außer dass man eben selbst programmiert. Ach, vielleicht solltest du dich etwas mit Unixsystemen auskennen.

Man kann erstaunlich einfach Probleme formulieren, die für Computer extrem schwer zu lösen sind, sodass Effizient (beispielsweise) leicht überprüfbar wird. Ein Beispiel für solch ein Problem ist das sog. Rucksackproblem. Es ist natürlich keinesfalls verboten sich an alten Aufgaben aus vergangenen Wettbewerben zu versuchen.

[...] C++ für Spieleprogrammierer [...]

"für Spieleprogrammierer" ist das Clickbait für Programmierbücher. Ich rate davon ab und verweise auf den Absatz mit Java und Python. Falsch ist das natürlich nicht. Wenn du gut klarkommst mit C++, dann will ich der letzte sein, der dich zu Python zwingt. DAS Standardwerk gibt es nicht... obwohl ich noch keinen Programmierer getroffen habe, der nicht dies hier verwendet hat.

/r/FragReddit Thread