Reine Konzeptfrage
-
Moinsen =b
So dala, arbeite noch immer an meiner Lernsoftware und möchte ihr einfach mal ein
paar schönheitsfehler weg "operieren" =bMein Problem bzw. was ich von euch wissen möchte, hat nix mit großartigem Quell-
code wirrwar zu tun (wird wutz freuen =b), sondern mit der Benutzerfreundlichkeit
meiner Software.Grundsätzlich geht es um den Creator, welcher die Quize, Lückentexte, Vocabel-
Tests, Vocabelübungen etc. erstellt (es werden Dateien (1. INI Datei und mögliche
*.cdl dateien) erstellt welche in der Lernsoftware hinzugefügt werden können).
Die Problematik betrifft den Lückentext.Also: Ich, bzw. dann ev. mal ein Professor möchte einen Lückentext kreieren. Bis
Jetzt hab ichs so gemacht, dass ich zu erst den gesamten Text einlesen lasse und
erst danach die Wörter auswählen lasse, die entfernt gehören (wo dann die Lücke
ist). Nur kommt mir das extrem umständlich vor. Programmiert war diese Funktio-
nalität schnell, nur wäre mir das zu blöd erst im nachhinein die Lücken heraus
zu picken.Was würdet ihr mir raten? Soll eine bestimmte Taste gedrückt werden oder soll ein
Schlüsselwort eingegeben werden, welches dem programm mitteilt es soll die pos
zwischenspeichern um später dort die lücke zu setzen? ich steh an und vieleicht
kann mir wer bei dieser Frage weiterhelfen.Gruß
ITEDVO
-
Lies den Text einfach aus einer Textdatei, Lücken sind da dann mit %free% oder etwas Ähnlichem zu markieren. Die Lösungen liegen dann einfach in einer separaten Textdatei, mit '\n' getrennt.
itedvo schrieb:
Vocabel-
Tests, VocabelübungenNa hoffentlich erstellst du die Lösungen nicht
-
Ich weiß ja nicht, wie groß dein Projekt werden soll, aber einen Editor, in dem man den Text eingeben und dabei (z. B. mit einer bestimmten Tastenkombination) Lücken markieren kann, würde ich sehr elegant finden. Da ließe sich dann auch eine Möglichkeit einbauen, den Text bspw. aus einer Textdatei einzulesen.
-
Wozu den Editor 1000x neu erfinden? An die guten Editoren kommst du ohnehin nur mit tausenden von Mannjahren Entwicklungszeit ran. Lass den Benutzer den Text mit seinem Lieblingseditor erstellen und lies ihn dann von der Standardeingabe oder aus der Datei. Die Lücken würde ich durch ein sorgsam gewähltes Schlüsselwort markieren. Lass dich da von anderen einfachen Beschreibungssprachen inspirieren. Etwas wie Foren- oder html-tags wäre sicherlich eine gute Wahl.
-
SeppJ schrieb:
Wozu den Editor 1000x neu erfinden? An die guten Editoren kommst du ohnehin nur mit tausenden von Mannjahren Entwicklungszeit ran. Lass den Benutzer den Text mit seinem Lieblingseditor erstellen und lies ihn dann von der Standardeingabe oder aus der Datei. Die Lücken würde ich durch ein sorgsam gewähltes Schlüsselwort markieren. Lass dich da von anderen einfachen Beschreibungssprachen inspirieren. Etwas wie Foren- oder html-tags wäre sicherlich eine gute Wahl.
Aus Sicht eines Programmierers ist das sicherlich ein sinnvolles Argument, den Benutzer selbst den Editor wählen zu lassen und mit Schlüsselwörtern oder HTML-ähnlichen Tags Lücken zu definieren.
Aber ich glaube kaum, dass jemand, der eine Lernsoftware verwenden möchte (sei es ein Professor für Linguistik oder ein Englischlehrer), die Funktionalität eines komplexen Editors auszuschöpfen weiß. Außerdem halte ich es (für die Zielgruppe der Software) für benutzerfreundlicher, in einem integrierten Editor ein Wort zu markieren, eine Taste zu drücken und dann die "Lösung" für die soeben definierte Lücke einzutippen, statt mit kryptischen Konstrukten innerhalb des Textes zu hantieren. Des Weiteren ließe sich ja für fortgeschrittene Nutzer trotzdem noch eine Funktion einbauen, den Text aus einer Datei zu lesen, in der Schlüsselwörter verwendet werden.
Aber das ist nur meine Meinung, und ein solcher Editor übersteigt wahrscheinlich auch den Arbeitsaufwand, den itedvo in das Projekt investieren möchte.
-
nun ja, ein direkter editor wird es ja nicht, aber das mit dem Auslesen aus ner
Datei is sicherlich ne gute idee... nun ja, ich möchte eben ein einheitliches
datei-schema haben, das heißt: 1 INI und ev. nötige .cdl dateien.mal ein Auszug aus ner INI eines meiner kleinsten Quize:
[Pfade] Antworten=ITEDVOAntwort.cld Fragen=ITEDVOFragen.cld [Settings] Anzahl Fragen=5 Anzahl Antworten per Frage=4
multiple-choice gibts auch noch, dann würde es so aussehen:
[Pfade] Antworten=ITEDVOAntwort.cld Fragen=ITEDVOFragen.cld [Settings] Anzahl Fragen=5 Anzahl Antworten per Frage=4 MultipeChoice = TRUE
uncodiert kann der inhalt einer *.cld in etwa so aussehen:
Wie viele Programmiersprachen gibt es?; Der Daumen ist am...; Geordnetes Papier gibt es in...; Die Hauptstadt der Schweiz lautet...; if(x<5 &&...;
der lückentext wird so oder so (codiert, versteht sich), so gespeichert:
Guten Morgen %fr%! Wie geht es %fr%?; Mir geht es gut! Gehst du heute %fr%?; Nein, ich gehe heute nicht %fr%!; %eof%
aber es geht mir ja nicht um die speicherung, sondern um das einlesen des Lücken-
textes. denn wenn der user den text zuerst in einem externen programm schreiben
muss und dann diese datei wiederum im creator öffnen muss um die lücken zu setzen
etc. scheißt er auf das programm. Denn das Programm liest die daten ein und erstellt
dafür 1 - anzNötige dateien welche nur noch den Schülern oder lernenden
weitergegeben werden müssen.[edit] nun ja, wegen dem Stromausfall wurde der post erst später gepostet als
er abgeschickt wurde, daher hab ichs jetzt nich mehr gesehen.Weiteres: der Aufwand is mir "Wurscht" denn ich programmiere für mein leben gerne.
Dieses Projekt hat nix mit Schule zu tun, ich hab keinen Zeitdruck und kann und
will einbauen was nötig ist und auch was ev. nur aus jux zur ermunterung des Users
seinen dienst leistet =bDaher, alles was ihr hier sagt saug ich auf, wie ein Schwamm, mit unendlicher Kapazität, wasser aufsaugt =b
-
Ehm.. was genau soll dein Programm eigentlich machen? Bin gerade etwas verwirrt..
Schön wäre ein beispielhafter Anwendungsfall.
-
also, es sind 2 Programme, um genau zu sein.
1. LearnEasy
LearnEasy bietet folgende Möglichkeiten
Quize: Es wird ein Quiz ausgewählt und dieses kann durchgearbeitet werden
Lückentexte: Es wird ein Lückentext angezeigt, welches auszufüllen ist
Vocabeltraining: Es werden Vocabeln sowohl auf Deutsch in English oder von Englisch in Deutsch abgefragt
Vocabeltest: Es wird ein Vocabeltest simuliert, die Noten bzw. der Erreichte Stand wird ermitteltund einiges mehr wird noch folgen (ich würd ja gern was mit Voice machen =b)
2. Creator
Der Creator, wie der Name schon sagt, wird genutzt um folgende Aufgaben zu kreieren
Quize
Lückentexte
Vocabeltraining (Vocabel einer Unit zum Beispiel)
Vocabeltest Simulation (anzahl Vocabeln, Punkte anzahl, benötigter Prozentsatz für Positiv etc.)Beispiel:
Der Professor kündigt für in zwei Wochen einen Vocabeltest in Unit 5 an (English).
Damit die Schüler mehr erfolg beim Lernen haben, erstellt er sowohl ein Vocabeltraining
wie auch eine Vocabeltest simulation (ähnlich wie es beim Vocabeltest dann sein
wird).Nun nimmt er den Creator und schreibt die Vocabeln von Unit 5 in den Creator (oder
lässt aus einer Datei die Vocabeln auslesen). Dann gibt er den Prozentsatz für
die Häufigkeit der Deutsch in English aufgaben an, der rest ist English in deutsch.Der Creator erstellt daraufhin 2 Dateien. Abgelegt im FILE ordner. in diesem ein
Unterordner mit dem Namen die der Professor für das Vocabeltraining gegeben hat.Als nächstest erstellt er eine Testsimulation, da die Vocabeln bereits eingegeben sind, wählt er diese aus, welche zur Simulation kommen. Weiteres gibt
er den Prozentsatz für eine Positive Note an und die Anzahl der Punkte pro richtigem
Vocabel.Der Creator erstellt wieder 2 Dateien, diese sind wiederum in einem Unterordner
im Ordner "FILE" welche den Namen der Simulation enthält.Diese beiden Ordner packt er (ich hab vor dies sogar automatisch machen zu lassen,
aber vorübergehend muss es manuel geschehen) in eine .rar und gibt sie an die
Schüler weiter.Der Schüler entpackt (wird ebenfalls ab 2.0 nicht mehr nötig sein (also, ist halt
so geplant) diese .rar und kopiert die beiden enthaltenen Ordner im Install-Ordner enthaltenen "data" ordner. In diesem gibt es den Ordner "temp". Nun startet er LearnEasy, und wählt: "Daten zum Programm hinzufügen"
Dann gibt er den Namen der Simulation an (gleich dem Ordnername). LearnEasy öffnet
die darin enthaltene .ini und liest aus welchem Bereich es angehört. Daraufhin
kopiert LearnEasy den Ordner und die enthaltenen Dateien in den entsprechenden
Bereich und legt den namen der .ini (inkl. Pfad) in der flux.ini ab.Das gleiche mit dem Vocabeltraining.
Daraufhin wählt der Schüler: "Aufgabenbereich"
Darin wählt er: "Vocabeltraining"
Darin wählt er das Vocabeltraining des Professors und arbeitet es durch.Beim nächsten Programmstart (selbst bei Absturz, da die Dateien zwischengespeichert
werden), muss er lediglich die Aufgabe wählen und abarbeiten. (die vorgehensweise
ist, da es noch eine Consolenanwendung ist, ziemlich unschön, wird später
geändert).[edit] da sich vocabeln oder solch Schulstoff nicht so oft ändert, macht der Prof
diese Prozedur so gut wie nur ein mal alle 2 jahre durch. Der Professor muss
lediglich die Dateien weitergeben.
Das wäre jetzt ein Beispiel für ein Vocabeltraining&Simulation gewesen.
-
äm die Benotung bzw die punkte ändern sich alle 100 Jahre mal und du willst das der prof sie bei jedem Test neu fest legt ?
las ihn das einmal bei Programm Start festlegen
gib ihm die Möglichkeit unterschiedliche Benotung´s Schemen anzulegenwen er den Test erstellt frage nur noch ab
Benotung ja/nein/neues Schema
welches Schema.Schema 1
10% ist eine 1 20% ist eine 2 usw.
Schema 2 Leistungs kurs bla bla bal
5% 1 usw.da sich vocabeln oder solch Schulstoff nicht so oft ändert, macht der Prof diese Prozedur so gut wie nur ein mal alle 2 jahre durch. Der Professor muss lediglich die Dateien weitergeben.
mach selber mit dem Programm mal 20 bis 30 Tests und beseitige das was dich dann am meisten nervt.
Im Allgemeinen würde ich den Arbeitsaufwand des Lehrer/Profs so weit wie möglich reduzieren.
-
dass is ne gute idee =b
nun ja, so wie es jetzt bei uns in österreich ist, dass gerade das Schulsystem
von Grundauf umgestellt wird (neuer Lehrplan, Zentralmatura, etc.) und an den
Unis so oder sich alles immer und immer wieder ändert weil sich die oberschlauen
nicht gar so einig sind (vorab, ich meine mit den "oberschlauen" die politiker,
lasst mal ein paar fähige Studenten hin und die entwickeln ein Schulsystem dass
mind. 1000 jahre lang beständig sein kann), wäre es sicherlich ne gute idee, die
schemas zu speichern.ach ja, im moment habe ich den inhalt der dateien mit einem eigens geschriebenen
codier/decodier-algorithmus codiert, doch solche codierungen, vorab es eine von
mir selber kreierte ist (kann ja nich sicher sein ^^), sind leicht zu knacken.Könnt ihr mir vieleicht was zu verschlüsselung liefern? tutorials bzw. seiten die
mir nen einblick geben? mir ist es lieber, dass ich gute seiten von erfahrenen
Programmieren erhalte, als dass ich eine nullachtfünfzehn seite von google nehme
die als erstes ausgespuckt wird.
-
also Code Prinzip würde ich dann mal das hier nehmen
http://www.lyrikschadchen.de/assets/images/DSC01232_Codierscheibe_romisch.png
das teil in der Mitte kann man drehendie Buchstaben auf der Inneren Scheibe würde ich aber individuell Gestalten
zb würde A2 b4 e5 h6 <-- den kann man übrigens zufällig beim erstellen generieren
wen du immer nur aaaaaaaa codierst
würde das so aus schauen (aber nur mit dieser Scheibe ^^A2b4e5h6cdefcdef
und wen du es kompliziert willst machst du bei jeder 3 stelle ein Zufalls generiertes Zeichen
A2b4e5h6cdehfcdrefcwbastle jetzt noch zahlen dazwischen jeden Buchstaben
a2b4e5h6c1d3e4h7f5c6d4r5e7f3c8w9 <-- wer daraus wieder aaaaaaaa schlissen kann gz
klar wen man das Prinzip kennt ist es leicht aber des kennt ja keiner (nun das halbe Forum)viel spass beim schreiben
-
nun ja, das prinzip kann man ja dann noch verfeinern...
danke...