Ok, i've done a bit of programming but nothing in OO codes. Here is my problem.
I am a teacher and i want to write a code to give students maths questions and then automatically check the answer. Then i want the app to either email me (over a lan), or generate an encrypted file so that the students can email me their result. Obv, i want the numbers to be different for each student but this is a trivial programming task.
My question is, is Java a suitable language to do this in? How long would it take me to learn enough about Java to do this?
yes, you can do that with Java, but the topics covered for the task aren't easy to handle. So, if you have a year or two, give or take a few months, you could do it.
With all due respect to PhHein, I doubt it would take a year or two. That being said, it wouldn't be easy unless you know the language well.
It would probably be better to go with a client/server application, students get the client you get the server. Make the questions serializable objects that get sent to the server for marking and storage where the students can't get them.
He has no Java experience, so I'd be surprised if he'd be able to get the networking, calculus and mailing stuff going any faster.
I'd say hed need at least half a year for learning Java well enough, keeping in mind that he does it in his spare time.
Anyway we both can agree that it will take long without definig long in this context.
Definatly, it all depends on how quickly he can pick up on OO concepts. He has some programming experience though so it shouldn't be to hard. It certainly wouldn't be a overnight process.
Originally Posted by PhHein
Yes Java is a real "complete" programming language, and you can use it to do just about anything, short of device drivers.
Yeah, I'd guess it'd take maybe 2 months for a competent high-school maths teach to work through the J2EE tutorials... two hours a night, and 4 hours per weekend.
> [program] to give students maths questions and then automatically check the answer.
Easy, once you know how.
> Then i want the app to either email me (over a lan)
> or generate an encrypted file. so that the students can email me their result.
Hmmm... define encrypted... I'm guessing basic encryption is perfectly adequate for the requirements... you should be able to rip what you need from straight off the net... (Probably) easy.
> Obviously, i want the numbers to be different for each student but this is a trivial programming task.
I've got no idea what you mean by that, but I suppose you do, as they're your requirements.
I'm guessing two months to get yourself a grounding... and another month to actually write and test the project.
EDIT: And by the way, I think a simple web-app is the way to go for those requirements... A competent programmer (with the framework in place) could knock something usable up in a day.
honestly, this program wouldn't require much advanced knowledge. i highly doubt that any networking and especially calculus will be required for this. the student program can be just a test that emails something with answers to the professor. the professor's program has answers and checks them against that of the student. or if the professor prefers the student's version to check for answers, then leave the checking in the student program.
> honestly, this program wouldn't require much advanced knowledge.
True... but it takes even intelligent motivated folks a fair amount of time to learn the basics, especially fitting it in around the rest of there lives.
Please don't forget that a successful first session produces:
Thanks for the responses guys.
Corlettk - It's university level maths so i have to be sure that they aren't copying each other (actually, they always copy each other but that's a diff discussion). Hence, i work out the generic answer (in terms of a, b ,c etc) and give them all different numbers (instead of a, b, c) so that they all get different answers (this bit is i can already do in fortran & VB).
Web-apps and client/server apps have been suggested. Can someone give me some examples please.
Ah, you're best searching this out. There is lots of info on this online including the Sun tutorials, this and other fora.