Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Ideen für Programmierprojekt

2,198 views
Skip to first unread message

Jones

unread,
Jan 28, 2002, 10:24:12 AM1/28/02
to
Hallo,

ich suche Ideen für Programmierprojekt, mit dem man einen
Informatik-Kurs so etwa eine (Projekt-)Woche lang beschäftigen kann.
Ideal wäre es, wenn mehrere Arbeitsgruppen an verschiedenen Teilen
arbeiten und das Ganze hinter zusammengefügt werden muss.
Es kann ruhig etwas anspruchsvolleres sein, die Schüler lernen C seit
einem Jahr (Gymnasium 13. Jahr).

Wenn jemand eine interessante Idee für ein Projekt hat, lasst es mich
wissen!

(Hinweis: keine verteilten oder Client/Server-Anwendungen, da C als
Sprache genommen werden muss ... und das würde etwas zu schwierig)

Gruss,
Jones

Stefan Reuther

unread,
Jan 28, 2002, 11:07:45 AM1/28/02
to
Hallo,

Jones <snake...@hotmail.com> wrote:
> ich suche Ideen für Programmierprojekt, mit dem man einen
> Informatik-Kurs so etwa eine (Projekt-)Woche lang beschäftigen kann.
> Ideal wäre es, wenn mehrere Arbeitsgruppen an verschiedenen Teilen
> arbeiten und das Ganze hinter zusammengefügt werden muss.

Für ein Projekt mit mehreren Personen ist eine Woche *verdammt*
kurz. Zumindest wenn etwas anständiges (!= "Hack") rauskommen soll.

> Es kann ruhig etwas anspruchsvolleres sein, die Schüler lernen C seit
> einem Jahr (Gymnasium 13. Jahr).

Sonstiges Vorwissen?

Auch, wenn's langweilig ist: aber Sachen wie "kleine Datenverwaltung"
(Adressen, CDs, Bücher, ...) wird immer wieder gern genommen.
Da kann man eigentlich alles unterbringen, was so im Info-Unterricht
drankommt: Datenstrukturen (Speicher / Dateien), Parser (kleine
Abfragesprache möchte schon sein), evtl. User Interface,
Report-Generator...

Man kann jetzt den Fokus auch verschieben, wir hatten z.B.
mal die Aufgabe, einen "Igel-Geometrie" Interpreter zu schreiben
(a la Logo). Fand ich sehr cool, diese Aufgabe ;-)

Aber nicht in einer Woche.

> Wenn jemand eine interessante Idee für ein Projekt hat, lasst es mich
> wissen!

Auch wenn in dieser NG ungern gehört: welche Plattform? Wenn z.B.
einfache Grafik vorhanden ist (Borland <graphics.h>), wäre
ein kleines Spiel eine Überlegung wert (so in der Komplexitäts-
klasse Othello/Reversi, Schiffeversenken, Blackbox...). Kann
man wieder in mehrere Teile zerlegen: Eingaben, Grafik,
Computer-AI, ...

Aber nicht in einer Woche. Ich brauche meistens schon mal
eine Woche, um eine anständige Build-Umgebung für ein
Projekt aufzusetzen: Makefiles, die ganzen `utiltity.c'
Schnipsel die man so braucht (schon so simple Sachen wie
`strdup' oder `concat'). Und natürlich das Wichtigste:
Designentwürfe und Spezifikationen. Wenn deine Arbeitsgruppen
Teile bauen sollen, die zum Schluß zusammengefügt werden,
müssen sie sich *vorher* auf die Schnittstellen einigen.
Und die zu entwerfen, so lernt man in der Softwaretechnik-
Vorlesung, kann durchaus 1/3 der Projektzeit einnehmen.


Stefan

R.Freitag

unread,
Jan 28, 2002, 12:14:35 PM1/28/02
to
Jones sprach:

> Hallo,
>
> ich suche Ideen für Programmierprojekt, mit dem man einen
> Informatik-Kurs so etwa eine (Projekt-)Woche lang beschäftigen kann.

