Software
Nutzbarmachung der Hardware
Prozessorbefehle
Bestandteil von Prozessoren ist ein Satz von Befehlen, die von Maschinencode aufgerufen werden, der sich im Arbeitsspeicher befindet.
Prozessorbefehle sind für App-Programmierung nicht relevant und werden nicht behandelt.
Arbeitsspeicher
Das Betriebssystem und gestartete Programme werden in den Arbeitsspeicher geladen. "Laden" bedeutet, dass in sogenanntem "Maschinencode" vorliegende Software unter Verwendung der Byte-Adressen und von Prozessorbefehlen mit dem Prozessor kommunizieren kann.
Auf die Speicherorganisation durch die laufende Software wird nicht weiter eingegangen. Der Unterschied der Speicherbereiche "Stack" und "Heap" wird aber in Vorbereitung des Abschnitts über "Variablen" erklärt.
Betriebssystem
Das Betriebssystem beginnt seine Arbeit mit Start des Geräts. In ihm sind Unterprogramme und sogenannte "Services" zusammengefasst, die die Verwaltung der gesamten laufenden Software einschließlich des Betriebssystems selbst erledigen. Dazu gehören auch sogenannte "Treiber" von Einheiten der sogenannten "Peripherie".
Programme werden vom Betriebssystem gestartet, bekommen dynamisch Systemressourcen zugeordnet und kommunizieren mit dem Betriebssystem solange sie laufen. Die Eigenschaften von "Threads" und "Tasks" werden durchgenommen.
Programm
Ein "Programm" ist im engeren Sinne Software, die als Maschinencode vorliegt.
Bei den vom Kurs behandelten Anwendungen wird der Maschinencode aus dem Quelltext erstellt. Auf die verschiedenen Technologien, die dafür verwendet werden, wird nicht näher eingegangen.
Quelltext
Beim Programmieren werden Texte mit Begriffen und Regeln von Programmiersprachen eingegeben und in Dateien gespeichert. Die Dateien einer Anwendung sind in der Regel in einem "Projekt" zusammengefasst.
Die Gesamtheit der Texte ist die Grundlage (Source) für die Erstellung des lauffähigen Maschinencode und wird als "Quelltext" bezeichnet.
GUI-Programmierung
Die Bildschirmausgabe einer App wird als "Grafische Benutzeroberfläche" bezeichnet. Das gängige Akronym "GUI" ist von der englischen Bezeichnung "Graphical User Interface" abgeleitet.
Die GUI-Programmierung ist ein gesonderter Bereich und wird erst mit den konkreten App-Programmierungen behandelt.
Entwicklungsumgebung
Für die Quelltexterstellung wird eine sogenannte "Entwicklungsumgebung" eingesetzt. Es stehen damit eine Vielzahl von Werkzeugen zur Verfügung, die für effektives und fehlerfreies Arbeiten unerlässlich sind.
Es werden zwei Entwicklungsumgebungen kurz vorgestellt, die im Kurs verwendet und dabei detailliert erklärt werden.
Prüfläufe mit Textausgaben
Beim Schreiben des Codes können jederzeit Prüfläufe (nicht zu verwechseln mit Testläufen) durchgeführt werden. Spezielle Code-Zeilen liefern dabei mit Textausgaben wertvolle Informationen. Das Vorgehen wird vorgestellt und ausführlich erklärt.
Mit Prüfläufen wird gezeigt, wie statischer Quelltext in ein dynamisches Programm transformiert wird. Anhand der Textausgaben wird mit gemeinsam erstellten Beispielen gezeigt, wie Methoden andere Methoden aufrufen und im daraus resultierenden Programmablauf der Inhalt von Variablen verändert wird.
Fehlersuche und Fehlerbehandlung
Während der Entwicklung ist es nicht ungewöhnlich, dass sogenannte "kritische Fehler" das Programm während einem Prüflauf zum Absturz bringen. Fehlersuche ist daher ein wichtiges Thema, das behandelt wird.
Auch bei fertigen Apps können zur Laufzeit kritische Fehler (Ausnahmen) auftreten und zum Absturz führen. Es werden Techniken gezeigt, mit denen voraussehbare Fehler vermieden oder Ausnahmefehler "abgefangen" werden können.
Ressourcen
In der Programmierung werden Informationsquellen, mit denen zur Laufzeit Variablen gefüllt werden, als "Ressourcen" bezeichnet. Der am meisten verwendeten Ressourcentyp sind Dateien, deren Inhalt auf vielfältige Weise gelesen wird.
Die Verwendung von Dateien durch Apps wird Teil der Projekte zum Abschluss des Kurses sein.