CodeWalrus

Development => Calculators => Calc Projects, Programming & Tutorials => Topic started by: p4nix on November 11, 2015, 03:29:00 PM

Title: Vocab Trainer
Post by: p4nix on November 11, 2015, 03:29:00 PM
Hi!

Please note that I will release nothing at the moment, although I have my latin vocab trainer already running on my calculator.
So the idea is obviously to learn for vocab for tests and exams. The problem is, that it is hard to get up with a good way - and my current program is only succesful because you only have to learn latin in one direction.

That's why I want to hear your advice - I guess those who are still in school will be thankful. My current approach is like this:
2 string arrays for german (insert your native language) and for latin (insert the language you want) words.

Then, it'll pick a pseudo-random latin word (because we only have to translate it latin -> german), and then the german word which belongs to it's latin counterpart. Also, it will pick out some other (currently 5) random german words and you have to choose the right one.

To explain better:

string latin[0] = "latinwordnumber1";
string latin[1] = "latinwordnumber2";
string latin[2] = "latinwordnumber3";

string german[0] = "germanwordnumber1";
string german[1] = "germanwordnumber2";
string german[2] = "germanwordnumber3";

// Super-Random-Generator-Searching-For-Words-You-Dont-Like-By-Counting-Words-You-Have-Done-Right-And-Choosing-The-Ones-You-Dont- //Like
random(); // wow, we got a 1 here, so output:
OUTPUT(latin[1]); // That's "latinwordnumber2"

// then output the right german word and some other false, of course randomly (for example not the right word being the first always)
OUTPUTRIGHTWORD(german[1]);
OUTPUTOTHERWRONGWORDS();

//then check for input, find out if he pressed the right word, if not, say him the right solution, and if right, add 1 point for that word
JUDGE();


I hope you understand it by now, I am not the best explainer, especially since english is not my native language.

The problem: by now, it's not omnidirectional - that would be quite easy to fix.
Another thing is that you can guess the meaning of the word - especially if the other wrong german words are for example all verbs while you know that the latin word can't be a verb.
Also, I have to come over memory problems, since sometimes we poor guys have to learn a lot of vocab. I have ideas for casio calculators though.

The solution: give me advice. Do you guys need such a program? I will code it in C btw, since that's a portable language and because I have a fx9860 casio and not a TI. I will try to keep the code as portable as possible, but it's the first time I try to code portable (I have to learn that).

I will also post a link to github of my current hacky code once I am at home.

p4nix

EDIT:
https://github.com/p4nix/vocabtrainer-hacky
Title: Re: Vocab Trainer
Post by: alexgt on November 11, 2015, 11:14:52 PM
Sounds like a good idea :) I would use it if it were spanish to english and visa versa but it soulds great for the stuff you have to learn ;). Although I do not really understand how it works it sounds like a great idea!!
Title: Re: Vocab Trainer
Post by: Dream of Omnimaga on November 12, 2015, 07:55:11 AM
Unfortunately, I still don't get what you mean even after the 2nd explanation. Is it meant to be a game where you are shown a Latin word then you have to pick the right German word in choice answers? Perhaps someone could help explaining.
Title: Re: Vocab Trainer
Post by: p4nix on November 12, 2015, 11:45:42 AM
Think of a quiz show. You get a latin word, and some other words in the language you have to translate to. One of these words is right, and you have to pick it.
And to realize that, you have a kind of pool of latin words, and a pool of german words. For better learning results it is also more likely to choose latin words you didn't answered correctly yet.
I wrote my latin vocab test today - and already used my calculator program for learning. I knew anything I had to know (vocab-wise) and I just learned like 20min. That's it for me. But I want to make this usable for others by:
- portable code
- an editor to input the words 'you have to know' without recompiling
- maybe some other modes for learning, which are more funny then a quiz or more challenging

but in order to realize this, it would be kind if you give me some ideas. And maybe also don'ts for the portable code: I don't know much of TI but on my casio I only have 8kb of RAM (afaik) but I can load language packs from flash.

If you might have strange learning methods which could be implented, tell me as well!

