Hugendubel.info - Die B2B Online-Buchhandlung 

Merkliste
Die Merkliste ist leer.
Bitte warten - die Druckansicht der Seite wird vorbereitet.
Der Druckdialog öffnet sich, sobald die Seite vollständig geladen wurde.
Sollte die Druckvorschau unvollständig sein, bitte schliessen und "Erneut drucken" wählen.

Keine Panik, ist nur Technik

E-BookEPUBePub WasserzeichenE-Book
Deutsch
Graefe und Unzer Verlagerschienen am05.08.2020
So cool und un-nerdig kann IT-Wissen sein! Computer entscheiden über unseren Job, unseren Krankenversicherungstarif, unsere Partnersuche - sie wissen alles über uns. Aber was wissen wir eigentlich über sie? Was steckt hinter einer App? Warum tragen Hacker in Filmen immer Kapuzenpullover? Weshalb werden manche Menschen von Algorithmen automatisch diskriminiert? Wie 'smart' wird unser Kühlschrank bald sein? Und wieso sollte man Bier und Fertigpizza nie mit Karte bezahlen? Kenza Ait Si Abbou programmiert für ihr Leben gern. Sie zeigt, wie aus Nullen und Einsen der Quellcode unseres Lebens wird, warum es sich lohnt, kein digitaler Analphabet mehr zu sein und weshalb man auf Algorithmen ziemlich gut tanzen kann - solange wir ihnen den Takt vorgeben!

Kenza Ait Si Abbou ist in Marokko geboren und löste schon als kleines Mädchen Rechenaufgaben schneller, als ihre Mutter neue stellen konnte. Heute ist sie leitende Managerin für Robotik und künstliche Intelligenz bei der Telekom. Sie ist weltweit gefragt als Rednerin und Moderatorin. Sie spricht sieben Sprachen fließend und wurde unter anderem mit dem Digital Female Leader Award. Sie lebt mit ihrer Familie in Berlin.
mehr
Verfügbare Formate
BuchKartoniert, Paperback
EUR16,99
E-BookEPUBePub WasserzeichenE-Book
EUR13,99

Produkt

KlappentextSo cool und un-nerdig kann IT-Wissen sein! Computer entscheiden über unseren Job, unseren Krankenversicherungstarif, unsere Partnersuche - sie wissen alles über uns. Aber was wissen wir eigentlich über sie? Was steckt hinter einer App? Warum tragen Hacker in Filmen immer Kapuzenpullover? Weshalb werden manche Menschen von Algorithmen automatisch diskriminiert? Wie 'smart' wird unser Kühlschrank bald sein? Und wieso sollte man Bier und Fertigpizza nie mit Karte bezahlen? Kenza Ait Si Abbou programmiert für ihr Leben gern. Sie zeigt, wie aus Nullen und Einsen der Quellcode unseres Lebens wird, warum es sich lohnt, kein digitaler Analphabet mehr zu sein und weshalb man auf Algorithmen ziemlich gut tanzen kann - solange wir ihnen den Takt vorgeben!

Kenza Ait Si Abbou ist in Marokko geboren und löste schon als kleines Mädchen Rechenaufgaben schneller, als ihre Mutter neue stellen konnte. Heute ist sie leitende Managerin für Robotik und künstliche Intelligenz bei der Telekom. Sie ist weltweit gefragt als Rednerin und Moderatorin. Sie spricht sieben Sprachen fließend und wurde unter anderem mit dem Digital Female Leader Award. Sie lebt mit ihrer Familie in Berlin.
Details
Weitere ISBN/GTIN9783833876349
ProduktartE-Book
EinbandartE-Book
FormatEPUB
Format HinweisePub Wasserzeichen
FormatE101
Erscheinungsjahr2020
Erscheinungsdatum05.08.2020
SpracheDeutsch
Dateigrösse9946 Kbytes
Artikel-Nr.16181438
Rubriken
Genre9200

Inhalt/Kritik

