Abschlussprojekt WPG Inf8

Für die 8. Klassen heißt es bald Abschied nehmen vom WPG Inf! Heute haben wir das letzte Projekt gestartet: ein Zeiterfassungssystem auf einem Mini-Computer implementieren.

Dazu betreten wir völliges Neuland in Sachen Programmierung von Hardware-Komponenten (RedBrick, Master Brick, LAN-Extension, NFC-, LCD- und RealTimeClock-Bricklet), gleichzeitig wiederholen wir dabei mehrere Punkte aus dem Kernstoff für die Matura:

  • PHP Programmierung
  • Datenbankdesign & Normalisierung
  • HTML, CSS, Javascript
  • Javascript-Framework

Hier die ersten Eindrücke:

Googles AngularJS…

…beschäftigt seit Beginn dieses Schuljahres das WPG Inf 8!

Noch nie gehört? Vermutlich. Noch nie verwendet? Sicher nicht! Webseiten wie Amazon oder selbstverständlich Google selbst verwenden das Javascript-Framework und ermöglicht euch so super komfortable und moderne Webseiten!

Von Bob an Alice: RSA-Verfahren

Diese Woche im WPG Inf 7:

Heute beschäftigten wir uns im Detail mit dem RSA-Verfahren. Zuerst geht es mit der Theorie der Nachrichtenverschlüsselung darum, wie eine Public Key Infrastructure (PKI) funktioniert. Was bedeuten öffentlicher und privater Schlüssel? Wie kann das “Identitätsproblem” gelöst werden – sprich, woher weiß Alice, dass ihr tatsächlich Bob die Nachricht schickte?

Ein bisschen mathematisch, und wir haben echt Spaß an der Sache: An den komplizierten Dingen scheitert’s ja eh nicht, eher mehr an Klammern ausrechnen und plus und minus 😉

Schlussendlich haben wir alle Ergebnisse, nur bei Felix’ Beispiel weigert sich der Taschenrechner und spuckt “Infinity” zurück… Wenn man bei dreistelligen Primzahlen schon an die Grenzen des Taschenrechners gerät, wie sicher müssen dann Schlüssel mit Primzahlen mit mehreren hundert Stellen sein?

Alles klar, solange es keinen Quantencomputer gibt…

Projektwahl 2016

Diese Woche im WPG Inf 7:

Wir machen uns Gedanken über den Anmeldemodus bei der Projektwahl zum Schulschluss. Bei den Überlegungen entsteht eine Art Wahlzettel – natürlich nur als Gedankensammlung. Bis jetzt ist es so, dass drei Projekte gewichtet werden müssen zur Anmeldung – das System ist 6 Jahre alt und wird heuer in dieser Form wieder durchgeführt. Aber ist es noch zeitgemäß?

Als Übung zur letzten Doppelstunde (Datenkbankanbindung in PHP) programmieren wir kurzerhand eine sehr einfache Version der Projektanmeldung; und sehen, dass das Thema doch recht komplex ist 🙂

Datenbankanbindung

Diese Woche im WPG Inf 7:

Nach einer Woche Pause wiederholten wir die Datenübergabe per Formular und erlernten gleichzeitig die Anbindung eines serverseitigen PHP-Skripts mittels eines Connectors an einen Datenbankserver. Relativ viel Neues auf einmal, zumal damit einher das grundlegende Erlernen der Datenbank-Manipulationssprache SQL einhergeht.

Aber gut gemeistert, gemeinsam haben wir eine kleine Applikation zur Benutzerverwaltung geschrieben: Eine Datenbank mit einer entsprechenden Tabelle zum Speichern der Benutzerdaten angelegt; ein PHP-Skript, mithilfe dessen neue Einträge hinzugefügt (INSERT INTO …) und gelöscht (DELETE FROM…) werden können, außerdem werden alle angelegten Benutzer angezeigt (SELECT * FROM …).

Währendessen programmieren Gabriel und Jakob in anderen Sphären 🙂

Online-Rechentrainer

Diese Woche im WPG Inf 7:

Für das Üben der Datenübergabe einer Webseite an eine andere Seite erstellten wir heute einen Online-Rechentrainer für Addition und Multiplikation. Abgefragt wird jeweils eine auf zwei Zufallszahlen basierte Addition bzw. Multiplikation – die richtigen bzw. falschen Antworten werden mitgespeichert.

Außerdem geht die Arbeit am fälschungssicheren Votingsystem weiter!

Grassland, HTML-Formulare, CSS und eine Zitrone

Diese Woche im WPG Inf 7:

Während Gabriel in zwei Stunden dem Voting-System eines kürzlich beendeten Musikvideo-Wettbewerbs eins draufsetzt, bemühen sich Felix und Tobi um Formulare in HTML sowie deren Datenverarbeitung über PHP.

Auch ein wenig CSS-Wiederholung schadet nie – und so zaubern wir aus einem gelben Rechteck ganz schnell mal eine kleine Zitrone 🙂

Programmieren – Tilemaps und Jump’n’Run

Diese Woche im WPG Inf7:

Während Gabriel und Jakob an ihrem letzte Woche begonnen Jump’n’Rum Game weiterprogrammieren, nähern sich auch Felix und Tobias diesem Thema in Form von 1D-Tilemaps beim Einüben von Schleifen. Nebenbei lernen wir die Verwendung der Modulo-Rechnung (Summe aller durch 3 teilbaren Zahlen von 1 bis 1000) sowie das Erzeugen von Zufallszahlen über mt_rand kennen. Außerdem gab es noch eine kurze Einführung in das Erstellen von SVG-Graphiken per Quelltext. So lassen sich live von Programmen heraus Graphiken zeichnen und auf Webseiten darstellen – die grundlegende Technik vieler Webgraphiken heuzutage…

Programmieren: Von Schleifen und Quersummen

Diese Woche im WPG Inf7:

Weiter gehts mit Teil 2 der Grundlagen im Programmieren in PHP. Heute nehmen wir uns die verschiedenen Schleifentypen genauer vor, und berechnen neben ein paar Groß- und Kleinschreib-Spielereien die Quersumme beliebiger Zahlen. Wozu? Sagen euch die Teilungsregeln noch was? 🙂 Abschließend haben wir mithilfe der foreach-Schleife doch glatt noch einen kleinen Pizza-Bestellservice programmiert.

Währenddessen programmiert Jakob an der Lösung von Level 4 des “Game of Drones :-)”, der Drohnensteuerung vom letzten Programmierwettbewerb. Wo versteckt sich bloß das Obsticle auf 70|23?

Programmieren: Grundlagen und Design Patterns

Diese Woche im WPG Inf7:

Nachdem wir in dieser Gruppe mit Gabriel und Jakob bereits zwei begnadete Hobbyprogrammierer haben – die Teilnahme beim School-CCC hat das ja eindrucksvoll bewiesen -, beschäftigten sich die zwei Jungs in dieser Doppelstunde mit “Design Patterns”. Design Patterns sind Programmier-Paradigmen zur (standardisierten) Lösung bestimmter Problem(klassen). Klingt kompliziert, ist es großteils auch. Aber aber einem bestimmten Niveau fragt man nicht mehr nach Schwierigkeit 🙂

Währenddessen haben Tobias und Felix den Einstieg in die serverseitige Programmierung mit PHP geschafft. Super schnell haben sie die grundlegenden Sprachkonstrukte (Variablen, -typen, Bedingungen, erste Schleifentypen, Zeichenkettungverknüpfung, erste Funktionen) von PHP erlernt und in Beispielen angewandt. Da werden wir weitermachen!