Sind Kenntnisse über Betriebswirtschaft vorhanden? Dann könnte ein
Programmpaket für Betriebswirtschaft villeicht eine Lösung sein. Eine
Auswahlmaske, aus der auf einen vorhandenen Datenbestand (in einem
File) zB eine ABC-Analyse ausführt, den Lagerumschlag berechnet,
einfache Kostenoptimierungen vornimmt und sowas. Weitere
Anwendungsfelder für die BWL findest du im Wöhe (BWL) oder für
anspruchsvollere zB. bei Müller-Mernbach, Operaton Research).


Wenn das nicjts hilft, könnte man etwas mit Microcontrollern anfangen
? Der M16 ist da recht leistungsfähig.
hth

Robert

--
They played Beethoven last night.
Beethoven lost.

Matthias Luedtke

unread,
Jan 28, 2002, 2:57:01 PM1/28/02
to
"Jones" <snake...@hotmail.com> schrieb

> ich suche Ideen für Programmierprojekt, mit dem man einen
> Informatik-Kurs so etwa eine (Projekt-)Woche lang beschäftigen kann.

Das haben wir (ein 13er Informatikkurs) auch getan. Aus einer Schnapsidee
wurde ein Projekt, das Ende naechste Woche abgeschlossen wird:

Da wir seit ca einem Jahr - mehr oder weniger - glueckliche Anwender eines
Intranets sind, haben wir es uns zur Aufgabe gemacht, den guten, alten
Vertretungsplan ins Intranet zu stellen. Nicht, dass es unser Vorhaben nicht
schonmal gegeben hat, aber...

Im Klartext bedeutet dies:

-Der zustaendige Lehrer speichert druckt seinen normalen Plan wie gewohnt
aus und speichert ihn zusaetzlich als Textdatei.
-Unser Progamm erkennt die neue Datei, wandelt sie (recht aufwendig) in HTML
um und schmeisst sie per FTP auf den Intranetwebserver.

> Ideal wäre es, wenn mehrere Arbeitsgruppen an verschiedenen Teilen
> arbeiten und das Ganze hinter zusammengefügt werden muss.

Dafuer habe ich mich verbuergt. :) Mir fiel es allerdings insofern
einfacher, als ich auf OOP zurueckgreifen kann.

Viel Erfolg
Matthias

--
"Well designed code" is not the same as "code with a lot of pictures
describing it." - unknown in comp.lang.python


Jones

unread,
Jan 29, 2002, 5:15:28 AM1/29/02
to
Hi Stefan,

Erstmal danke für Deine Ideen!

> Hallo,
>
> Jones <snake...@hotmail.com> wrote:
> > ich suche Ideen für Programmierprojekt, mit dem man einen
> > Informatik-Kurs so etwa eine (Projekt-)Woche lang beschäftigen kann.
> > Ideal wäre es, wenn mehrere Arbeitsgruppen an verschiedenen Teilen
> > arbeiten und das Ganze hinter zusammengefügt werden muss.
>
> Für ein Projekt mit mehreren Personen ist eine Woche *verdammt*
> kurz. Zumindest wenn etwas anständiges (!= "Hack") rauskommen soll.

Ok, stimmt. Allerdings können sie sich vorbereiten und haben eine
ganze woche (8h/tag) zeit.


>
> > Es kann ruhig etwas anspruchsvolleres sein, die Schüler lernen C seit
> > einem Jahr (Gymnasium 13. Jahr).
>
> Sonstiges Vorwissen?
>
> Auch, wenn's langweilig ist: aber Sachen wie "kleine Datenverwaltung"
> (Adressen, CDs, Bücher, ...) wird immer wieder gern genommen.
> Da kann man eigentlich alles unterbringen, was so im Info-Unterricht
> drankommt: Datenstrukturen (Speicher / Dateien), Parser (kleine
> Abfragesprache möchte schon sein), evtl. User Interface,
> Report-Generator...
>

An sowas hatte ich auch schon gedacht, wird es wohl auch werden...
Das lässt sich in C eben gut machen.
Wir verwenden "MS Visual C++" und hätten auch noch nen Linux Server.
Mit Borland-Grafik siehts also schlecht aus.

