Python OOP: Statische Member und Type-Annotation

Neben Methoden und Instanzvariablen (Attributen), die das Verhalten und den Zustand einzelner Objekte speichern und verändern gibt es in der objektorientierten Programmierung auch Verhalten und Zustand, der einen gemeinsamen Zustand aller Objekte einer Klasse betrifft. Solche Klassenmethoden und Klassenvariablen werden in der OOP statisch genannt. Dieser Artikel beschreibt, wie sie in Python implementiert werden.

Die Struktur von XML-Dokumenten gegen ein Schema validieren

Wenn XML-Dokumente spezifischen Regeln an die Abfolge von Elementen und Attributen genügen, nennt man sie valide (gültig). Neben der DTD (aus dem zweiten Teil der Artikelserie) stellt XML Schema (XSD) eine Definition für gültige XML-Dokumente zur Verfügung. Der Aufbau und die grundsätzlichen Eigenschaften einer Schema-Datei werden hier beschrieben – und warum eine erfolgreiche Schemavalidierung noch nicht heißt, dass die Daten fachlich stimmen.

Assembler mit dem Arduino programmieren

Wir haben uns entschlossen, die Arduino-Welt auf den Kopf zu stellen und mit dieser vereinfachten IDE alles möglichst kompliziert zu machen: Assembler mit Arduino-Boardmitteln zu programmieren. Nach den Vorbereitungen geht es hier in Teil 2 ins Eingemachte: die eigentliche Programmierung (zu [Teil 1, den Vorbereitungen, gibt es einen weiteren Artikel)

Arduino-IDE zur Programmierung von Assembler vorbereiten

Kann man mit Arduino-Bordmitteln Assembler programmieren? Zugegeben: es ist Schwachsinn: da geben sich die Leute von Arduino viel Mühe, um die ganze Komplexität der Microcontrollerprogrammierung zu verstecken, und dann versuchen wir, das alles wieder zurückzudrehen. Teil 2: Vorbereitung (zu Teil 2, der eigentlichen Programmierung, gibt es einen weiteren Artikel

Valide XML-Dokumente gegen eine Document-Type-Definition erstellen

Alle XML-Dokumente müssen wohlgeformt sein, also den allgemeinen XML-Regeln genügen. Mithilfe einer Document-Type-Definition (DTD) oder mit XML-Schema können aber darüber hinaus spezifische Regeln an die Abfolge von Elementen und Attributen gestellt werden. Ein XML-Dokument, das solchen Regeln folgt, wird als valide bezeichnet. Dieser Artikel beschreibt die Grundlagen zur Erstellung einer Document-Type-Definition, wofür sie gebraucht wird und wie Du Fehler danach einordnest, ob sie die Wohlgeformtheit oder die Gültigkeit verletzen.

Die Auszeichnungssprache Extensible Markup Language (XML)

Die Extensible Markup Language (XML) wird häufig zur Speicherung und zum Austausch hierarchischer Daten genutzt. Der allgemeine Aufbau von XML und das Hauptmerkmal – die Wohlgeformtheit – wird im Artikel beschrieben, ebenso typische Fehler, an denen die Wohlgeformtheit scheitert, der Unterschied zur Gültigkeit und die Vor- und Nachteile gegenüber CSV und binären Formaten. Dieser Artikel ist der erste Teil einer Artikelserie zu XML.

Übersicht der Programmentwurfsmethoden

Algorithmen können mit unterschiedlichen Programmentwurfstechniken dokumentiert werden: Pseudocode, Programm-Ablaufplan, Struktogramm oder UML-Aktivitätsdiagramm. Hier werden alle vergleichend dargestellt.

Hinweise zum Antrag für die betriebliche Projektarbeit (IHK, Fachinformatiker*innen)

Mit Einreichung der Projektanträge beginnt der zweite Prüfungsteil in den IT-Berufen. Bei den eingereichten Anträgen gibt es eine Reihe leicht vermeidbarer formeller und fachlicher Fehler, die hier gelistet werden. Außerdem gibt es einige subjektive Empfehlungen, die vielleicht helfen, den Projektantrag zu schärfen damit keine zeitfressenden Nachbesserungen nötig sind. Viele Punkte sind für alle Fachinformatiker*innen relevant, speziell zugeschnitten sind sie aber für die Fachrichtungen Anwendungsentwicklung und Daten- und Prozessanalyse.

SQL-Übungsaufgaben (Orga-Datenbank für ein Barcamp)

Übungsaufgaben zur Datenbank-Modellierung und einfachen SQL-Abfragen am Beispiel einer Datenbank für die Planung eines Kongresses. Die einzelnen Schritte werden exemplarisch (an Teilbereichen der Datenbank) abgefragt. Die Aufgaben waren Bestandteil einer klassischen Zettel/Stift Klassenarbeit. Es soll ein konzeptuelles Datenmodell erstellt werden, dieses soll in ein logisches Datenmodell transformiert werden. Das Relationenschema soll normalisiert werden, schließlich soll die Datenstruktur erstellt und die Daten einer Tabelle eingefügt, geändert, gelöscht und ausgelesen werden.

Zugriff erlauben mit OAuth2 (UML-Sequenzdiagramm Übungsaufgabe)

Mit OAuth2 erlaubt eine Nutzerin einer App den Zugriff auf ihre Daten bei einem Webdienst, ohne der App ihr Passwort zu geben. In dieser Aufgabe recherchierst Du die Akteure und die Nachrichtenfolge von OAuth2 (Authorization Code mit PKCE) und stellst sie als UML-Sequenzdiagramm dar. Neben der Sequenzdiagramm-Übung lernst Du so einen zentralen Mechanismus zur Autorisierung kennen.

Whitebox-Übungsaufgabe „Sortierung“: Kontrollflussgraph, McCabe-Zahl und Überdeckung

Zu einer gegebenen Funktion (ein Sortieralgorithmus) soll ein Kontrollflussgraph erstellt werden, die McCabe-Zahl berechnet werden (beides optional), die Überdeckungsmetriken für einen bestehenden Test berechnet werden, weitere Tests aus Whitebox-Sicht ergänzt werden und alles mit einem Code-Coverage-Tool implementiert werden.

Blackboxtest- und Algorithmus-Übungsaufgabe „Gesamtnote und Bestehensregeln“

Übungsaufgaben zur Erstellung von Testfällen nach Blackbox-Systematik für eine Funktion, die aus den Einzelergebnissen die Abschlussnote nach den Bestehensregeln der Ausbildungsverordnung berechnet. Du bestimmst systematisch Äquivalenzklassen und Grenzwerte und formulierst abschließend den Algorithmus in Pseudocode.