Buchclub: Handbuch für Fachinformatiker (Teil 1) – Anwendungsentwickler-Podcast #53

Dieser Beitrag ist Teil 1 von 14 in der Serie Buchclub.

Es wird Zeit für den ersten Buchclub im Anwendungsentwickler-Podcast. Und welches Buch wäre besser geeignet als das Handbuch für Fachinformatiker? Daher besprechen wir in der dreiundfünfzigsten Episode die ersten zwei Kapitel des Buchs.

Probeabo bei Audible (Affiliate)

Inhalt

  • IT-Berufe und Studienrichtungen, Aufbau und Ablauf der Abschlussprüfung
    • Guter Überblick zum Einstieg. Man sollte die Berufe kennen.
  • Geschichte der Computer
    • Für mich eine spannende Zeitreise. Für die Prüfung irrelevant.
  • Entwicklung der Programmiersprachen
    • Das ist unser Brot und Butter 🙂
    • Man sollte kennen/erklären können: Maschinencode, Assembler, Fortran, Cobol, Basic, C, imperative/prozedurale Programmierung, Smalltalk, C++, Java, C#, LISP, Prolog
    • Was bedeutet Abwärtskompatibilität bei C++?
      • C-Code ist auch gültiger C++-Code.
    • Wo wird Smalltalk in der Praxis eingesetzt?
      • Nirgends 😉
    • Was sind Beispiele für logische Programmierung?
      • Prädikatenlogik in Prolog.
  • Digitale Speicherung und Verarbeitung von Informationen
    • Unterschied analog/digital wird gut erklärt.
    • Für die Prüfung sollte man übliche Farbtiefen und Sampling-Raten und -Tiefen kennen.
    • Zeichensätze werden nur kurz behandelt, kommen später aber noch einmal. Siehe auch Zeichensätze und -kodierung.
  • Einführung in die Logik
    • Wichtiges Kapitel für alle Informatiker. Wenig direkt prüfungsrelevant, sondern Transferwissen.
    • Wofür brauchen wir die Mengenlehre?
      • SQL macht nichts anderes als Mengenoperationen.
  • Informationsspeicherung im Computer
    • Wo braucht man die unterschiedlichen Zahlensysteme in der Praxis?
      • Dual: Subnetting, Oktal: Linux-Dateirechte, Hex: MAC-Adresse
    • Die Vorsilben der Maßeinheiten muss man auswendig kennen.
    • Welche Zweierpotenzen sollte man auswendig können?
      • 1-10, 16, 24, 32, 48, 64, 128
  • Elektronische Grundlagen
    • Nett zu wissen, aber für die Prüfung eher unwichtig.
  • Automatentheorien und -simulationen
    • Komplexität ist ein wichtiges Thema für die Praxis, aber für die Prüfung irrelevant.
    • Auch die Turing-Maschine sollte jeder Informatiker kennen, aber in der Prüfung wird sie eher nicht Thema sein.
    • Der virtuelle Prozessor verdeutlicht gut verständlich die Abläufe in einer CPU.

Allgemeines Feedback zum Buch

  • Der Autor erzählt sehr persönlich. Man fühlt sich als Leser angesprochen.
  • Roter Faden in Kapitel 2 fehlt ein wenig.
  • Komplexität und elektrische Schaltungen waren schwer zu verstehen.
  • Nächster Buchclub: 04.04.2016, Kapitel 3 (Hardware) und 4 (Netzwerkgrundlagen)

Literaturempfehlungen

Na was wohl? 😉

Sascha Kersken - IT-Handbuch für Fachinformatiker: Für Fachinformatiker der Bereiche Anwendungsentwicklung und Systemintegration. Inkl. Prüfungsfragen und Praxisübungen (Affiliate)*
(direkt beim Rheinwerk-Verlag bestellen*)

Links

Probeabo bei Audible (Affiliate)

Navigation der SerieBuchclub: Handbuch für Fachinformatiker (Teil 2: Hardware) – Anwendungsentwickler-Podcast #56 >>
Polyglot Clean Code Developer
About the Author
Ausbildungsleiter für Fachinformatiker Anwendungsentwicklung und Systemintegration, IHK-Prüfer und Hochschuldozent für Programmierung und Software-Engineering.