> Man kann jetzt den Fokus auch verschieben, wir hatten z.B.
> mal die Aufgabe, einen "Igel-Geometrie" Interpreter zu schreiben
> (a la Logo). Fand ich sehr cool, diese Aufgabe ;-)
>
> Aber nicht in einer Woche.
>
> > Wenn jemand eine interessante Idee für ein Projekt hat, lasst es mich
> > wissen!
>
> Auch wenn in dieser NG ungern gehört: welche Plattform? Wenn z.B.
> einfache Grafik vorhanden ist (Borland <graphics.h>), wäre
> ein kleines Spiel eine Überlegung wert (so in der Komplexitäts-
> klasse Othello/Reversi, Schiffeversenken, Blackbox...). Kann
> man wieder in mehrere Teile zerlegen: Eingaben, Grafik,
> Computer-AI, ...
>
> Aber nicht in einer Woche. Ich brauche meistens schon mal
> eine Woche, um eine anständige Build-Umgebung für ein
> Projekt aufzusetzen: Makefiles, die ganzen `utiltity.c'
> Schnipsel die man so braucht (schon so simple Sachen wie
> `strdup' oder `concat'). Und natürlich das Wichtigste:
> Designentwürfe und Spezifikationen. Wenn deine Arbeitsgruppen
> Teile bauen sollen, die zum Schluß zusammengefügt werden,
> müssen sie sich *vorher* auf die Schnittstellen einigen.
> Und die zu entwerfen, so lernt man in der Softwaretechnik-
> Vorlesung, kann durchaus 1/3 der Projektzeit einnehmen.
>
>
> Stefan

Gruss,
Jones

Jones

unread,
Jan 29, 2002, 5:20:36 AM1/29/02
to
> Jones sprach:
>
> > Hallo,
> >
> > ich suche Ideen für Programmierprojekt, mit dem man einen
> > Informatik-Kurs so etwa eine (Projekt-)Woche lang beschäftigen kann.
>
> Sind Kenntnisse über Betriebswirtschaft vorhanden? Dann könnte ein
> Programmpaket für Betriebswirtschaft villeicht eine Lösung sein. Eine
> Auswahlmaske, aus der auf einen vorhandenen Datenbestand (in einem
> File) zB eine ABC-Analyse ausführt, den Lagerumschlag berechnet,
> einfache Kostenoptimierungen vornimmt und sowas. Weitere
> Anwendungsfelder für die BWL findest du im Wöhe (BWL) oder für
> anspruchsvollere zB. bei Müller-Mernbach, Operaton Research).
>

Hi!

BWL Hintergrund ist leider nicht vorhanden, oder nur sehr begrenzt.
Ich dachte eher an einer einfachere Sache. Aber danke für den Input!


> Wenn das nicjts hilft, könnte man etwas mit Microcontrollern anfangen
> ? Der M16 ist da recht leistungsfähig.

zusätzliche HW besorgen ist leider etwas schwierig :-(

> hth
>
> Robert

Ingo Wilken

unread,
Feb 3, 2002, 6:18:55 PM2/3/02
to
snake...@hotmail.com (Jones) writes:
>ich suche Ideen für Programmierprojekt, mit dem man einen
>Informatik-Kurs so etwa eine (Projekt-)Woche lang beschäftigen kann.
[...]

>Wenn jemand eine interessante Idee für ein Projekt hat, lasst es mich
>wissen!

Bei einer Informatik-Projektwoche durften wir uns damals[1] selber
ein Programmierprojekt ausdenken, mein Freund und ich haben dann
ein einfaches Textadventure[2] programmiert. Ob man heutzutage
noch jemand fuer sowas begeistern kann, weiss ich allerdings nicht...

Tschau
Ingo

[1] als die CPUs 8bittig und 128KB viel RAM waren. Mit TurboPascal unter
CP/M auf TA Alphatronic-Maschinen.
[2] das hatte zwar nur 3x3 Raeume, aber dafuer war der Befehls-Parser recht
brauchbar :-)
--
PGP&GnuPG keys: http://www.informatik.uni-oldenburg.de/~ingo/{pgp|gpg}key.asc
"There's an inverse relationship between how good something is for you,
and how much fun it is." -- Calvin