Inhaltsverzeichnis
Hinweis zur OptimierungImpressumVorwortDie kunterbunte Welt der TechnikDenk doch mal nach, Maschine!Wie künstliche Intelligenz das Tanzen lernt»Leider entsprechen Sie nicht unseren Anforderungen«Auch Maschinen wollen nur das eineDie Kunst, Angst in Zahlen auszudrücken»Sie kenne ich doch. Sind Sie nicht gestern bei Rot über die Ampel?«»Baby, you can drive my car«Man erntet, was man codetMit KI gegen Stürme, Eis und HitzewellenChefvisite beim RoboDocComputer wie wirIch hack mir die Welt, wie sie mir gefällt!NachwortDanksagungEndnotenDie Autorinmehr
Leseprobe




Coden lernen ist wie eine neue Sprache lernen

Mit Coden beziehungsweise Programmieren kam ich zum ersten Mal an der Uni in Berührung. An meiner Schule war das nie ein Thema gewesen, weshalb ich zu Beginn einen Riesennachteil im Vergleich zu einigen meiner Kommilitonen hatte. Denn ein Ingenieursstudium ohne Programmieren ist gar nicht mehr vorstellbar. Schon im ersten Semester stand bei mir die Programmiersprache C auf dem Lehrplan. Am Anfang klang für mich alles wie Chinesisch, aber bald hatte ich die Logik dahinter durchblickt, und dann ging vieles leichter.

Für mich war es der entscheidende Moment, als ich endlich verstand, dass es sich dabei um eine Aneinanderreihung von Befehlen handelt, die die Maschine nach und nach abarbeitet. Je nach Programmiersprache ist der Satzbau ein anderer, aber die Logik bleibt: Befehl und Ausführung. Unter dem Satzbau, also der Syntax einer Programmiersprache, versteht man ein System von Textelementen, mit denen wohlgeformte Programmtexte aus einem grundlegenden Zeichenvorrat gebildet werden müssen. Man muss sich das vorstellen wie eine Fremdsprache, die viele mehr oder weniger feste Redewendungen beinhaltet. Programmiersprache hat immer auch ein System von Regeln, also eine Grammatik, an die sie sich halten muss, während der Zeichenvorrat das Vokabular darstellt. Daraus werden Programmtexte gebildet, um bestimmte Sachverhalte möglichst kurz und knapp zu beschreiben.

Wenn ich in der Sprache C zum Beispiel »int a = 2« schreibe, sage ich der Maschine: »Setze Variable a auf den Wert 2.« In der Regel tue ich das, weil ich später mit der Variable a weiterarbeiten möchte, vielleicht mit einer anderen Variablen addieren möchte, zum Beispiel weil ich die Zutaten aus einem Rezept für zwei Personen nun für fünf Personen berechnen lassen möchte oder Ähnliches. Der Befehl »int a = 2« scheint zwar kurz zu sein, aber dahinter verbirgt sich einiges an Informationen für die Maschine,. Sollte diese Syntax für euch komisch aussehen, keine Sorge - jetzt könnt ihr euch zumindest schon einmal vorstellen, wie ich mich zu Beginn gefühlt habe.

Beim Coden geht es also darum, eine neue Sprache zu lernen, die nicht nur wir Menschen verstehen, sondern auch die Maschinen. Als Programmiererin wird man zu einer Art Übersetzerin. Übersetzen war etwas, das ich gemacht habe, um neben dem Studium etwas Geld zu verdienen. Darin war ich geübt, aber natürlich nur mit menschlichen Sprachen. Jetzt lag die Herausforderung darin, Maschinensprachen zu lernen. Davon gibt es viele, aber sie lassen sich in zwei Kategorien unterteilen: einfache und hohe Programmiersprachen. Die einfachen Sprachen sind in einer Syntax geschrieben, die die Maschinen schnell verstehen können. Dafür sind sie für die Menschen eher schwierig. Die hohen Sprachen sind genau umgekehrt: Sie sind in einer Syntax geschrieben, die für uns einfacher zu verstehen ist, aber für Maschinen so nicht umsetzbar sind. Für die Übersetzung sorgen sogenannte Compiler. Wir werden gleich sehen, was das alles bedeutet. Aber bevor wir über die Unterschiede sprechen, schauen wir uns die Gemeinsamkeiten an.



