I can't say since I haven't taken it :-)
From talking to former students and faculty, I really don't think that 559 is that much harder than the harder upper level CS classes like 552. Some students think its harder because it requires both math and programming (most hard CS classes have lots of one or the other, few have both).
See also ShouldYouBeHere.
One reason that the class is more work for lots of students: they like it so much that they put extra effort into it. You should know that this isn't required. You can get an A without doing insane projects. Some students do insane projects (see RocketCoaster), but this was really insane.
Yes.
See The C++ for 559 Page.
But really because we need to be able to provide support for the tools that students use for their projects, and right now, we have only done that for C++.
Yes, Java has (seemingly) evolved to the point where it would be possible to do all of the class projects. In the future, we might allow students to work in Java. Come back next year to find out.
But its not that Java isn't suitable. Its just that we don't have the infrastructure in place to support students doing graphics projects in it.
Technically, the requirement is that your code compile and runs on the Storm computers. (since we need to be able to look at what you've done)
So, if you can make gcc work on the Storm computers, then you could try to use that. We won't be able to help you with it. And I cannot promise that the sample code and libraries we provide will work either.
I don't think Visual Studio is that bad. In fact, if you use Workspace Whiz, I actually think its a pretty nice programming environment.
To be honest, its the best of a bad lot. While it leaves a bunch out, what it does cover, it does in a pretty nice way. All of the other books I've seen, I like less. The original version covered even less!
While my name is on the cover, the amount I make on it is so small its not worth mentioning.
For an out of date (2001) rant on the subject see http://www.cs.wisc.edu/graphics/Courses/559-f2001/book-rant.htm
The Targa (TGA) image format is a really simple one. We use it because we were able to provide a simple library for reading and writing the format.
The LibTarga library has the advantage that it is easy. Our experience is that every other image library we've tried has been harder for 559 students.
LibTarga is not perfect - but it is good enough. Especially since, for the purposes of 559, we define a "valid TGA image" to be the set of images that LibTarga can read.
We cannot provide support for any other image I/O library.
No. You can use any windowing toolkit that allows you to compile and run your programs on the Storm computers.
We will only provide support for FlTk. If you choose another library, you're on your own.
FlTk was chosen for 559 a ways back (1999). At the time, it was the only toolkit that met our needs. However, I would probably make the same choice today.
Here are the arguments for FlTk:
FlTk's problems aren't too big a concern for 559:
So, we strongly recommend that you use FlTk for CS559.