Dennis Schramm

unread,
Feb 15, 2002, 6:23:45 PM2/15/02
to
Ja! Mich!

MfG,

Dennis Schramm
www.dennis-schramm.com

Oliver Bandel

unread,
Feb 16, 2002, 11:57:21 AM2/16/02
to

Stefan Reuther <sr...@inf.tu-dresden.de> wrote:
> Hallo,

> Jones <snake...@hotmail.com> wrote:
>> ich suche Ideen für Programmierprojekt, mit dem man einen
>> Informatik-Kurs so etwa eine (Projekt-)Woche lang beschäftigen kann.
>> Ideal wäre es, wenn mehrere Arbeitsgruppen an verschiedenen Teilen
>> arbeiten und das Ganze hinter zusammengefügt werden muss.

> Für ein Projekt mit mehreren Personen ist eine Woche *verdammt*
> kurz. Zumindest wenn etwas anständiges (!= "Hack") rauskommen soll.

Naja, kommt drauf an, wie oft und wie lang der Unterricht ist,
was man davon als Hausaufgaben vergeben kann usw.

Nach einem Jahr C sollte man schon einiges können.


>> Es kann ruhig etwas anspruchsvolleres sein, die Schüler lernen C seit
>> einem Jahr (Gymnasium 13. Jahr).

> Sonstiges Vorwissen?

> Auch, wenn's langweilig ist: aber Sachen wie "kleine Datenverwaltung"
> (Adressen, CDs, Bücher, ...) wird immer wieder gern genommen.

Wieso langweilig?
Manche Leute finden es ganz praktisch, sowas zu programmieren:
Endlich mal etwas, das man auch zu Hause sinnvoll einsetzen kann.
Und warum Programme kaufen/klauen, wenn man sie selbst programmieren
kann, wo man eigene Ideen einbringen kann - maßgeschneidert also -,
dabei etwas lernt und noch was praktisch nutzbares davon hat?

Wie sinnlos sind da angeblich interessante Programme, die
manchen Informatiker oder Mathematiker glücklich machen, aber
keinerlei ernstzunehmenden Lerneffekt bei den Schülern haben,
weil man das Zeugs was man im Unterricht lernt nicht praktisch
nutzen kann? Unnützes Zeugs ist vrmutlich eher langweilig.

Was habe ich stupiden Unterricht gehasst und wie toll (aber leider
selten) hat man mal in der Schule etwas gelernt, was einen praktischen
Nutzen hat (und damit überhaupt mal was gelernt).
Das meiste lernt man eh ausserhalb der Schule, oder?

> Da kann man eigentlich alles unterbringen, was so im Info-Unterricht
> drankommt: Datenstrukturen (Speicher / Dateien), Parser (kleine
> Abfragesprache möchte schon sein), evtl. User Interface,
> Report-Generator...


Naja, wenn man es gut strukturiert aufbaut, kann man auch erst einmal
mit einem Teil der Aufgaben anfangen und so Sachen wie
Sprachen später noch ergänzen.

BTW: Wenn die leute schon seit einem Jahr C lernen, kann man
doch den Unterricht langfristig aufbauen und sich im Laufe
des ersten Jahres eine Bibliothek von Funktionen erstellen,
die man dann im zweiten Jahr nutzen kann (und dann wird
das mit dem Implementieren der eigenen Kommandosprache
doch noch in einer Woche möglich, da man sich nicht alle
Bibloiotheken erst selbst schreiben muß und da man die eigene
Bibliothek im Laufe des Jahres gut kennen gelernt hat - besonders
weil man's selbst geschrieben hat und weiß, was intern abgeht.).


> Man kann jetzt den Fokus auch verschieben, wir hatten z.B.
> mal die Aufgabe, einen "Igel-Geometrie" Interpreter zu schreiben
> (a la Logo). Fand ich sehr cool, diese Aufgabe ;-)

> Aber nicht in einer Woche.

Naja, wen man sich schon einiges an Bibliotheken vorbereitet hat,
sollte das machbar sein.