Abbildung 3: Vom Code zur Ausgabe



Beide Spracharten verbindet dieselbe Logik des Programmierens. In beiden Fällen schreibe ich ein Programm, das am jeweiligen Betriebssystem ausgerichtet ist. Das Betriebssystem bildet die Schnittstelle zwischen mir beziehungsweise meinem Anwendungsprogramm und den Hardware-Ressourcen meines Computers, also zum Beispiel meinem Monitor, meinem Drucker, meiner Kamera oder sonstigen Geräten. Es prüft, ob mein Code/Programm und die darin enthaltenen Befehle richtig geschrieben sind, und wenn ja, dann führt es das Programm durch. Dieses Ausführen bedeutet, dass mein Betriebssystem auf die Hardware zugreift und das tut (anzeigt, druckt, aufnimmt etc.), was ich im Programm befohlen habe.

Jeder von uns wendet solche Befehle zum Beispiel an, wenn er ein Dokument in Word erstellt und ausdrucken lässt. Das Anwendungsprogramm wäre in diesem Fall also Word, das Betriebssystem Windows bei Microsoft-Geräten oder iOS bei Apple-Geräten und die Hardware-Ressource der Drucker.

Der Unterschied zwischen einfachen und hohen Sprachen liegt nicht in der Logik des Programmierens oder dem Ausführen der Befehle, sondern daran, wie ich das Programm schreibe. Die Syntax und die Detailtiefe meiner Befehle an die Maschine spielen hier eine große Rolle. Ähnlich wie ich Fachbegriffe mit meinen Arbeitskollegen nutze, um technische Fragen zu klären, oder wie ich dagegen eine einfache Sprache wähle, wenn ich mich mit meinem fünfjährigen Sohn unterhalte.

Die einfachen Sprachen sind für die Maschinen einfach zu verstehen. Die Syntax ist für uns Menschen etwas ungewöhnlich, aber für die Maschine sind es klare Befehle, mehrheitlich Arithmetik und Speicherzugriffe. Mit Arithmetik meine ich hier die vier Grundrechenarten, also Addieren, Subtrahieren, Multiplizieren und Dividieren. Alle anderen Funktionen, zum Beispiel eine Potenz, bei der man »x hoch y« rechnet, lassen sich als Kombinationen dieser Grundoperation genannten Grundrechenarten beschreiben. Diese Funktionen werden in Bibliotheken gespeichert, die man dann abrufen kann und sich so den Aufwand spart, jedes Mal die ganze Funktion neu beschreiben zu müssen. Man muss sich das so vorstellen, als hätte die Maschine mehrere Schränke mit vielen Schubladen drin, einen Hauptschrank für die Grundoperationen und einen für die Bibliothek voller Funktionen, in jeder Schublade eine. Mit meinen Befehlen sage ich: »Öffne mal die oberste Schublade von links, lies den Inhalt heraus, dann öffne die dritte Schublade von unten, summiere die Inhalte von beiden Schubladen, und stecke das Ergebnis in die vierte Schublade oben rechts.«

Die einfachen Sprachen nennt man auch »Assemblersprachen«. Damit die Maschine genau das erledigt, was im Code steht, muss man die Anweisungen sehr präzise beschreiben, es müssen also alle Schritte genau aufgelistet werden, und zwar in der richtigen Reihenfolge, ähnlich wie bei einem Kochrezept für jemanden, der nie kocht. Dafür muss ich die Architektur meines Systems kennen und die Funktion, die jedes Element erfüllen soll, verstanden haben - nicht unbedingt bis ins kleinste Detail, aber es ist auf jeden Fall hilfreich, die grobe Architektur eines Computers zu kennen, so wie man einigermaßen Bescheid wissen sollte, in welchen Küchenutensilien man welche Zutaten mischen, garen oder braten kann. Die Architektur eines Computers besteht hauptsächlich aus folgenden Elementen:

