Womit anfangen zu lernen? Informatik-Studium

  • Hey,


    fange in nem halben ja ca. mit dem Informatik Studium an.... und nun will ich mich jetzt schon in die Programmierung reinhängen und anfangen die Basics zu lernen, damit ich nicht so direkt bei null da anfangen werde...


    Jetzt stellt sich die Frage...soll ich mit Java anfangen oder C? ( C+? C++?, kann mir einer da den Unterschied erklären...)


    Könnt ihr mir gute Lektüre empfehlen? Online Tutorials?


    ich hatte bis zum Abi Informatik, jedoch war der Unterricht ziemlich oberflächig...if, while...sowas halt


    Danke im vorraus!

  • wo willst du studieren? informiere dich erstmal, mit welcher sprache die da anfangen. in stuttgart ist es z.b. Ada.


    C++ ist nie verkehrt. Ansonsten kannst du nie früh genug anfangen, Mathe zu lernen

    Dieser Beitrag wurde noch nie editiert, zuletzt von »hangman« (Heute , 13:37)



    1355?mode=raw


    Skill ist, wenn Luck zur Gewohnheit wird

  • Mathematik bin ich gerade dabei..... ist eine Fachhochschule


    Modul Programmieren 1 sieht so aus:


    Elementare Programmiertechniken
    - primitive Datentypen, Unicode, Arrays, Referenztypen
    - Sequenz, Selektion, Iteration, Rekursion
    Abstraktionsmechanismen
    - Funktionale Abstraktion
    - Datenabstraktion (ADT)
    - Kontrollabstraktion (z.B. Iteratoren, Streams)
    Objektorientierung (prozedural und funktional)
    - Polymorphie: Overloading, Overriding, late binding
    Ausgewählte Elemente objektorientierter Bibliotheken, z.B:
    - Collections
    - Streams, Channels
    Typisierungskonzepte
    - Dynamische vs. statische Typisierung


    Modul Programmieren 2:


    Ausgewählte Elemente objektorientierter Bibliotheken, z.B:
    - GUI-Frameworks
    - Generics
    Metasprachliche Konzepte
    - Annotationen, XML
    - Reflection
    Vertiefungen
    - Typ- vs. Implementationshierarchie
    - elementare Design Pattern
    - Modellierungen (anhand UML)
    - nebenläufige bzw. asynchrone Programmierung
    - Deployment
    Correctness
    - Design by Contract (Assertions, Invarianten, Teststrategien)


    Grundlagen Systemnahes Programmieren:


    - Methoden und Techniken zur prozeduralen - und maschinennahen
    Programmierung
    - Weiterführende Konzepte einer Instruction Set Architecture
    - Weiterführende, für die technische Informatik relevante Konzepte einer
    hardwarenahen Programmiersprache wie zum Beispiel C
    - Speicherverwaltung auf Hochsprachen- und Maschinenebene
    - C Projekte: Verwaltung, Modultechnik, Bibliotheken, Standardbibliotheken
    - Interfaces zur Verzahnung von Hochsprachen und Assembler
    - Abbildung von Daten- und Kontrollstrukturen prozeduraler Hochsprachen in
    maschinennahe Implementierungen
    - Elementare Zeitmessungen


    sind jetzt ziemlich viele Informationen...zur Info es ist die Technische Informatik (Elektrotechnik lerne ich auch schon die Basics!)

  • da steht ja z.b. c dabei. bei technischer info ist alles low level ganz gut, auch assembler

    Dieser Beitrag wurde noch nie editiert, zuletzt von »hangman« (Heute , 13:37)



    1355?mode=raw


    Skill ist, wenn Luck zur Gewohnheit wird

  • keine ahnung. steck dir kleine ziele. c ist ja nicht objektorientiert, also was ganz anderes wie c++ oder java

    Dieser Beitrag wurde noch nie editiert, zuletzt von »hangman« (Heute , 13:37)



    1355?mode=raw


    Skill ist, wenn Luck zur Gewohnheit wird

  • Also ich fand das "Java ist auch eine Insel" grottenschlecht. Mir haben die Galileo-Bücher immer gefallen. Aber das Ding is ein Griff ins Klo.
    Der Autor versucht mit falschen Argumenten sein geliebtes Java (ausgerechnet) gegen C++ als super toll darzu stellen.
    Einige Beispiele:

    • 1.2.9 Zeiger und Referenzen: Private & Public sind für die Sichtbarkeit zuständig, nicht für die Sicherheit
    • 1.2.12 Einfache Syntax der Programmiersprache Java: Aus der Luft gegriffenes Negativbeispiel wie niemand programmieren würde
    • Weiter unten im gleichen Abstatz: Kein Präprozessor für Textersetzungen

      • Denn der Präprozessor ist generell unnötig ... mag in Java sein
      • Der Präprozessor lässt den "Sicherheitskritischen" Private-Public Hack zu: Auch hier wieder Sichtbarkeit vs. Sicherheit


    Und das sind nicht die einzigen 2 Referenzen. Der Autor hated immer wieder gegen C++. Vielleicht bin ich auch zu negativ an die Sache rangegangen. Ich mochte Java nie und daran wird sich auch nie was ändern. Aber der Autor agiert einfach wie der letze Java-Faggot der unbedingt beweisen will, dass ein heißgeliebtes Java gegen C++ antreten kann. Wenn er wenigstens ordentlich argumentieren würde. Aber viele seiner Argumente sind technisch falsch und vermitteln dem möglicherweise unwissenden Leser eben falsches Wissen. Und das ist für ein Lehrbuch eher suboptimal.

  • Der Autor hat wohl einfach nie produktiv mit C++ gearbeitet. Es als Erleichterung zu sehen, dass man keine Pointer benutzen kann und den Präprozessor als nutzlos darzustellen, ist schon etwas naiv.


    Und dann ein Perl-Beispiel für unleserlichen Code... selbst schöner Perl-Code ist unleserlich. Perl ist bekannterweise eine write-only Sprache!

    Dieser Beitrag wurde noch nie editiert, zuletzt von »hangman« (Heute , 13:37)



    1355?mode=raw


    Skill ist, wenn Luck zur Gewohnheit wird

  • Das Modul klingt sehr nach einer höheren Sprache wie C# oder Java, könnte aber durchaus auch C++ sein.
    Ich studiere auch TI, wir lernen (lernten) C und C#. Java lernen bei uns nur die Medieninformatiker.


    Ich denke mal mit Java wirst du gut fahren. Von da aus kannst du relativ einfach nach C# oder C++ umsteigen.


    6 SWS Vorlesung, 12CP. Das Modul wird ne Menge Arbeitsaufwand ...

  • hab mir jetzt das Buch "Grundlagen der Technischen Informatik" von Hoffman besorgt....kennt es jemand? wie findet ihr es?


    und könnt ihr mir eine Lektüre für Assembler empfehlen? habe jetzt einiges an Bücher namen angesammelt...aber weiss nicht welches ich mir holen soll speziell für assembler...


    edit:


    Die Lektüre "Hacking" von Jon Erickson hat eine bomben Bewertung...jemand informationen dazu? soll ich es mir kaufen?