Projekte

Während des Sommercamps bearbeitest Du zusammen mit deinen Gruppenkollegen ein Thema. In einigen Projekten wird programmiert. Hier sind Programmierkenntnisse nützlich. Andere setzen keine speziellen Informatik-Kenntnisse voraus. In der Projektbeschreibung steht jeweils, ob Vorkenntnisse notwendig sind.

Die folgenden Projekte werden im Sommercamp 2018 stattfinden:

Beschreibungen

Programmierung von Mikrocontrollern mit Arduino

Arduino Logo.svg
Von Unknown - http://arduino.cc, Public Domain, Link

Worum geht es?

Im Allgemeinen geht es um die Programmierung von eingebetteten Systemen. Eingebettete Systeme bezeichnen i.d.R. Systeme die in Geräte oder Anlagen eingebunden sind und dort spezialisierte Aufgaben übernehmen. So ein “Gerät” kann z.B. ein Auto sein, das eine Vielzahl einzelner, miteinander verbundener, eingebetteter Systeme enthält. Ein einzelnes eingebettetes System in einem Auto steuert z.B. die Verbrennung des Kraftstoffs und sorgt für eine Fahrt mit geringem Kraftstoffverbrauch. Konkret geht es bei unserem Projekt um die Erfassung von Umgebungsinformationen (z.B. der Raumtemperatur) mit Sensoren, der Verarbeitung von Informationen mit einem Mikrokontroller, der Ausgabe von Informationen an den Benutzer (z.B. über LEDs oder ein Display) und die Ansteuerung von Aktoren (z.B. von Elektromotoren).

Was wollen wir machen?

In diesem Projekt erarbeiten wir uns zunächst die Grundlagen elektronischer Schaltungen und die der Programmierung von Mikrocontrollern. Aufbauend auf diesen Kenntnissen wollen wir gemeinsam ein elektronisches System mit mehreren Komponenten entwickeln, das von einem zentralen Mikrocontroller gesteuert wird.

Nötige Vorkenntnisse

Besondere Vorkenntnisse sind nicht erforderlich, da alle nötigen Kenntnisse im Rahmen des Projekts gemeinsam erarbeitet werden.

Starcraft KI

Starcraft logo.jpg
Von Blizzard Entertainment - www.blizzard.de, Logo, Link

Worum geht es?

In diesem Projekt entwickeln die Projektteilnehmer einen Steuerungsalgorithmus für Starcraft-Einheiten. Ziel ist es, mit ausgefeilter künstlicher Intelligenz, einen Bot zu entwickeln welcher automatisch verschiedene Einheiten steuern kann um sich dann gegen die Bots der anderen Teilnehmer im Wettkampf durchzusetzen.

Was wollen wir machen?

Die Woche beginnt mit einer Einführung in die objektorientierte Welt von Java. Danach wird das Starcraft Framework “BWAPI”, mit dem die Bots entwickelt werden, vorgestellt. Nach der Einführung dürfen die Teilnehmer - in Teams aufgeteilt - ihre ersten Prototypen bauen, die sie immer weiter verfeinern werden. Während die Teams bisher unabhängig voneinander Steuerungen entwickelt haben, werden sie am Ende der Woche erstmalig im Wettbewerb auf großer Leinwand gegeneinander antreten.

Für die Abschlussveranstaltung ist geplant, alle Bots die erstellt wurden auf einmal gegeneinander antreten zu lassen.

Java- bzw. Programmierkenntnisse

… sind wünschenswert, aber nicht zwingend erforderlich. Alle nötigen Kenntnisse werden gemeinsam im Rahmen des Projekts erarbeitet.

R2D2 - Mit Robotern Informatik kennen lernen

Lego NXT Logo.png
Von Source, Fair use, Link

Worum geht es?

Lego - Jeder von uns hat in seiner Kindheit gerne mit den bunten Bauklötzen gespielt und getüftelt. Doch was haben Informatiker damit zu tun und sind sie nicht längst zu alt dafür? Wir wollen das Gegenteil beweisen und die Lego-Roboter, Mindstorm NXT, mithilfe der Informatik zum Leben erwecken.

Was wollen wir machen?

Wir werden hierzu in kleinen Schritten vorgehen und Funktion für Funktion implementieren. Dabei statten wir die Roboter mit einer begrenzten Anzahl an Licht-, Farb-, Sound-, Ultraschall- und Tastsensoren aus. Wir tasten uns Schritt für Schritt an unser großes Ziel heran: Roboter, die im Eins-gegen-Eins Modus gegeneinander “Fußball” spielen.

Nach diesem Kurs …

Java- bzw. Programmierkenntnisse

… sind wünschenswert, aber nicht zwingend erforderlich. Alle nötigen Kenntnisse werden gemeinsam im Rahmen des Projekts erarbeitet.

Virtuelle Welten

Povray logo sphere.png
Von SharkD - Own work, Public Domain, Link

Worum geht es?

Raytracing ist eine Methode zur Erzeugung realistischer dreidimensionaler Darstellungen von einzelnen Objekten und ganzen Szenen. Grundlage dafür ist eine Beschreibung der Anordnung von Objekten, Lichtquellen und Kameras sowie des umgebenden Raumes (z. B. Nebel); diese Beschreibung wird dann durch ein automatisches Verfahren (hier das Programm POVRAY) zur Berechnung eines Bildes oder einer Bildfolge (Trickfilm) verwendet. Die Beschreibung erfolgt in einer Sprache, die als Programmiersprache (zum Erstellen eben jener Welten) bezeichnet werden kann.

Was wollen wir machen?

In der Gruppe sollen neben den Grundlagen von Raytracing besonders die dafür verwendeten Beschreibungsmethoden betrachtet werden. Diese bieten neue Ansätze zum Verständnis des Prinzips der Rekursion, einer fundamentalen Methode der Informatik. Natürlich kommt auch der Spaß nicht zu kurz, denn wo sonst hat man die Möglichkeit, die Welt so zu gestalten, wie man es möchte?!

Java- bzw. Programmierkenntnisse

keine