On the other hand, WWTBAM questions have a limited answer pool whereas Jeopardy! questions are generally open-ended. Also, much of the information that can help you in Jeopardy! questions are concealed (often with some sort of joke) in the category and clue, which would be hard to parse. Oftentimes an entirely-right answer might just not fit a category, and the category is phrased such that it is not horribly straightforward literally.
With some google-fu, I bet it would be very possible to make a bot that would do well on WWTBAM with no real AI because of the limited response pool.
Silly computer scientists and your overloaded acronyms.
I'm afraid I don't entirely see where you're coming from. LaTeX is not showing its age in lack of version control (indeed, many recently-developed software packages have none), it's showing its philosophy. LaTeX has plain text source files, not some special format, which has many advantages and disadvantages. These files have to be managed externally, such as by subversion, as you note. Both LaTeX and subversion are nerd-friendly and have some learning curve issues.
LyX...I do not think is a good option. As someone gets deep into it, they are going to hit advanced issues as they want to do various things. Howeverâ"unlike straight LaTeX usersâ"they have no experience navigating LaTeX syntax to enter stuff. I suspect that people too early hit problems with LyX, and this has been what I've discovered helping people with their documents.
If the learning curve isn't worth it for your application, the other option is Word, I suspect.
I hear that Word now has a good deal of version control features (should be lots about them in this thread and plenty of other places), maybe not quite up to what you want, but up to some level. More importantly, you say this is academic writing and if you're going to submit stuff to conferences or journals, most require Word or LaTeX, and in my field at least all journals and many conferences allow either.
Something more obscure isn't going to be worth it. I'd really want to go with LaTeX because, well, I'm a big fan, but if you don't, using System X that no one's ever heard of isn't a great alternative.
The class is about problem solving, not problem creating.
Seriously though, spreadsheet programs make it too easy to start punching crap in, and makes it too easy to write something that you haven't thought through. If you realise there's a better way later, it's hard to refactor compared to a traditional programming language.
Python seems like a good enough idea to me (if the teacher is proficient). It is high-level enough to focus on the problem solving element, you don't typically go through a separate compilation and execution procedure, and can even run the interactive interpreter and play with stuff. There are libraries so that students can do all sorts of things they can imagine, and especially enthusiastic students can do *really* cool stuff.
OP, if the teacher has few requirements on the course, break it down into several-week projects that solve different kinds of problems using the same language. Do some screenscraping with BeautifulSoup. Do something mathy at their level with math, numpy, or sympy. Do something cool with PyGame. The key part is the same in all of these--breaking down a problem into its various essential chunks.
Incidentally, there's already several funny parody videos involving the "I'm Linux" guy that have been circulating for a good while now. YouTube it!
Python makes sense to a degree, but its trademark The Whitespace Thing might prove especially frustrating, as adolescents tend to pay little attention to subtlety, so I could imagine the somewhat-subtlety of indentation could be problematic. Maybe I'm wrong; this is untested.
In general, I like the idea of using a clean, interpreted language like python. If a compiled language is used, the interface used should make that automatic. Still, playing with an interactive session might be invaluable.
I guess that doesn't really conclude anything.
Hmm. All three of those work fine in Python. The meaning of x, y, and z would affect how I stored my variables, but I would probably use something like your first option (though I would probably add spaces around the operator). I would also use something like that in C and maybe even PHP. I would only use your most pythonic solution if x, y, and z should be thought of together in some way. If really wanted to save space, I would go with the top solution of x, y, and z don't relate in some way.
Shorter does not mean better. x,y,z = 1,2,3 does not make source code clearer, as you defend meaningful whitespace as doing.
"The chain which can be yanked is not the eternal chain." -- G. Fitch