>> Wenn jemand eine interessante Idee für ein Projekt hat, lasst es mich
>> wissen!

> Auch wenn in dieser NG ungern gehört: welche Plattform?

Hier geht's ja auch um C. Und das war ja auch, was da im
Unterricht gefordert wurde: C zu nutzen, nicht plattformspezifischen
Klumpatsch.

> Wenn z.B.
> einfache Grafik vorhanden ist (Borland <graphics.h>), wäre
> ein kleines Spiel eine Überlegung wert (so in der Komplexitäts-
> klasse Othello/Reversi, Schiffeversenken, Blackbox...). Kann
> man wieder in mehrere Teile zerlegen: Eingaben, Grafik,
> Computer-AI, ...

Man kann auch auf einem 80x25-Bildschirm solche
Sachen programmieren. Das ist dann eine einfache Grafik....
Und ich denke, das ist auch sinnvoll.

Dann muß man sich z.B. überlegen, wie man das realisiert ->
komplexe Denkvorgänge statt nur auf Bibliotheken zurück zu greifen.
Z.B.: "Wie löscht man denn bloß den Bildschirm?"

Auf mitgelieferte (nicht-Standard-C-) Bibliotheken
zurückgreifen kann (und sollte) man,
wenn man im Berufsleben steht, man - weil man vorher solche
Sachen selbst programmiert hat - auch weiss, was da abgeht
und man nicht ewig lange immer alles neu schreiben will/soll
(das Rad neu erfinden).

Zum Lernen (des verständnisses wegen) ist es aber besser,
wenn man es selbst entwirft. (Man nimmt dann auch
Bibliotheken, aber nur die standardkonformen.)

Eigentlich kann man nur so wirklich begreifen, was man
macht. Wenn es überall an Fachkräften mangelt, dann deshalb,
weil das Auswendiglernen/Nachplappern/brav rumschleimen
im Unterricht immer noch zu sehr erwartet wird und das
eigenständige Denken und Handeln nicht erwünscht ist,
da man in Schulen gewöhnlich die Schüler abrichtet...

Ausnahmen bestätigen die Regel, und ich gehe jetzt einfach
mal davon aus, daß der Jones (Realname?) eine solche positive
Ausnahme ist.

> Aber nicht in einer Woche. Ich brauche meistens schon mal
> eine Woche, um eine anständige Build-Umgebung für ein
> Projekt aufzusetzen: Makefiles, die ganzen `utiltity.c'

Tja, das kommt eben davon, wenn man meint, man müsse eine
Abkürzung nehmen und mit (ach so einfachen) MickeySoft-Produkten
arbeiten, weil die einem so schön die Arbeit abnehmen.

Man übersieht bei allem Nachgeplappere der Marketing-Sprüche,
daß man u.U. mehr Aufwand hat als weniger, wenn man sich
darauf verläßt, daß die Computer und die richtige Umgebung
einem schon die Arbeit abnehmen.

Eigenständiges Denken kann man eben nicht einfach durch
Bibliotheken ersetzen.

Lesen: Ivan Illich, Fortschrittsmythen

> Schnipsel die man so braucht (schon so simple Sachen wie
> `strdup' oder `concat').

Unter Linux/Unix: man strdup
Dann einfach reimplementieren. Das macht man bei langfrisitig
angelegtem Unterricht im Laufe des ersten Jahres.
(man nennt sinnvollerweise die Funktion nicht strdup, wenn
sie auf dem System vorhanden ist; wenn man eine eigene Lib
inmplementiert kann man da vermutlich sinnvollerweise einen
Prefix für nehmen, aber das sind Feinheiten, die hier erst mal
nicht interessieren zu brauchen)


> Und natürlich das Wichtigste:
> Designentwürfe und Spezifikationen. Wenn deine Arbeitsgruppen
> Teile bauen sollen, die zum Schluß zusammengefügt werden,
> müssen sie sich *vorher* auf die Schnittstellen einigen.

Ja, wenn jeder an einem anderen Teil baut, schon.
Ich dachte zwar, alle bekommen die gleiche Aufgabe.
Aber die Idee, das Projekt größer anzulegen und die
Aufgaben aufzuteilen finde ich gut - feine Sache.