I hope you understand my ideas now, but it's hard for me to explain since I'm not native english :P
Title: Re: Vocab Trainer
Post by: alexgt on November 12, 2015, 10:39:55 PM
Ohh, I see it is much clearer now :)
Title: Re: Vocab Trainer
Post by: Dream of Omnimaga on November 13, 2015, 08:45:52 AM
Quote from: p4nix on November 12, 2015, 11:45:42 AM
Think of a quiz show. You get a latin word, and some other words in the language you have to translate to. One of these words is right, and you have to pick it.
And to realize that, you have a kind of pool of latin words, and a pool of german words. For better learning results it is also more likely to choose latin words you didn't answered correctly yet.
I wrote my latin vocab test today - and already used my calculator program for learning. I knew anything I had to know (vocab-wise) and I just learned like 20min. That's it for me. But I want to make this usable for others by:
- portable code
- an editor to input the words 'you have to know' without recompiling
- maybe some other modes for learning, which are more funny then a quiz or more challenging

but in order to realize this, it would be kind if you give me some ideas. And maybe also don'ts for the portable code: I don't know much of TI but on my casio I only have 8kb of RAM (afaik) but I can load language packs from flash.

If you might have strange learning methods which could be implented, tell me as well!

I hope you understand my ideas now, but it's hard for me to explain since I'm not native english :P
That is clearer now. ALso TI calcs had a 8 KB limit as well but there are tricks and tools to circumvent it. Feel free to start a new topic for help if you need specific one for porting Casio programs to TI or if you need TI help in particular.

Also I like the idea of an educational calculator game.
Title: Re: Vocab Trainer
Post by: p4nix on November 13, 2015, 05:57:19 PM
Quote from: DJ Omnimaga on November 13, 2015, 08:45:52 AM
That is clearer now. ALso TI calcs had a 8 KB limit as well but there are tricks and tools to circumvent it. Feel free to start a new topic for help if you need specific one for porting Casio programs to TI or if you need TI help in particular.

Also I like the idea of an educational calculator game.
Haha, I don't like the idea of learning though :P

I'm not only talking about TI, I'm talking about any device. At least, any which has a screen big enough for learning, a keyboard for input and which can be programmed in C (so basically calculators, computers, maybe even phones, Gameboy and anything else - if you want it and if you contribute). And it has to have enough RAM.

Well, I still need some answers to this questions:
   - what screen sizes should I support?
   - custom characters (non latin fonts, for russian?) needed? if so, any ideas?
   - max. file size? chunk file loading? which file format would you think is best?
   - max. number of characters per word?
   - any ideas for cool learning modes?

I will definitely improve my latin-trainer. But if you can get something from this, is up to you. Because if you guys don't say what you might need, I will just do what I need. So please help me and answer my questions :P

Thanks a lot in advance!
Title: Re: Vocab Trainer
Post by: alexgt on November 13, 2015, 06:05:48 PM
I don't really have any input on the other stuff but for the Prime you could use the touch screen to drag words to their counterparts or to their definition. I could do that if you wan't but progress would be slow because of other projects :)
Title: Re: Vocab Trainer
Post by: p4nix on November 13, 2015, 06:18:27 PM
That's a cool idea, but I guess it's a little bit too special to add it because I want to keep versions for every platform pretty much identical. Does the Prime support C programming in any form?

I've also got some more ideas:
   -> support different learning modes
        --> classic quiz option
        --> (???)

   -> global option menu which affects all of them:
        --> set language pack from there
        --> in which direction to learn? (A->B, B->A, A<->B)
        --> store progress?
        --> appearance?
        --> (???)

Also I want anyone to look over my code, because this is my first project where I don't have an excuse for being hacky. I don't want to get a bad style, and since I'm still a n00b it's hopefully not yet too late...
Title: Re: Vocab Trainer
Post by: alexgt on November 13, 2015, 06:22:32 PM
Like the ideas :) but no the Prime doesn't support C <_< yet

I can't really help with looking at your code as I don't know any C but just don't make bad habits like I did by not putting end parenthesis in Ti-Basic :P
Title: Re: Vocab Trainer
Post by: Dream of Omnimaga on November 15, 2015, 06:07:31 AM
Quote from: p4nix on November 13, 2015, 05:57:19 PM
   - what screen sizes should I support?
   - custom characters (non latin fonts, for russian?) needed? if so, any ideas?
   - max. file size? chunk file loading? which file format would you think is best?
   - max. number of characters per word?
   - any ideas for cool learning modes?

1) 96x64 (since the 84+ is still among the most popular calcs)
2) Not sure about custom chars, but it depends of the languages involved. For French and Spanish, supporting accents would be a must, while for German, supporting that one extra B-like character would be required.
3) Not sure either since it depends of the platform, but add-in/app for calcs and something compatible with Windows for computers
4) Variable based on difficulty settings?
5) Not so far D:. Maybe a time limit option?