Der Prozessor bildet die zentrale Verarbeitungseinheit eines Computers, daher die englische Abkürzung CPU für Central Processing Unit. Er ist für die zentrale Steuerung zuständig (also etwa der Küchenchef). Er bekommt die Befehle (Bestellungen) und lässt diese durch die angeschlossenen Maschinen durchführen. Der Prozessor verfügt über:

ein Rechenwerk, das Rechenoperationen und logische Verknüpfungen durchführt. Das Rechenwerk wird im Englischen ALU genannt, für Arithmetic Logic Unit (so etwas wie alle Küchengeräte zusammen);


und ein Steuerwerk, das die Anweisungen eines Programms, also die Befehle, interpretiert und die notwendigen Verschaltungen für Datenquelle (Ursprung der Daten), Datensenke (Empfänger oder Bestimmungsort der Daten) und ALU-Komponenten durchführt. Es regelt auch die Befehlsabfolge, nach dem Motto »Ordnung muss sein!« (so etwas wie der Chef vom Dienst).



Das Bus-System stellt eine Kommunikationsautobahn dar und dient zur Kommunikation zwischen allen Komponenten (wie das Bestellsystem im Restaurant beziehungsweise Kinderzimmer).


Das Speicherwerk dient der Speicherung aller Programme und Daten, auch Arbeitsspeicher genannt (sämtliche Rezeptbücher und Tupperdosen für Mehl, Zucker etc.).


Das Ein- und Ausgabewerk steuert, wie der Name schon sagt, die Ein- und Ausgabe von Daten an den Anwender über Tastatur und Bildschirm, und zu anderen Systemen über Schnittstellen (ungefähr so wie die Teller, auf denen das leckere Essen serviert wird).1


Die einfache Darstellung in Abbildung 4 zeigt die Hauptkomponenten eines Rechners. Natürlich kann ein Computer mehrere Prozessoren und mehrere Speicher haben, aber mir geht es hier um das grobe Bild und Verständnis der Funktionen, die jede Komponente erfüllen muss.

Das Coden lässt sich auch mit einem Umzug, den man in Auftrag gibt, vergleichen. Stellt euch vor, ich möchte in eine neue Wohnung umziehen, packe alles in Kisten, beschrifte sie und beauftrage eine Umzugsfirma. Ich möchte nicht nur, dass sie mir die Kisten in die jeweiligen Räume verteilt werden und die Möbel wieder aufgebaut werden.

Dafür muss ich wissen, welche Räume die neue Wohnung hat, ich muss die Funktion jedes Raums kennen und muss planen, welche Räume zuerst eingerichtet werden sollen, damit der Einzug reibungslos ablaufen kann.



Abbildung 4: Hauptkomponenten eines Rechners



Wenn ich diesen Plan habe, also die Architektur der Wohnung und die Funktion der Räume kenne, kann ich der Umzugsfirma genau sagen, welche Kiste wohin soll (also die Speicherzugriffe festlegen). Außerdem kann ich sagen: »Im Schlafzimmer bitte das Bett und den Schrank direkt aufbauen (also Rechenaufgaben durchführen lassen), in der Küche bitte den Küchentisch und die Stühle sowie im Arbeitszimmer alle restlichen Kisten erst einmal stapeln (also Zwischenspeicher verwenden), da ich sie erst nach und nach ausräumen möchte.« Ich kann auch sagen: »Im Wohnzimmer darf nichts...




mehr

Autor

Kenza Ait Si Abbou ist in Marokko geboren und löste schon als kleines Mädchen Rechenaufgaben schneller, als ihre Mutter neue stellen konnte. Heute ist sie leitende Managerin für Robotik und künstliche Intelligenz bei der Telekom. Sie ist weltweit gefragt als Rednerin und Moderatorin. Sie spricht sieben Sprachen fließend und wurde unter anderem mit dem Digital Female Leader Award. Sie lebt mit ihrer Familie in Berlin.