> Und die zu entwerfen, so lernt man in der Softwaretechnik-
> Vorlesung, kann durchaus 1/3 der Projektzeit einnehmen.

Jau.

Mehr ist ok. Zuwenig führt ja meist zu unnötigem Gefrickel und
Debuggen ohne Ende.


Ciao,
Oliver
--
I'm looking for musicians in Berlin, which want to make groovy music
and are open-minded enough to add tapdance to the band
Look here for an improvisation-example:
http://www.belug.org/~ob/tap-impro-1.mpg

Stefan Reuther

unread,
Feb 18, 2002, 8:49:20 AM2/18/02
to
Hallo,

Oliver Bandel <oli...@first.in-berlin.de> wrote:


> Stefan Reuther <sr...@inf.tu-dresden.de> wrote:
>>> Wenn jemand eine interessante Idee für ein Projekt hat, lasst es mich
>>> wissen!

>> Auch wenn in dieser NG ungern gehört: welche Plattform?

> Hier geht's ja auch um C. Und das war ja auch, was da im
> Unterricht gefordert wurde: C zu nutzen, nicht plattformspezifischen
> Klumpatsch.

>> Wenn z.B. einfache Grafik vorhanden ist (Borland <graphics.h>),

>> [...]

> Man kann auch auf einem 80x25-Bildschirm solche
> Sachen programmieren. Das ist dann eine einfache Grafik....
> Und ich denke, das ist auch sinnvoll.

Mir ging's (auch) um Motivation. Programme, wo's was zu
sehen gibt, sind da einfach besser. Real wird wohl nur ein
verschwindend geringer Teil aller Programme in reinem
ANSI-C geschrieben. Und das Nutzen von Systembibliotheken
--aber nur wenn nötig-- gehört IMHO auch in einen guten
Unterricht. Ob man dann auf einem 80x25 Bildschirm
Klötzchengrafik macht oder 640x480 "echte" Grafik, ist auch
egal, eine Systembibliothek brauchst du beide Male.

>> Aber nicht in einer Woche. Ich brauche meistens schon mal
>> eine Woche, um eine anständige Build-Umgebung für ein
>> Projekt aufzusetzen: Makefiles, die ganzen `utiltity.c'

> Tja, das kommt eben davon, wenn man meint, man müsse eine
> Abkürzung nehmen und mit (ach so einfachen) MickeySoft-Produkten
> arbeiten, weil die einem so schön die Arbeit abnehmen.

Huch?

> Eigenständiges Denken kann man eben nicht einfach durch
> Bibliotheken ersetzen.

Aber unnütze Arbeit. Freilich kann man jetzt seine Bildschirm-
I/O-Routinen per Hand schreiben "um was zu lernen". Aber das
hat noch weniger mit C zu tun als #include <curses.h> oder
#include <graphics.h>.

>> Schnipsel die man so braucht (schon so simple Sachen wie
>> `strdup' oder `concat').

> Unter Linux/Unix: man strdup
> Dann einfach reimplementieren. Das macht man bei langfrisitig
> angelegtem Unterricht im Laufe des ersten Jahres.

Ja, aber wenn man ein neues Projekt beginnt, muß man sich auch
diese ganzen Schnipsel, die man irgendwann schonmal programmiert
hat, wieder zusammensuchen. Und das kostet Zeit.

>> Und natürlich das Wichtigste:
>> Designentwürfe und Spezifikationen. Wenn deine Arbeitsgruppen
>> Teile bauen sollen, die zum Schluß zusammengefügt werden,
>> müssen sie sich *vorher* auf die Schnittstellen einigen.

> Ja, wenn jeder an einem anderen Teil baut, schon.
> Ich dachte zwar, alle bekommen die gleiche Aufgabe.
> Aber die Idee, das Projekt größer anzulegen und die
> Aufgaben aufzuteilen finde ich gut - feine Sache.

Das hate der OP wohl so vorgesehen (mehrere Leute = ein Projekt).


Stefan

0 new messages