Unterschiede zwischen den Revisionen 59 und 60
Revision 59 vom 2010-10-11 15:31:50
Größe: 7176
Kommentar:
Revision 60 vom 2010-10-11 18:51:14
Größe: 7177
Autor: Bernd
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 116: Zeile 116:
||MySQL StoredProcedures ||Perl ||Erkan || ||MySQL !StoredProcedures ||Perl ||Erkan ||

Interessen- und Angebotsmatrix

Programmiersprachen

... interessiert mich

... kann ich etwas zu beitragen

Java

Stefan, Harald, Thomas, Sabrina, Axel

Oliver, Oliver2, Jens

C

Moritz, Harald, Tim, Bernhard

Rolf, Bernd, Bernd2, Oliver2, Thomas

Php

Bernd, Stefan, Sabrina, Tim

Rolf, Nadja, Axel, Oliver2

Assembler

Bernd, Harald, Oliver2

Harald, Bernd, Bernd2, Thomas, Axel, Jens

Haskell

Bernd, Harald, Jens

Harald

C++

Harald, Sabrina

Bernd2, Oliver2, Thomas, Axel, Jens

Python

Sabrina, Oliver2

Bernd, Moritz, Harald, Jens

Prolog

Bernd, Jens

Harald

Javascript

Tim, Bernhard

Perl

Bernhard

Bernd, Oliver2, Harald, Erkan

Cobol

Bernd

Axel, Oliver2

Lisp (Common Lisp, Scheme, Clojure)

Jens

Harald

Gambas

Bernd

Rolf, Oliver2

Fortran

Bernd

Axel

Lua

Bernd, Harald, Erkan

Forth

Harald

Scala

Harald

Tcl

Oliver2

Paradigmen und Konzepte

... interessiert mich

... kann ich etwas zu beitragen

GUI Design

Bernd2, Oliver2, Harald, Sabrina, Jens

Multithreading

Axel, Harald, Oliver2

Jens

plattformübergreifende ~

Oliver2, Jens

Objektorientierung

Oliver2

Oliver, Jens

Agile Software Development

Harald

Domain Driven Design

Harald

reguläre Ausdrücke

Moritz, Thomas, Bernd

Aspektorientierung

Oliver

Unit-Testing

Thomas

Linux-Systemprogrammierung

Bernd

Entwicklungsumgebungen / Frameworks

... interessiert mich

... kann ich etwas zu beitragen

Eclipse

Bernd2, Harald, Sabrina, Axel

Oliver

QT Creator

Oliver2, Harald, Jens

Thomas ?, Axel ?

Hibernate

Harald

Oliver

Maven

Harald

Oliver

Rails

Bernd

Oliver

Ajax

Harald

Code::Blocks

Sabrina

Anjuta

Oliver2

Spring Framework /MVC /AOP /AspectJ

Oliver

Apache Wicket

Oliver

Selenium 2

Oliver

JUnit

Oliver

Netbeans

Oliver2

Werkzeuge

... interessiert mich

... kann ich etwas zu beitragen

Make

Moritz, Oliver2, Jens

Bernd, Thomas

configure

Harald, Oliver2, Jens

Bernd, Thomas

git

Axel, Oliver2, Bernd

Harald, Jens

diff, patch, quilt

Harald, Oliver2

Harald, Thomas, Jens

subversion

Axel, Bernd

Harald, Thomas, Oliver2

Compiler

Harald, Oliver2

Bernd, Thomas

Linker

Harald, Oliver2

Bernd, Thomas

mercurial

Axel, Oliver2

Harald, Jens

Assembler

Oliver2

Bernd, Thomas

Debugger

Oliver2

Bernd, Thomas

doxygen

Harald

Thomas

cmake

Jens

Thomas

bugzilla

Harald

Lexer- / Parsergeneratoren

Harald, Bernd, Thomas

LaTeX-listings

Harald

cweb

Harald

javadoc

Libraries

... interessiert mich

... kann ich etwas zu beitragen

Qt / KDE

Harald, Oliver2, Jens

Thomas, Axel

glib / gtk+ / GNOME

Axel, Oliver2

Bernd

openGL

Axel, Oliver2

Bernd

Xlib

Harald

Bernd

Swing

Oliver, Oliver2

