Arbeit mit Excel:
Aufgaben zum Umgang mit Excel (Version 2003):
Diese Aufgabe erfordert das Umsetzen der gegebenen Daten in eine Tabelle und einfache Berechnungen innerhalb der Tabelle. Zusäzlich sind Kommentare an einzelne Zellen anzufügen.
Aufgabenbeschreibung "Kurierdienst" (PDF).Mit dieser Aufgabe wird das Formatieren von Zellen, der Einsatz von bedingter Formatierung und das Erstellen und Formatieren einer Graphik geeübt. Ferner kommen die Excel-Funktionen Max, Min, Median, Mittelwert und Runden zum Einsatz:
Aufgabenbeschreibung "Temperaturen in Seevetal" (PDF).
Datensatz "Temperaturen in Seevetal" (XLS).Mit dieser Aufgabe wird das Wachstum der Weltbevölkerung iterativ simuliert und ein Teilaspekt in geeignerter Form graphisch dargestellt.
Aufgabenbeschreibung "Iteration und Weltbevölkerung" (PDF).Mit dieser Aufgabe wird das Ausbreiten einer Krankheit iterativ simuliert und die Aussagefähigkeit des zugrunde liegenden Modells überprüft.
Aufgabenbeschreibung "Iteration und Chaos" (PDF).Hier ist ein Stundenplan zu erstellen, wobei sich die Zeiten aus der angegebenen Stundenlänge und den Pausenzeiten berechnen. Neben dem Verbinden von Zellen wird auch das Speichern als Mustervorlage gefordert.
Aufgabenbeschreibung "Einfacher Stundenplan" (PDF).
Erstellen von Webseiten (HTML / XML):
Als sehr gute Dokumentation zum Thema HTML sei auf SELFHTML verwiesen.
Dokumente und Arbeitsaufträge für die Erstellung von Webseiten:
Programmieren mit C#:
Was ist C#?
C# (ausgesprochen: „C sharp”) ist die Progammiersprache für die .NET Common Language Runtime entwickelt von der Firma Microsoft.
Das .NET-Framework wurde entwickelt, um den für .NET erstellten Programmcode plattformunabhängig ausführen zu können. So laufen die Programme beispielsweise auf Personalcomputer (PC) und auf .NET-fähigen Mobiltelefonen. Das .NET-Framework ist komplett objektorientiert und gestattet, auf Klassen anderer .NET-Programmierspachen zu zugreifen. In erster Linie dient das .NET-Framwork allerdings dazu Programme, für das Microsoft-Betriebssystem „Windows” zu erstellen.
Die Progammiersprache C# leitet sich von der Syntax her von C/C++ ab, wobei C# allerdings komplett objektorientiert ist. Das Prinzip der Kapselung von Daten und das Prinzip der Mehrfachvererbung wird in C# wesentlich strenger behandelt als bespielsweise bei Scripspachen wie Python. In Vergleich zu C++ wurden die Verwendung von Zeigern engeschränkt, welches den erstellten Code sicherer machen soll. Ferner besitzt C# aufgrund der .NET Common Language Runtime einen Garbage Collector.
C# im Unterricht:
-
Das kleine Programm „First” ist das klassische Hallo-Welt-Progamm als Konsolenanwendung. In zweiten Teil des Programms werden Eingaben von Benutzer eingelesen und an späterer Stelle wieder ausgegeben.
Inhaltlich stellt das Programm ein Beispiel da für:- ... die Anwendung von zeilenweisen Kommentaren (//).
- ... die Anwendung von Kommentarblöcken (/* ...*/)
- ... Ausgabe von Text auf die Konsole (Console.Write() / Console.WriteLine()).
- ... Eingabe von Informationen über die Konsole (Console.Readline()).
- ... Ausgabe von Variablen durch Platzhalter.
-
Das kleine Programm „Sterne” ist als Konsolenanwendung konzepiert. Der Benutzer entscheidet anhand seiner Eingabe über die Konsole, wie viele Sterne auf der Konsole ausgegeben werden sollen.
Inhaltlich stellt das Programm ein Beispiel da für:- ... Ausgabe von Text auf die Konsole (Console.Write() / Console.WriteLine()).
- ... Eingabe von Informationen über die Konsole (Console.Readline()).
- ... die explizite Konvertierung von Datentypen (string -> int).
- ... die einfache Anwendung einer bedingten Abfrage (if..else)
- ... die einfache Anwendung einer for-Schleife (for(Definition des Startswertes; Wiederholungsbedingung; Schritte)).
-
Das Programm „Bin2Dec” ist als Konsolenanwendung konzepiert. Der Benutzer kann Dezimalzahlen in Binärzahlen konvertieren.
Inhaltlich stellt das Programm ein Beispiel da für:- ... Ausgabe von Text auf die Konsole (Console.Write() / Console.WriteLine()).
- ... Eingabe von Informationen über die Konsole (Console.Readline()).
- ... die explizite Konvertierung von Datentypen (string -> int).
- ... die Anwendung ganzzahliger Division und des Modulo-Operators.
- ... das Schreiben von statischen Methoden (Funktionen in der program class).
- ... die einfache Anwendung einer bedingten Abfrage (if..else)
- ... die einfache Anwendung einer for-Schleife.
- ... die einfache Anwendung einer while-Schleife.
- ... das Umdrehen einer Zeichenkette.
-
Das Programm „Mastermind” ist als Konsolenanwendung konzepiert. Der Benutzer kann mit 8 Versuchen einen zufallsgenerierten Code aus 4 Zahlen erraten. Das Programm beinhaltet...
- ... die Erzeugung von Zufallszahlen.
- ... die Verwendung von Arrays.
- ... die Verwendung von Kontrollstrukturen (if else, do while, for).
- ... die Verwendung einer einfachen Exception-Behandlung.
- ... die einfache Anwendung einer bedingten Abfrage (if..else)
- ... die einfache Anwendung einer for-Schleife.
- ... das Entwickeln eines Algorithmus
-
Das Programm „Römische Zahlen” ist eine Konsolenanwendung, welche die gebräuchliche römische Zahlendarstellung in die arabische umwandelt und umgekehrt.
Inhaltlich stellt das Programm ein Beispiel da für:- ... Aufbau und Verwendung von Funktionen.
- ... Verwendung von Arrays.
- ... Verwendung von Stringoperationen (Length, EndsWith, Substring).
- ... Anwenden von Ausnahmebehandlungen.
- ... Erzeugen und Werfen eigener Ausnahmen.
- ... Aufbau einer Menüstruktur in einer Konsolenanwendung.
- ... Verwendung von break und continue in Schleifen.
-
Hier kann man ein kleines Programm (Konsolenanwendung) zur Berechnung von Frequenz, Wellenlänge, Energie und Wellenzahl eines Photons herunterladen. Der Quelltext ist auch verfügbar: Program.cs und Photon.cs.
-
Hier kann man die erste Version eines einfachen Taschenrechners als Windows-Forms-Anwendung herunterladen.
Inhaltlich stellt das Programm ein Beispiel da für:- ... das Einlesen von Text aus Text-Box-Elementen.
- ... das Konvertieren von Strings in Zahlen und umgekehrt.
- ... das Verwendung von Radiobuttons.
- ... die Benutzung von Exceptions zum Abfangen von fehlerhafen Eingaben.
-
Hier kann man die zweite Version eines einfachen Taschenrechners als Windows-Forms-Anwendung herunterladen.
Inhaltlich stellt das Programm ein Beispiel da für:- ... das Einlesen von Text aus Text-Box-Elementen.
- ... einfaches Phrasen (Zerlegung von Strings in Argumente und Operationen).
- ... das Abfragen von Tasten (Enter) in einem TextBox-Element.
- ... die Benutzung von Exceptions zum Abfangen von fehlerhafen Eingaben.
-
Hier kann man die dritte Version eines einfachen Taschenrechners als Windows-Forms-Anwendung herunterladen.
Inhaltlich stellt das Programm ein Beispiel da für:- ... das Einlesen von Text aus Text-Box-Elementen.
- ... einfaches Phrasen (Zerlegung von Strings in Argumente und Operationen).
- ... das Abfragen von Tasten (Enter) in einem TextBox-Element.
- ... die verbesserte Benutzung von Exceptions zum Abfangen von fehlerhafen Eingaben.
- ... die Überladung von Funktionen.
-
An dieser Stelle gibt es zum Einstieg in die objektorientierte Programmierung (OOP) ein paar kleine Programm, ohne einen größeren problemorientierten Hintergrund.
- Point.cs: Erstellen einer Klasse zur Darstellung eines 2 dimensionalen Punktes.
- Stift.cs: Erster Kontakt mit einem Constructor.
- Ball.cs: Eine Kugel als Objekt. (get, set, Konsolenanwendung)
- Cube.cs: Eine Würfel als Objekt. (get, set, Konsolenanwendung)
- Name.cs: Erster Kontakt mit dem Prinzip der Vererbung. Hier wird auch Bekanntes (Split, Funktionsüberladung, get, set, ...) wiederholt.
-
Hier kann man sich die Klassenbibliothek d3Vector herunterladen. Die entsprechende DLL kann in eigene Projekte eingebunden werden, indem man im Projektmappen-Explorer über einen Rechtsklick einen Verweis hinzufügt, anschließend in dem aufgerufenen Fenster den Reiter Durchsuchen wählt und den Pfad auf die DLL setzt. Im Code spricht man die Klasse d3Vector über den namespace d3VectorDLL an.
Inhaltlich stellt das Programm ein Beispiel da für:- ... den Aufbau einer etwas umfangreicheren Klasse.
- ... die Verwendung von private-, public- und static-Methoden.
- ... die Erzeugung von Konstruktoren.
- ... die Verwendung von get / set-Methoden.
- ... die Operatorenüberladung unter C#.
- ... die Überladung von Methoden innerhalb einer Klasse.
- ... das Erzeugen einer Klassenbibliothek (.Net-DLL).
- ... den Umgang mit Vektoren.
- ... das näherungsweise Bestimmen einer Wurzel mit beliebigen Exponenten.
Programmieren mit Python:
Was ist Python?
Python ist eine kostenfrei downloadbare Skriptsprache (Interpretersprache), die den Programmierern nicht ein einzelnes Programmierparadigma aufzwingt. So erlaubt Python prozedurales, funktionales und objektorientiertes Programmieren.
Die Datentypen werden in Python dynamisch verwaltet und im Allgemeinen implizit gecastet. Eine statische Typenüberprüfung erfolgt nicht. Die Speicherfreigabe nicht mehr benutzer Speicherbereiche wird automatisch durch einen "garbage collector" durchgeführt.
Eigene in Python oder in anderen Sprachen geschriebene Programmteile bzw. Klassen lassen sich als Modul wiederverwenden. Daher stehen dem Programmierer eine Vielzahl von Modulen zur Lösung verschiedenster Probleme zur Verfügung.
Python wird insbesondere neben dem privaten Gebrauch auch in der Wissenschaft und Technik angewendet.
Links zu Python:
- Homepage Python (englisch)
- Homepage VPython (englisch)
- Das deutsche Python-Forum
- Python - Das umfassende Handbuch
Python im Unterricht:
An dieser Stelle gibt es ein paar Beispielscripte, die vielleicht für den Unterricht oder für den Gebrauch nützlich sein können.
Dateien und Arbeitsaufträge zum Unterricht mit Python:
Die wichtigste Informationsquelle zum Erlernen von Python sollte die recht gute Dokumentation sein, die mit der Scriptsprache mitgeliefert wird. Insbesondere ist es sinnvoll, das Tutorial durchzuarbeiten und die dort angegebenen Beispiele und Codefragmente auszuprobieren und zu verändern, so dass man den Sinn der Befehle und die Syntax lernt. Zusätzlich finden sich hier (sehr knappe) Zusammenfassungen und Arbeitsaufträge.
Skripte für die prozedurale Programmierung:
Die Scripte Heron und N-Heron berechnen nach dem Heron-Algorithmus iterativ die Quadratwurzel (Heron) bzw. die n-te Wurzel (N-Heron) einer Zahl.
Das Script Qu_Erg berechnet die Nullstellen einer quadratischen Gleichung über die p-q-Formel.
Das Script bin2dec wandelt Dezimalzahlen in Binärzahlen um und umgekehrt.
Das Scripte Datei_01 und Datei_02 zeigen, wie man in Dateien Informationen aus dem Programm speichern und wieder einlesen kann.
Das Script replace ist sinnvoll, wenn man in einem Verzeichnis und in allen Unterverzeichnissen eine bestimmte Dateiendung (Extention) ersetzen möchte. Benutzung auf eigene Gefahr!
Skripte für die objektorientierte Programmierung:
Durch die einfache Klasse point werden zweidimensionale Punkte definiert.
Als Beispiel für eine etwas nützlichere Klasse in Python kann die Klasse vector dienen, in der dreidimensionale Vektoren definiert werden. Zum Testen mag die Datei Test_vector.py sinnvoll sein.
Arbeit mit Java:
Java ist eine vielseitige und sehr verbreitete Programmiersprache und eignet sich ebenfalls gut für den Unterricht.
Eine kleine Liste von interessanten oder vielleicht auch nützlichen Programmen
-
Das Programm FindPattern erlaubt ein Muster in einer Textdatei zu finden. Dabei wird die Position und die Anzahl der gefundenen Muster ausgegeben. Das Programm benötigt für seinen Programmaufruf zwei Textdateien als Aufrufargumente. Die erste Textdatei muss das zu suchende Muster und die zweite die zu durchsuchenden Daten enthalten. Der Quelltext ist hier zu finden.