Schüler-IT
Inhaltsverzeichnis |
Willkommen
„Schüler-IT“ ist ein kostenloses Angebot der Fachhochschule Zittau/Görlitz, welches sich an Gymnasialschüler der Klassenstufen 7 bis 12 richtet und darauf abzielt, Schülern einen Einblick in die Welt der Informatik zu geben. Ein Bestandteil dieses Angebotes ist für die Klassenstufen 10 bis 12 eine Einführung in die Programmierung. Schüler lernen hierbei sowohl imperative, als auch objektorientierte Programmierung in Java kennen. Diese Seite bietet Übungsaufgaben und Erläuterungen zu den Lehrinhalten des Kurses und ist für Erstanfänger konzipiert.
Viel Spaß und Erfolg beim Lernen und Lösen der Aufgaben!
--Sebastian Otto 16:30, 6. Jul. 2013 (CEST)
Theoretische Grundlagen
Bevor Sie nun mit dem Kurs beginnen, sind hier einige Begriffe, die Sie zuvor verstehen sollten, um auf den Kurs vorbereitet zu sein.
Modellierung
Modellierung bezeichnet die Planung einer Software und ggf. die Erarbeitung eines Softwareentwurfs. Das ist sinnvoll, da man mögliche Probleme direkt in der Planungsphase erkennen und evtl. sogar beheben kann, was die Umsetzung des Programmes in Code dann deutlich beschleunigen kann. Da dies ein Einsteigerkurs ist, wird hier nur soweit darauf eingegangen, wie es einem Anfänger dienlich ist. Es wird hierbei kein Wert auf Professionalität gelegt, sondern darauf, dass Anfänger lernen, sich mit Programmen auseinanderzusetzen, bevor sie beginnen, zu programmieren. Hierbei Zettel und Stift als Hilfsmittel vollkommen ausreichend.
Programmierung
Programmierung ist die Umsetzung von Computerprogrammen z. B. auf Grundlage eines bei der Modellierung entwickelten Softwareentwurfes. Programmiert wird in Programmiersprachen, welche bestimmte Programmierparadigmen unterstützen. Wir nutzen im Rahmen dieses Kurses die Sprache „Java“, in welcher sowohl objektorientiert, als auch imperativ programmiert werden kann.
Programmierparadigma
Als Programmierparadigma bezeichnet man einen grundlegenden konzeptionellen Ansatz der Programmierung. Ein Paradigma hat auch die Möglichkeit, andere Paradigmen zu erweitern z. B. ist die prozedurale Programmierung eine erweiterte imperative Programmierung. Wie im vorherigen Abschnitt bereits zu lesen war, werden Sie auf diesen Seiten primär Informationen zu imperativer und objektorientierter Programmierung erhalten. Auf generische Programmierung wird stellenweise eingegangen – eben immer dann, wenn es sinnvoll ist, diese zu erwähnen. Weitere Programmierparadigmen sind z. B. deklarativ, funktional, generativ und prozessorientiert. Diese Vielfalt ist deshalb sinnvoll, da man bestimmte Probleme bzw. Aufgaben mit manchen Ansätzen besser als mit anderen lösen kann. So lassen sich z. B. einfache lineare Abläufe besser imperativ, größere Systeme hingegen besser objektorientiert programmieren.
Programmiersprache
Die Umsetzung dieser Paradigmen erfolgt in Programmiersprachen, wobei eine Sprache durchaus die Möglichkeit haben kann, mehrere Paradigmen zu unterstützen. So kann man z. B. eine Sprache wie Java, in der üblicherweise objektorientiert programmiert wird, durchaus für imperative oder generische Programmierung nutzen, was im Rahmen dieses Kurses auch getan wird. Programmiersprachen sind Sprachen, die uns die Möglichkeit zur Kommunikation mit Maschinen geben und beinhalten – wie jede andere Sprache auch – Syntax (Satzbau, Grammatik, Rechtschreibung) und Semantik (Bedeutung). Programmiersprachen kommen in der Regel mit einem sehr beschränkten Vokabular aus. Die Grammatik ist dafür oft (so auch in Java) sehr strikt und jeder Fehler kann dazu führen, dass sich Ihr Programm nicht starten lässt oder Fehler auftreten. Lassen Sie sich davon aber nicht abschrecken. So etwas passiert selbst erfahrenen Programmierern. Man muss sich dann eben auf die Suche nach dem Fehler begeben und ihn beheben. Da Java zu den Programmiersprachen gehört, bei denen wir Code erst kompilieren (also von unserem Code in Maschinencode überführen) müssen, bevor wir ihn ausführen können, haben wir das Glück, hierfür einen Compiler (ein Programm, welches die Übersetzung für uns übernimmt) zu nutzen, welcher uns Syntaxfehler direkt als Fehlermeldungen ausgibt und uns auch verrät, was er zu beanstanden hat, sodass wir oftmals nicht erst nach dem Fehler suchen müssen. Da Programmiersprachen, in denen gleiche Paradigmen implementiert (umgesetzt) wurden (z. B. objektorientierte Programmierung in Java, C#, PHP, C++ usw.), oft über gleiche oder ähnliche Syntax verfügen (der Code also recht ähnlich aussieht) und sie über eine sehr ähnliche, grundlegende Semantik verfügen (da sie die gleichen Konzepte umsetzen), ist es auch nicht verwunderlich, dass Programmierer oft mehr als eine Sprache beherrschen. Aus diesem Grund ist dieser Kurs auch auf die Konzepte ausgerichtet d.h. es steht das Verständnis der zugrundeliegenden Konzepte im Mittelpunkt und weniger die Sprache „Java“. Man hätte auch jede andere objektorientierte Sprache nutzen können, doch Java ist aufgrund seiner strengen Syntax und seiner klaren Struktur wohl am besten geeignet.
Da Sie nun über einige Grundkenntnisse verfügen, sollten Sie nun in der Lage sein, den Teil „Imperative Programmierung“ zu beginnen.