Compilerbau

... interessiert mich

... kann ich etwas zu beitragen

Lexer / Parser

Harald, Bernd

Grammatiken

Harald, Bernd

syntaxgerichtete Übersetzung

Bernd

Codeerzeugung

Bernd

(Bernd)

Optimierungsstrategien

Bernd

(Bernd)

Einschränkungen / zusätzliche Informationen

  • Assembler (als Sprache): hier haben alle "Anbieter" im wesentlichen noch Kenntnisse aus den Anfangsgründen der Programmierung. Im Workshop ginge es dann darum, sich aktuelle Kenntnisse in der Linux-Umgebung zu erarbeiten.
  • Assembler (als tool): hierbei geht es im Gegensatz zum oberen Thema um die Bedienung des GNU-Assemblers, von nasm und anderen tools.
  • reguläre Ausdrücke: Hier können beide Anbieter nur allgemeine Grundlagen vermitteln, Moritz vorzugsweise am Besipiel von Python.
    • im wesentlichen sind hier drei Varianten im Umlauf, zu allen könnte ich (=Bernd) gern auch etwas beitragen
      • Basic Regular Expressions (BRE), Extended Regular Expressions (ERE) - beide festgelegt im POSIX Standard
      • Perl compatible Regular Expressions (PCRE)
  • Unit-Testing: Thomas kann dieses als Teil des Entwicklungsprozesses vorstellen.
  • configure: Nur eine grobe Übersicht, keine Details
    • falls das configure Skript gemeint ist, dass die GNU autotools ausspucken, so kann ich (=Bernd) da gerne aushelfen.
      Von Hand stricken solltest Du das ohnehin nicht!

  • lex & yacc: Nur oberflächliche Kenntnisse vorhanden, keine Praxiserfahrung

Ideen für Programmieraufgaben / Projekte:

Projekte

was?

Umgebung / Voraussetzungen

Vorschlag von

Projekt-Controlling Tool

XML, GUI, Qt, subversion

Thomas

Wikimedia-Picture-Picker

Java, Perl, Python, GUI

Harald

ICU-konforme utf8-Sortierung

Perl, Python, Java, C++, PHP

Harald

Text-Übersetzungs-Alignment

C, C++

Harald

Shoebox-Interlinearisator

GUI, Qt, Java, C++, PHP, Javascript/AJAX

Harald

Apache/Exim-Skripte

Perl

Erkan

MySQL StoredProcedures

Perl

Erkan

MySQL-Proxy-Hooks

Lua

Erkan

PowerDNS-Hooks

Lua

Erkan

DNS-Management (über Weboberfläche) + IP Adress Management (Tool sollte auch DNSSEC können)

Apache, MySQL, PHP

Oliver2

(yet another) Small-C Interpreter/Compiler (yascc)

Programmiersprachenunabhängig

Bernd

Einschränkungen / zusätzliche Informationen

yascc

  • sicher nicht als Einstiegsaufgabe geeignet.
    Hätte aber den ungeheuren Vorteil, dass wir uns so von innen und von aussen zugleich gleich auf zweierlei Weisen dem Thema Programmierung nähern könnten.

  • Small-C muss es dabei nicht unbedingt sein, stattdessen gerne auch eine beliebige andere Sprache.
    Small-C hatte ich bloß gewählt weil es so schön verkrüppelt ist und sich daher recht einfach umsetzen lassen sollte.

  • Sollte ein Compiler statt eines Interpreters als Ziel gesetzt werden, so dürfte mit diesem Projekt gleichzeitig auch Assembler (sowohl als Sprache, als auch als Tool) abgedeckt werden.


Literatur

Literatur kann Bedarfsfall zu folgenden Themen gestellt werden:

Bernd

  • allgemein
    • x86 Rechnerarchitektur
    • Linux Kernelarchitektur
    • Linux/Unix Systemprogrammierung
  • Programmiersprachen
    • C
    • Lua
    • Perl
    • Python
    • Ruby
  • Werkzeuge
    • Make
    • GNU autotools
  • Libraries
    • glib/gtk+
    • openGL
  • Standards
    • XML

lugfrankfurt: Programmierworkshop (zuletzt geändert am 2012-04-05 11:44:27 durch SteffenBauer)