Was sind Daten?
Wenn Information automatisch oder elektronisch verarbeitet wird, sprechen wir von Daten.
Daten beinhalten eine Folge von Zeichen samt ihrer Bedeutung für den Empfänger. Daten beziehen sich auf Rohfakten, Statistiken, Messungen, Beobachtungen oder Informationen, die in verschiedenen Formaten wie Zahlen, Text, Bildern und mehr gesammelt werden. Es dient als Grundbaustein für die Generierung von Erkenntnissen, das Treffen fundierter Entscheidungen und die Durchführung von Analysen. Der Wert von Daten liegt in ihrem Potenzial, verarbeitet, organisiert und interpretiert zu werden, um aussagekräftige Muster, Trends und Wissen zu extrahieren, das für verschiedene Zwecke verwendet werden kann, darunter Industrie, Infrastruktur, Transportwesen, Finanzwesens, Medizin und Forschung. Effektives Datenmanagement und -analyse sind unerlässlich, um das volle Potenzial von Daten auszuschöpfen und daraus umsetzbare Erkenntnisse abzuleiten.
Daten werden für die Bearbeitung mit dem Computer binär codiert, d.h. sie können 2 mögliche Werte annehmen (0/1). Diese kleinste Einheit der Datendarstellung nennt man Bit. Ein Byte beinhaltet 8 Bits.
Mit Hilfe von einem Byte können 2 hoch 8=256 unterschiedliche Zeichen dargestellt werden.
In der Praxis werden gewöhnlich folgende Einheiten benutzt:
- KiloByte (1 KByte=1024 Byte)
- MegaByte (1 MByte≈1000 KByte oder 1 Million Bytes)
- GigaByte (1 GByte≈1000 Byte oder 1 Milliarde Bytes)
- TeraByte (1 TByte≈1000 GByte oder 1 Billion Bytes)
Arten von Daten
Daten können in verschiedene Typen kategorisiert werden, darunter:
Strukturierte Daten: Gut organisierte Daten mit einem vordefinierten Format, oft in Datenbanken oder Tabellenkalkulationen gespeichert.
Unstrukturierte Daten: Daten ohne spezifische Struktur, z. B. Textdokumente, Bilder und Videos.
Halbstrukturierte Daten: Daten, die eine gewisse Struktur aufweisen, aber nicht genau in herkömmliche relationale Datenbanken wie JSON- oder XML-Dateien passen.
Datensammlung: Daten können mit verschiedenen Methoden gesammelt werden, darunter Umfragen, Sensoren, Beobachtungen, Experimente, Interaktionen in sozialen Medien und mehr.
Die Qualität der gesammelten Daten ist entscheidend für eine genaue Analyse und Entscheidungsfindung.
Große Daten: Der Begriff "Big Data" bezieht sich auf extrem große und komplexe Datensätze, die die Verarbeitungsmöglichkeiten herkömmlicher Datenverwaltungstools übersteigen.
Big Data: Beinhaltet oft die 3Vs: Volume (große Datenmenge), Velocity (schnelle Datengenerierung) und Variety (verschiedene Datentypen).
Datenanalyse: Bei der Datenanalyse werden Daten untersucht, bereinigt, transformiert und modelliert, um nützliche Informationen, Muster, Korrelationen und Trends zu entdecken. Die Techniken können von grundlegender statistischer Analyse bis hin zu fortgeschrittenen Algorithmen für maschinelles Lernen reichen.
Datenschutz und Sicherheit: Da Daten sensible Informationen enthalten, sind Datenschutz und Sicherheit von entscheidender Bedeutung. Datenschutzverletzungen und unbefugter Zugriff können erhebliche Folgen haben.
Datenvisualisierung: Die visuelle Darstellung von Daten durch Diagramme, Grafiken, Karten und Dashboards trägt dazu bei, komplexe Informationen auf verständliche und umsetzbare Weise zu kommunizieren.
Data Mining: Beim Data Mining werden Computertechniken eingesetzt, um Muster und Beziehungen innerhalb großer Datensätze zu entdecken. Es wird häufig verwendet, um verborgene Erkenntnisse zu finden, die durch herkömmliche Analysen möglicherweise nicht erkennbar sind.
Maschinelles Lernen: Maschinelles Lernen ist eine Teilmenge der künstlichen Intelligenz, bei der Algorithmen trainiert werden, um Muster aus Daten zu lernen und auf der Grundlage dieses Lernens Vorhersagen oder Entscheidungen zu treffen.
Data Warehousing: Data Warehouses sind zentralisierte Repositories, die Daten aus verschiedenen Quellen speichern und so die Analyse und Erstellung von Berichten für die Entscheidungsfindung erleichtern.
Offene Daten: Offene Daten beziehen sich auf Daten, die der Öffentlichkeit zur kostenlosen Nutzung, Wiederverwendung und Weiterverbreitung zur Verfügung gestellt werden. Es fördert Transparenz, Innovation und Zusammenarbeit.
Ethik und Voreingenommenheit: Daten können Vorurteile in der Gesellschaft widerspiegeln oder unethisch verwendet werden. Die Gewährleistung der Datenethik umfasst die Behandlung von Fragen der Fairness, der Repräsentation und des potenziellen Schadens bei der Datenerfassung und -analyse.
Was ist ein Datentyp?
In der Programmierung ist ein Datentyp eine Klassifizierung, die angibt, welche Art von Wert eine Variable hat und welche Art von mathematischen, relationalen oder logischen Operationen sicher auf sie angewendet werden können, um die Variable oder andere Daten zu erstellen, zu transformieren und in einer anderen Berechnung zu verwenden ohne einen Fehler zu verursachen.
Ein String ist zum Beispiel ein Daten-Typ, der zur Klassifizierung von Text verwendet wird, und ein Integer ist ein Datentyp, der zur Klassifizierung ganzer Zahlen verwendet wird.
Wenn eine Programmiersprache vorschreibt, dass eine Variable nur unter Berücksichtigung ihres Daten-Typs verwendet werden darf, spricht man von einer starken Typisierung der Sprache.
Allgemeine Datentypen
Integer (int): Datentyp, der zum Speichern von ganzen Zahlen verwendet wird.
Floating Point (float): Dies ist ebenfalls ein numerischer Datentyp, der zum Speichern von Fließkommazahlen verwendet wird.
Character (char): Wird verwendet, um einen einzelnen Buchstaben, eine Ziffer, ein Satzzeichen, ein Symbol oder ein Leerzeichen zu speichern.
String (str): Dies ist eine Folge von Zeichen und der am häufigsten verwendete Datentyp zum Speichern von Text. Außerdem kann eine Zeichenkette auch Ziffern und Symbole enthalten, wird aber immer als Text behandelt.
Boolean (bool): Er steht für die Werte wahr und falsch. Ein boolescher Wert kann die Werte 0 (für falsch) und 1 (für wahr) annehmen.
Aufzählungstyp (enum): Er enthält eine kleine Menge vordefinierter eindeutiger Werte, die verglichen und einer Variablen des Aufzählungsdatentyps zugewiesen werden können. Bei Aufzählungstypen können Werte als numerische Indizes (0, 1, 2) oder als Strings gespeichert und abgerufen werden.
Array (arr): Ein Array, auch als Liste bekannt, ist ein Datentyp, der eine Reihe von Elementen in einer bestimmten Reihenfolge speichert, die in der Regel alle vom gleichen Typ sind. Da ein Array mehrere Elemente oder Werte speichert, wird die Struktur der in einem Array gespeicherten Daten als Array-Datenstruktur bezeichnet. Jedes Element eines Arrays kann über einen ganzzahligen Index (0, 1, 2,…) abgerufen werden, und die Gesamtzahl der Elemente in einem Array stellt die Länge des Arrays dar.
Vektor: Vektoren sind eindimensionale Arrays.
Zeiger (Pointer): Ein Zeiger speichert die Adresse einer anderen Variable. Eine Variable im Gegensatz speichert einen Wert. Der Name eines Zeigers ist mit einer Adresse verbunden, ein Variablenname dagegen mit einem bestimmten Wert. Zeiger kommen z.B. in der Programmiersprachen C und C++ vor.
Datum (Date): Speichert normalerweise ein Datum im Format JJJJ-MM-TT.
Uhrzeit (time): Speichert eine Uhrzeit im Format hh:mm:ss.
Datetime (Datetime): Speichert einen Wert, der sowohl Datum als auch Uhrzeit im Format JJJJ-MM-TT hh:mm:ss enthält.
Timestamp: Ein Zeitstempel wird in der Regel in Unix-Zeit dargestellt und gibt die Anzahl der Sekunden an, die seit Mitternacht (00:00:00 UTC) am 1. Januar 1970 verstrichen sind.
Was ist ein Zahlensystem?
Zahlensysteme werden zur Darstellung von Zahlen verwendet. Die Zahlen werden dabei nach bestimmten Regeln als Folge von Ziffern bzw. Zeichen dargestellt. Die uns bekanntesten Zahlensysteme sind das Dezimalsystem (Zehnersystem), das Dualsystem (Zweiersystem) und das Hexadezimalsystem (Sechzehnersystem).
Jedes Zahlensystem besteht aus Nennwerten. Die Anzahl der Nennwerte ergibt sich aus der Basis. Der größte Nennwert entspricht der Basis minus (-) 1. Wird der größte Nennwert überschritten, entsteht aus dem Übertrag der nächst höhere Stellenwert.
Dezimales Zahlensystem
Nennwerte: 0 1 2 3 4 5 6 7 8 9
Basis: 10
Größter Nennwert: 9
Duales Zahlensystem
Nennwerte: 0 1
Basis: 2
Größter Nennwert: 1
Hexadezimales Zahlensystem
Nennwerte: 0 1 2 3 4 5 6 7 8 9 A B C D E F
Basis: 16
Größter Nennwert: F
Oktales Zahlensystem
Nennwerte: 0 1 2 3 4 5 6 7
Basis: 8
Größter Nennwert: 7
Was ist der ASCII-Code?
Der ASCII-Code (American Standard Code for Information Interchange) ermöglicht den Datenaustausch zwischen Maschinen unterschiedlicher Hersteller. Der ASCII-Code besteht aus 128 eindeutigen Zeichenfolgen aus Einsen und Nullen. Jede Sequenz stellte einen Buchstaben des englischen Alphabets, eine arabische Ziffer, eine Reihe von Satzzeichen und Symbolen oder eine Funktion wie einen Wagenrücklauf dar. ASCII kann nur bis zu 256 Symbole darstellen. Aus diesem Grund werden viele andere Sprachen besser von Unicode unterstützt, das über 100.000 Symbole darstellen kann.
Was ist eine Datei (File)?
Eine Datei ist eine Zusammenfassung von Daten identischer Struktur.
Eine Datei wird unter einem Namen auf einem Datenträger gespeichert.
Was ist ein Algorithmus?
Ein Algorithmus ist eine Verarbeitungsvorschrift aus einer endlichen Folge von Schritten, mit dem man eine Aufgabe lösen kann.
Ein Algorithmus hat folgende Eigenschaften: Endlichkeit (endlich viele Anweisungen), Eindeutigkeit (mit jede Anweisung ist auch die nächstfolgende festgelegt), Allgemeingültigkeit (ist anwendbar auf alle Aufgaben gleichen Typs und führt immer zum gesuchten Ergebnis).
Ein zentrales Thema bei Algorithmen ist Berechenbarkeit (algorithmische Lösbarkeit). Um Fragen zur algorithmischen Lösbarkeit von Problemen zu klären, muss vorab präzisiert werden, was man unter "algorithmisch lösbar" versteht. Das führt letztlich zur Schwierigkeit, das "Wesentliche" eines von einem Rechner ausführbaren Verfahrens mit möglichst konkreten Beschreibung Mitteln zu erfassen.
Alan Turings Turingmaschine ist ein Modell zur automatisierten Ausführung von algorithmischen Problemlösungen, das automatisierte Verarbeitung mit möglichst einfachen Mitteln realisiert.
Notationsformen von Algorithmen
- Beschreibung mit Hilfe der Umgangssprache: ist wenig sinnvoll
- Verbale formalisierte Beschreibung
- Programablaufplan: führt zu unstrukturierter Programmierung ("Spaghetticode")
- Struktogramm (Nassi-Shneiderman-Diagramm)
- Modellierungsprachen (z.B. UML)
- Programm erstellt mit Hilfe einer höheren Programmiersprache (z.B. C#, C++, Java, Python)