13 comments on “Buchclub: Handbuch für Fachinformatiker (Teil 1) – Anwendungsentwickler-Podcast #53

  1. SmallTalk wird in der Tat so gut wie gar nicht in der Praxis verwendet (leider, könnte man sagen, da Objektorientierung kaum irgendwo anders „sauberer“ implementiert ist). Lediglich indirekt als Ideengeber diente es, unter anderem für die spezielle Verwirklichung der Objektorientierung in Objective-C oder für Ruby. Dennoch sollte man auf das Projekt Squeak (http://squeak.org/) hinweisen, eine auf SmallTalk basierende Programmier-Lern-Umgebung, insbesondere für Kinder.

  2. Die Flash-Simulation des Virtuellen Prozessors gibt es übrigens hier (auf der eigentlich in Rente geschickten alten Website): http://www.lingoworld.de/buecher-old/fachinfo/vprocessor

  3. Stefan Macke sagt:

    Squeak kannte ich noch nicht. Danke für den Tipp!

  4. Florian Albers sagt:

    Da wir von SmallTalk und Squeak reden: Es gibt das Pharo-Projekt, was ein „Business-Fork“ von Squeak ist und sich zum Ziel gemacht hat, eine SmallTalk-Entwicklungsplattform für den professionellen Bereich bereitzustellen (http://pharo.org).
    Unter „Stories“ (http://pharo.org/success) werden auch einige Erfolgsgeschichten aus der Praxis wiedergegeben und es gibt eine Association von Pharo-Förderern, dessen „Gold-Member“ u.a. das Unternehmen Thales ist.
    Die „eXept Software AG“ bietet ebenfalls eine professionelle SmallTalk-Plattform an: Smalltalk/X (https://www.exept.de/de/smalltalk-x.html).
    Um zu verstehen, was Objektorientierung wirklich ausmacht und was das eigentlich ist, sollte jeder angehende Entwickler sich zumindest mal SmallTalk angeschaut haben. Dort werden die Prinzipien konsequent umgesetzt und alles findet dort wirklich nur über den Austausch von Nachrichten statt… selbst Verzweigungen werden dort als Boolean-Objekte behandelt, die auf die Nachrichten ‚IfTrue‘ oder ‚IfFalse‘ reagieren. Java ist im Gegensatz dazu keine reine OO-Sprache, weil dort auch prozedural entwickelt werden kann und es primitive Datentypen gibt. Auch kann dort die Kapselung der Daten aufgeweicht werden: bei einer „echten“ OO-Sprache sind Attribute nach außen nicht sichtbar 😉

  5. Stefan Macke sagt:

    Spannend. Das kannte ich bislang auch noch nicht.

    Meine ehemalige Auszubildende lernt im Studium gerade auch Smalltalk. Aber es gibt wohl schon die Entscheidung, im nächsten Jahrgang auf Java umzustellen. Vielleicht nicht die beste Wahl 😛

  6. Computerlinguist sagt:

    Logische Sprachen wie Prolog werden vor allem in der KI verwendet zur Darstellung von Weltwissen. Durch logische Schlüsse kann der Computer aus vorhandenen Fakten neue Informationen ableiten, so dass man nicht alles explizit angeben muss (wenn Säugetiere 4 Beine haben und ein Elefant ein Säugetier ist, muss man nicht explizit angeben, dass Elefanten 4 Beine haben; der Umgang mit dreibeinigen Elefanten, die ein Bein verloren haben, ist aber für manche Sprachen schwierig). In der Bioinformatik werden oft Ontologien verwendet, die Wissensbasen auf Grundlage von logischen Sprachen sind, z. B. für Informationen über Gene oder Proteine.
    Hexadezimal wird auch zur Angabe von Codepunkten in Zeichencodierungen wie Unicode verwendet.

  7. Stefan Macke sagt:

    Danke für die Ergänzungen! 🙂

  8. Frank sagt:

    Hallo Stefan!

    ich lese gerade aus Spaß an der Freud das „Handbuch für Fachinformatiker“ und stehe bei Seite 100, Turing-Maschine (Skript) schon auf dem Schlauch.

    M.E läuft der Mechanismus so ab: Der Zeige wandert so lange nach rechts, bis er auf eine Leerstelle trifft, in die er ein Y schreibt. Dann wandert er so lange nach links bis er eine 0 oder 1 findet. Nachdem er den Wert mit einem X überschrieben hat, beginnt wieder die Wanderung nach rechts. Via der Verzweigung (Zustand 5: 0, Zustand 6:1) wird das Y mit dem gefundenen Wert überschrieben. Dann wird ein neues Y gesetzt etc. Am Ende sind die ursprünglichen Werte ge-„X“-t und stehen auf der rechten Seite in umgekehrter Reihenfolge.

    Ich verstehe aber nicht, wie der Prozess sauber abgebunden wird. Ist der letzte Wert gefunden müsste, er doch eigentlich in Zustand 4 irgendwie an das Ende springen. Macht er aber in Zustand 3 . Müsste die Zeile .,7,- nicht in Zustand 4 stehen? Stehe ich da auf der Leitung?

    Ich hoffe, so eine amateurhafte Frage ist okay…

    Ansonsten: sehr lehrreicher und fundierter Podcast!

    Schönen Gruß
    Frank

  9. Stefan Macke sagt:

    Hallo Frank, sorry, um mich mit so einer Detailfrage zum Buch zu beschäftigen, fehlt mir leider die Zeit. Versuch es doch mal im Forum.

  10. Frank sagt:

    Hallo Stefan, mach ich. Danke für die Antwort, Frank

  11. Frank sagt:

    Wow. War ein guter Tipp. Problem gelöst.

  12. Alex sagt:

    Hallo Stefan,

    finde deinen Podcast Klasse. Nur eine kleine Anmerkung: QuickSort ist im Worst-Case in O(n^2); wenn man eine sortierte Liste sortieren würde. Aber im Average-Case läuft der Quicksort in O(n*log(n)).

    Vielen Dank für die Mühe.

  13. Stefan Macke sagt:

    Hallo Alex, das stimmt. Aber im alltäglichen Sprachgebrauch schauen wir ja meist nur auf den durchschnittlichen Fall, um die Algorithmen zu vergleichen. Im konkreten Anwendungsfall muss man sich natürlich Gedanken darüber machen, wie die zu sortierenden Daten genau aussehen und welcher Algorithmus dafür am geeignetsten ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax